0:前言:android-maven-plugin (原名maven-android-plugin)
首要参考文档:
引子:
我想用$sudo apt-get install maven来安装但是报下面的错误:
maven:
依赖: libaether-java 但是此软件包将不会被安装
依赖: libplexus-containers1.5-java 但是此软件包将不会被安装
依赖: libsisu-ioc-java 但是此软件包将不会被安装 所以我决定手动去下载来安装了。看到了不错的英文原文文档,然后决定翻译,
当然是是简单的翻译。
(第一篇)开始
一: 准备
1.JDK1.6+
2.Android SDK(r17+,最新的会得到最好的支持)
3.Maven3.0.3+,见http://maven.apache.org/download.html
(3.1)设置ANDROID_HOME环境变量为Android SDK的目录,同时将ANDROID_HOME/tools和ANDROID_HOME/platform-tools添加进环境变量
(3.2)mac os用户:需要在/etc/launchd.conf文件才能有用,而不是.bashrc或者其它
=======插入 maven 安装 及环境设置=========================
(以ubuntu为例)
下载之后将apache-maven-3.0.4-bin-tar.gz解压到~/bin目录中。
然后:
(1)先设置一个链接:
banxi1988@banxi:~$ cd bin/
banxi1988@banxi:~/bin$ ls
aapt apache-maven-3.0.4 apktool qqgame tomcat7
adb apache-maven-3.0.4-bin.tar.gz apktool.jar repo
banxi1988@banxi:~/bin$ ln -s apache-maven-3.0.4 maven
banxi1988@banxi:~/bin$ (2)将maven环境变量设置写入.bashrc中。
写好后配置如下:
# add by banxi for java maven android development
105 export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386
106 export ANDROID_HOME=~/android/android-sdk-linux_x86
107 export M2_HOME=~/bin/maven
108 PATH=${PATH}:${M2_HOME}/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools
109 export PATH 然后source下.bashrc
$source .bashrc
=========== END android maven环境配置=================================
二:推荐:测试你的开发环境
测试开发环境,你可以下载运行以下示例,见:https://code.google.com/p/maven-android-plugin/wiki/Samples
=========START 测试示例说明 ====================
示例文件在:https://github.com/jayway/maven-android-plugin-samples/zipball/stable
然后,下载后,可以单独运行其中的一个子项目。
因为是首次运行maven相关环境,所以maven一开始会下载很多相关的东西 ,插件之类:
morseflash示例项目,包含了大部分所需要的测试特性,所以我运行了:
$banxi1988@banxi :~/work/tmp/jayway-maven-android-plugin-samples/morseflash$ mvn install
=======================================
三 :以简单的方式创建Android应用(apk)
在maven中,最简单的创建android应用的方式就是使用这些Maven Archetypes。
https://github.com/akquinet/android-archetypes/wiki
目前我在eclipse中手动添加archetypes时,发现仓库中的最新的archetypes的版本号是1.0.8 ,没有1.0.9的。
也许现在有了。
四:手动创建Android应用程序(apk)
下面的手动创建Android项目的步骤:
2.在项目中创建一个pom.xml文件,可以使用示例项目helloflashlight中的pom.xml作为模板。
做些适当的修改:
(a) 将,和改为你自己项目的。(参考,Maven-命名约定指南)
(b)为项目设置一个标签,例如0.1.0-snapshot
(c)更新你所依赖的所低的android平台的版本:
com.google.android
android
1.5_r4
provided
目前可用的有1.5_r3,1.5_r4,1.6_r2,2.1_r1,2.1.2 2.2.1,2.3.1,2.3.3,4.0.1.2,4.1.1.4 共10个可用版本号。
在android-maven-plugin的配置中,为设置与上面android版本号对应的api平台例如:
7对应2.1_r1。
3.对于使用android-maven-plugin来说,你不需要下面的文件或者目录,你可以删除它们:
$rm -r bin build.xml build.properties libs
4.构建apk,你只需:
$mvn clean install
5.发布apk到设置:
$ mvn android:deploy
注意:src/test/java目录下代码只在本地测试运行而不会在android设备中。
确保Android Maven goal是jar-no-fork,就是只有测试也这样做。
五:在设备中运行instrumentation测试
参考测试示例的apidemos-15-instrumentationstest项目,你可以创建一个类似的项目。
将你的"test"目录改为如"myproject-instrumentationtest",然后使用上面的apidemos-15-instrumentationtest目录中的pom.xml作为模板。
更多的文档参见:
https://code.google.com/p/maven-android-plugin/wiki/Documentation