使用Maven编译Android下i-jetty的一些问题
假设已安装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、碰到的问题
1
2 |
Cannot find required method
java.lang.NoSuchMethodException: com.android.sdklib.build.ApkBuilder.addNativeLibraries(java.io.File, java.lang.String) |
这个主要是android sdk版本比较新,而maven-android-plugin版本较旧引起。
解决办法:
1
2 3 |
<groupid>com.jayway.maven.plugins.android.generation2</groupid>
<artifactid>maven-android-plugin</artifactid> <version>2.9.0-beta-5</version> |
在pom.xml中找到上面的位置,把maven-android-plugin改为android-maven-plugin,2.9.0-beta-5改为3.0.0即可。
在执行dx.jar时,报以下错误:
1
|
java.lang.OutOfMemoryError: Java heap space
|
很明显,android sdk中的dex转换需要更多内存。
解决办法:
1
2 3 4 5 6 |
<dex>
<jvmarguments> <jvmargument>-Xms256m</jvmargument> <jvmargument>-Xmx512m</jvmargument> </jvmarguments> </dex> |
在pom.xml中配置maven-android-plugin的/下添加以上代码。
具体看这里:http://maven-android-plugin-m2site.googlecode.com/svn/dex-mojo.html#dex
下一篇: Cisco认证考试教材题库合集(20套)