使用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

你可能感兴趣的:(android)