在 IDEA 下开发 android maven 项目

背景:

IDEA 默认支持 android 开发,但非maven项目,本人想进一步引入 maven 的管理。

优势:

1) 因为是maven项目,使用 maven-android-plugin 插件,具备对 android 项目的完美支持;

2) 可以进行相对复杂的多模块/ 平行模块的项目开发。

3) 能使用其他 maven 插件进行功能拓展,如:dependency management, reporting, code analysis, findbus 等。

不足:

1) 无法像在 eclipse IDE 下进行可视化组件开发。

2) 配置文件多需要手动更改,对于不熟悉 maven 规范的,可能比较麻烦。


开发环境:

JDK 1.6

Maven 3.0.3

IDEA 10.x


主要步骤:

步骤1, 根据 android 官网提示,配置 android 开发环境,直到能在 eclipse 上运行简单的 helloAndroid 项目。

步骤2, 根据 maven-android-plugin 官网提示,配置 maven android 开发环境,能在 IDEA 上运行 android 项目。


说明:

步骤1 请参照官网(http://developer.android.com/),直到能运行模拟器,并看到 hello。

目的是为了检验 android sdk 和 ADT(Android Developer Tools) 已配置正确,步骤2 中将不会被使用这个 helloAndroid 项目。

此外,maven 的安装和配置请参照maven官网。

请在进行完步骤1 之后,再看以下的配置说明。


以下是主要介绍步骤2:

详细步骤:

1. 确认环境变量中,设置 ANDROID_HOME,指向 android sdk 所在文件夹,即其中应包含 add-ons, platforms, tools 等文件夹。

2.https://github.com/mosabua/maven-android-sdk-deployer,点击下载 maven-android-sdk-deployer 源码,解压缩到本地任意路径。

这是一个maven项目,执行 mvn clean install 直至 Success,会把 android 开发相关的所有 jar 包安装到本地的 mvn repository 中。



3. 打开 maven 配置文件 settings.xml (默认路径:C:Documents and Settings{user}.m2settings.xml) ,

确认 pluginGroups 节点添加:

<pluginGroups>
    <pluginGroup>com.jayway.maven.plugins.android.generation2</pluginGroup>
</pluginGroups>

4. 在本地建立 maven 项目路径,比如D:/maven

cd D:/maven

执行 mvn archetype:generate -DarchetypeArtifactId=android-quickstart -DarchetypeGroupId=de.akquinet.android.archetypes -DarchetypeVersion=1.0.6 -DgroupId=com.yourcompany.android -DartifactId=android-quickstart

中间等待输入的话,直接打回车确认即可,会在 D:mavenandroid-quickstart 下建立一个简单的 android maven项目框架。

执行 mvn clean install 直至success。



5. 新建一个 avd(模拟器), 用来运行上面的 android 项目

name: helloAvd;

target: 注意和 pom.xml 中的 android 版本,和platform 版本一致;

skin: 我选择了 HVGA;


说明:

如果改avd, 可以通过 eclipse 中的 android sdk and ADT manager 新建或修改, 或者直接运行 android-sdk 目录下的SDK Manager.exe。

如果改 maven 项目的 android 版本,需要同时修改 pom.xml, default.properties等相关配置文件。并且清查 android jar 版本是否支持,不支持需要手动安装,手动安装jar包不在本文范围。


6. 打开 pom.xml,在 maven-android-plugin 的 configuration 中添加步骤1 中的avd 名称。

<configuration>
    ...
    <emulator>
        <avd>helloAvd</avd>
    </emulator>
    ...
</configuration>

7. 执行 maven clean install android:emulator-start,启动模拟器,直至欢迎界面。(需耐心等待一段时间)


8.执行 mvn android:deploy,将项目deploy到模拟器中,直至sucess.

然后在应用列表中,点击打开 android-quickstart,看到 hello 字符串。



备注:关于步骤2,有兴趣的可直接参照官网说明 (http://www.sonatype.com/books/mvnref-book/reference/android-dev.html) 了解更多。