- Maven的版本要求3.1.1
- 设置ANDROID_HOME环境变量:ANDROID_HOME=C:\Android\android-sdk-windows
- 在Path环境变量里面加入:%ANDROID_HOME%\tools; %ANDROID_HOME%\platform-tools
- 打开SDK Manager, 要完整安装android的版本,不然会报错。
- 下载 Maven Android SDK Deployer
- cd maven-android-sdk-deployer-master
默认运行mvn clean install会安装全部平台的apis,android 1.5, android 2,.....
所以如果你没有完全下载这些apis会报错。
因为我在android 4.0下开发,所以可以运行
mvn clean install -P 4.0
这时候需要慢慢等。。。。
更多信息可以看maven android sdk deployer的github主页。 - eclipse安装m2e android插件,直接在eclipse marketplace搜索安装。
插件主页:http://rgladwell.github.io/m2e-android/
创建项目:
一切准备就绪了,可以新建一个maven的android项目。
- 新建一个Maven Project (File -> New -> Project... then select Maven -> Maven Project).
- 在 Select Archetype 界面单击 Add Archetype...
- 在 Archetype Group Id 输入 "de.akquinet.android.archetypes"
- 在 Archetype Artifact Id 输入 "android-quickstart".
- 在 Archetype Version 输入 "1.0.11" 接着 next
propertyies:
platform: 14 (default 16)
emulator: not-specified
android-plugin-version 3.8.2 (defalut 3.6.0但会报错,没找到原因)
- Finish.
工程建好了,但是缺少了src/test/java文件夹,去到工程目录,新建这个文件夹。然后refresh项目就行了。
项目结构:
额。。。。pom.xml文件有错误,是因为我设置了
android-plugin-version 3.8.2。
Plugin execution not covered by lifecycle configuration:
com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.8.2:consume-aar (execution:
default-consume-aar, phase: compile)
我上网找了一下都没有找到方法,但是不影响项目编译。。。。。
运行项目:
打包apk, 发布和运行项目:
mvn clean install android:deploy android:run
Eclipse Run Configurations设置
Run.........
程序截图
遇到错误:
1、AetherClassNotFound。android-maven-plugin请使用3.8.2。
那个x的解决方法
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<versionRange>[3.6.0,)</versionRange>
<goals>
<goal>generate-sources</goal>
<goal>proguard</goal>
<goal>emma</goal>
<goal>dex</goal>
<goal>apk</goal>
<goal>internal-pre-integration-test</goal>
<goal>internal-integration-test</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>