您的位置:首页 > 编程语言 > Java开发

marshal的maven集成eclipse android总结

2012-02-21 15:23 357 查看
原帖地址:http://marshal.easymorse.com/archives/2736
经过不断的尝试,总结出一个maven项目在eclipse android环境下的集成办法。

集成的复杂性和一些问题的权衡

这个集成办法,最大的问题是比较复杂:

eclipse集成了android adt插件;
eclipse集成m2eclipse插件;
maven使用了android部署的插件——maven android plugin;
为了把maven和eclipse集成起来的eclipse插件——m2eclipse android plugin。

这些插件关联,可以认为是串联,如果出现问题,就会影响整个软件项目。结果就碰到问题了,见关注m2eclipse集成android的eclipse插件bug,这种bug较难解决,因为要解决问题,该插件(m2eclipse-android-plugin)作者要向上游一个一个插件的排查,学习和了解他们的东西。

我原打算等待bug修改后再向下进行,但是4天了,bug还没确定问题的原因。也许哪天m2eclipse升级了,问题自然得到解决。

也曾经打算用其他办法。因为android官方支持使用ant脚本自动构建,也尝试了使用ant+ivy+ivyde的方式实现maven类似的功能。

结果是,ivy和ivyde很好的解决了类库自动依赖问题。但只能在eclipse项目中解决问题,如果使用android的ant task打包APK,不能自动将依赖类库打入包内。因此放弃。

还是用maven的方式吧。

使用maven集成的一些要点

首先是安装和环境的配置:

eclipse项目集成maven,见为android项目集成maven
eclipse增加m2eclipse android integration插件,目的是集成maven和eclipse adt,见[2728],我一般也不用m2eclipse,因为不需要,但是这个m2eclipse android integration插件需要,文档见[2728]

然后,针对[2732]提到的bug,我这样解决的:





取消项目的自动构建。测试了一下,这对android项目没啥影响,反正部署和运行android的项目,它自带的编译器还是要工作的。

最后一个问题,要能在工作机上打包debug签名的APK包,在服务器端,比如ubuntu server端,不借助eclipse环境下,通过服务器端全局设置,打包release签名的正式APK包。这里有个要求,pom.xml文件是一致的,在工作机上和在服务器上。不一样的是maven的settings.xml文件。

我把自己的GolfDemo生成了这样的项目,源代码见:

http://easymorse.googlecode.com/svn/tags/GolfDemo-1.2/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: