环境配置:
假设已安装eclipse、adt及android SDK,除了这些还必须做以下配置:
1、m2eclipse
eclipse插件地址:http://m2eclipse.sonatype.org/sites/m2e
如不知,请自行搜索怎样在线安装Eclipse插件
2、maven
其实,m2eclipse已内置maven。若想使用外部的maven,需使用下面的地址来下载http://maven.apache.org/
下载并解压完成后,需在Eclipse->window->preferences->Maven->Installations->Add中添加并使用Maven安装路径。
3、配置环境变量
Window: %MAVEN_HOME% %ANDROID_HOME%
Linux: $MAVEN_HOME $ANDROID_HOME
若不能正常运行,请尝试在PATH变量中添加%MAVEN_HOME%\bin和%ANDROID_HOME%\tools
4、i-jetty下载及导入Eclipse
源码地址:http://code.google.com/p/i-jetty/downloads/list
使用Import->Maven->Existing Maven Projects来导入i-jetty的Maven项目
5、Eclipse下编译Maven项目ijetty-parent
Run as -> maven clean -> maven install 即可。
6、碰到的问题
这个主要是android sdk版本比较新,而maven-android-plugin版本较旧引起。
解决办法:
在pom.xml中找到上面的位置,把maven-android-plugin改为android-maven-plugin,2.9.0-beta-5改为3.0.0即可。
在执行dx.jar时,报以下错误:
很明显,android sdk中的dex转换需要更多内存。
解决办法:
在pom.xml中配置maven-android-plugin的 /下添加以上代码。
具体看这里:http://maven-android-plugin-m2site.googlecode.com/svn/dex-mojo.html#dex
错误1:Failed to execute goal com.jayway.maven.plugins.android.generation2:maven-android-plugin:2.9.0-beta-5:generate-sources (default-generate-sources) on project i-jetty: MojoExecutionException: ANDROID-040-001: Could not execute: Command = cmd.exe /X /C "E:\android-sdk-windows\platforms\android-4\tools\aapt.exe package -m -J E:\jetty3.1\i-jetty\i-jetty-ui\target\generated-sources\r -M E:\jetty3.1\i-jetty\i-jetty-ui\AndroidManifest.xml -S E:\jetty3.1\i-jetty\i-jetty-ui\res --auto-add-overlay -I E:\android-sdk-windows\platforms\android-4\android.jar", Result = 1 -> [Help 1]
解决办法:删除i-jetty-ui\res下的layout-xlarge-land文件就可以了。
http://124.16.139.131:24080/lxr/source/sdk/?v=android-4.0.4
错误2:Failed to execute goal com.jayway.maven.plugins.android.generation2:maven-android-plugin:2.9.0-beta-5:apk (default-apk) on project i-jetty: Execution default-apk of goal com.jayway.maven.plugins.android.generation2:maven-android-plugin:2.9.0-beta-5:apk failed: Could not find tool 'apkbuilder'. Please provide a proper Android SDK directory path as configuration parameter <sdk><path>...</path></sdk> in the plugin <configuration/>. As an alternative, you may add the parameter to commandline: -Dandroid.sdk.path=... or set environment variable ANDROID_HOME. -> [Help 1]
解决办法:
修改i-jetty\i-jetty-ui下的pom.xml文件
<groupid>com.jayway.maven.plugins.android.generation2</groupid> <artifactid>maven-android-plugin</artifactid> <version>2.9.0-beta-5</version>
(1)把maven-android-plugin修改为android-maven-plugin
(2)把2.9.0-beta-5修改为3.0.0
参考:
https://code.google.com/p/i-jetty/issues/detail?id=106
http://stackoverflow.com/questions/16620655/i-have-updated-android-sdk-to-rev-22-yesterday-and-there-is-no-apkbuilder-in-to
http://124.16.139.131:24080/lxr/source/sdk/?v=android-4.0.4