標籤:
1.用android tool 建立項目。
android create project \
--target <target_ID> \
--name <your_project_name> \
--path path/to/your/project \
--activity <your_activity_name> \
--package <your_package_namespace>
target is the "build target" for your application. It corresponds to an Android platform library (including any add-ons, such as Google APIs) that you would like to build your project against. To see a list of available targets and their corresponding IDs, execute: android list targets.
name is the name for your project. This is optional. If provided, this name will be used for your .apk filename when you build your application.
path is the location of your project directory. If the directory does not exist, it will be created for you.
activity is the name for your default Activity class. This class file will be created for you inside<path_to_your_project>/src/<your_package_namespace_path>/ . This will also be used for your .apk filename unless you provide a name.
package is the package namespace for your project, following the same rules as for packages in the Java programming language.
例如:建立一個 name:MyAndroidMavenApp; path:E:\app\myapp; activity: MainActivity package: com.example.mvnandroid 的android項目。
android create project
--target 1
--name MyAndroidMavenApp
--path E:\app\myapp
--activity MainActivity
--package com.example.mvnandroid
注意:前提已經在系統內容中配置android home 和 android tool
2.在項目根目錄中建立一個pom.xml檔案,
[html]
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.mvnandroid</groupId>
<artifactId>amvn_test</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>amvn_t</name>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.8.2</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<run>
<debug>true</debug>
</run>
<sdk>
<path>${env.ANDROID_HOME}</path>
<platform>10</platform>
</sdk>
<emulator>
<avd>emulator-5554_android</avd>
</emulator>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
</plugin>
</plugins>
</build>
</project>
3. 在命令中建立的項目生產了一些檔案, 在用android maven plugin 的時候, 有些檔案是不需要的。
rm -r bin build.xml build.properties libs
4.構建項目
到項目MyAndroidMavenApp 的根目錄:
mvn clean install
可能出現的錯誤:
1. Failed to execute goal on project amvn_test: Could not resolve dependencies for project com.example.mvnandroid:amvn_tes
droid:jar:4.1 in central (http://repo.maven.apache.org/maven2) ->
[html]
<span style="white-space:pre"> </span><dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1</version>
<scope>provided</scope>
</dependency>
原因:dependency中version = 4.1 太高了,沒有找到。 要修改。2.3.3是可以的
1.建立項目:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
命令執行完後你將看到maven產生了一個名為my-app的目錄,這個名字就是你在命令中指定的artifactId,進入該目錄,你將發現以下標準的項目結構:
2.Build 項目 mvn clean compile
1. 在命令列上 輸入 : cd my-app 斷行符號,進入到 項目路徑下
2. 再輸入 mvn package 斷行符號這時命令列將會列印出各種動作
//運行一個程式
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
3. 運行Maven工具
雖然很難列出一張非常全面的表,但在此可先列出最普通的預設的生命週期階段:
validate:驗證工程是否正確,所有需要的資源是否可用。
compile:編譯項目的原始碼。
test:使用合適的單元測試架構來測試已編譯的原始碼。這些測試不需要已打包和布署。
Package:把已編譯的代碼打包成可發布的格式,比如jar。
integration-test:如有需要,將包處理和發布到一個能夠進行整合測試的環境。
verify:運行所有檢查,驗證封裝是否有效且達到品質標準。
install:把包安裝在本地的repository中,可以被其他工程作為依賴來使用。
Deploy:在整合或者發布環境下執行,將最終版本的包拷貝到遠端repository,使得其他的開發人員或者工程可以共用。
clean:清除先前構建的artifacts(在maven中,把由項目產生的包都叫作artifact)。
site:為項目產生文檔網站。
mvn clean dependency:copy-dependencies package
這個命令將先清除項目,然後拷貝依賴,最後把項目打包,當然,在打包之前,會先執行此階段之前的階段.如compile,test等.
產生網站
mvn site
這個階段產生基於pom.xml配置的項目資訊。你可以在target/site目錄下看到產生的文檔。
4. 打包和運行 mvn clean package
將項目進行編譯、測試之後,下一個重要步驟就是打包(package)。POM中沒有指定打包類型,使用預設打包類型jar,我們可以簡單地執行命令 mvn clean package 進行打包。類似地,Maven會在打包之前執行編譯、測試等操作。這裡我們看到jar:jar任務負責打包,實際上就是jar外掛程式的jar目標將項目主代碼打包成一個名為hello-world-1.0-SNAPSHOT.jar的檔案,該檔案也位於target/輸出目錄中,它是根據artifact-version.jar規則進行命名的,如有需要,我們還可以使用finalName來自訂該檔案的名稱,這裡暫且不展開,本書後面會詳細解釋。
===========================================
mvn archetype:generate -DarchetypeArtifactId=android-quickstart -DarchetypeGroupId=de.akquinet.android.archetypes -DarchetypeVersion=1.0.8 -DgroupId=com.study.android -DartifactId=a1
命令執行
{% highlight xml %}
mvn clean package
打包,但不部署。
mvn clean install
打包,部署並運行。
mvn clean package android:redeploy android:run
這個命令通常用於手機上已經安裝了要部署的應用,但簽名不同,所以我們打包的同時使用redeploy命令將現有應用刪除並重新部署,最後使用run命令運行應用。
mvn android:redeploy android:run
不打包,將已產生的包重新部署並運行。
mvn android:deploy android:run
部署並運行已產生的包,與redeploy不同的是,deploy不會刪除已有部署和應用資料。
mvn clean install -Prelease,channel-91
打包簽名,的渠道為channel-91的apk
{% endhighlight %}
==================
so檔案處理:
libvooleglib.so
mvn install:install-file -DgroupId=com.voole.vooleglib -DartifactId=libvooleglib -Dversion=v1 -Dfile=D:\maven\bf\PlayProxyLib\libs\armeabi\libvooleglib.so -Dpackaging=so -DgeneratePom=true -Dclassifier=armeabi
libvooletoken.so
mvn install:install-file -DgroupId=com.voole.vooleglib -DartifactId=libvooletoken -Dversion=v1 -Dfile=D:\maven\bf\PlayProxyLib\libs\armeabi\libvooletoken.so -Dpackaging=so -DgeneratePom=true -Dclassifier=armeabi
GifView.jar
mvn install:install-file -DgroupId=com.voole.vooleglib -DartifactId=gifview -Dversion=1.0 -Dfile=D:\maven\bf\VooleBf1.0\libs\GifView.jar -Dpackaging=jar -DgeneratePom=true
commons-codec-1.4.jar
mvn install:install-file -DgroupId=com.voole.vooleglib -DartifactId=common-codec -Dversion=1.4 -Dfile=D:\maven\bf\VooleBf1.0\libs\commons-codec-1.4.jar -Dpackaging=jar -DgeneratePom=true
alipay.jar
mvn install:install-file -DgroupId=com.voole.vooleglib -DartifactId=alipay -Dversion=1.4 -Dfile=D:\maven\bf\VooleBf1.0\libs\alipay.jar -Dpackaging=jar -DgeneratePom=true
universal-image-loader-1.9.3.jar
mvn install:install-file -DgroupId=com.voole.vooleglib -DartifactId=universal-image-loader -Dversion=1.9.3 -Dfile=D:\maven\bf\VooleFrame\libs\universal-image-loader-1.9.3.jar -Dpackaging=jar -DgeneratePom=true
android-support-v4.jar
mvn install:install-file -DgroupId=com.voole.vooleglib -DartifactId=android-support-v4 -Dversion=1.7.0_65 -Dfile=D:\maven\bf\VooleFrame\libs\android-support-v4.jar -Dpackaging=jar -DgeneratePom=true
下載可供給打包測試的例子代碼 http://blog.csdn.net/forever_crying/article/details/8455626
下載 https://github.com/simpligility/maven-android-sdk-deployer地址
http://www.android100.org/html/201406/08/20945.html
https://code.google.com/p/maven-android-plugin/wiki/GettingStarted 學習地址
Maven 命令 建立 android項目