欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用Maven编译Android下i-jetty的一些问题

程序员文章站 2022-07-09 22:14:10
...

假设已安装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