eclipse项目迁移到Android studio
近期有个老项目需要再启动,而项目是15年的,eclipse的开发环境,为了以后能提高效率,索性给转移到AS里面。网上很多关于项目迁移的记录,这篇博客算是记录有哪些需要注意的问题和导入项目后出现的错误该如何解决。
一、直接导入Eclipse项目
AS版本为2.3
①、选择文件目录
一定要注意,只需要选择主文件即可,不要选择依赖库和上层目录。然后选择一路next,直到出现Finish。点击完成后,需要等待一段时间要去重构项目。
②、9图错误
因为eclipse对9图的校验不是很严格,所以导入AS之后会报出9图错误。具体是哪张图片,需要到Gradle Console里去查看。然后修改对应的图片。
常见的9图错误修改完图片格式后可能还会报9图或者PNG的问题。这时候你需要在你的gradle.build文件里加入如图所示两句话
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
③、minsdk版本冲突问题
由于依赖较多第三方库,而且每个库里面都会对应一个Mainifest.xml文件和gradle.build文件。这两个需要对sdk版本进行统一,来解决提出的sdk版本不兼容的问题。
尽可能保持各个module之间版本相同。
④、Mainifest.xml里面Appliction节点的app:name和app:icon冲突的问题。
这个问题比较好解决,因为一个项目只可能存在一个合理的Appliction节点,而由eclipse到AS里面后,在编译过程中会提示Mainifest出现错误,具体什么错误就不重现了。这个时候的结局方案是,删除各module里配置文件的Appliction节点里面的内容,保留空节点。添加allowBackup属性如下图所示。
这样既可解决冲突问题。
⑤、jar包冲突
在编译过程中Console会报出xxxx.zip.xxx或者finished with non-zero exit value 1这类错误,说明出现了jar包重复的问题。关于怎么解决jar冲突的问题,网上有很多方法,在这里就不赘述了。
⑥、编译终于通过了,但是run的时候报错
Execution failed for task ‘:transformNative_libsWithStripDebugSymbolForDebug’.Java.lang.NullPointerException(no error message)
这个是AS版本2.2和2.3的一个bug。
解决方案:进 local.properties 中把 ndk.dir 直接删除禁用,然后clean–rebuild 就可以了。
至此整个项目可以愉快的在android studio里跑起来了。由于导入项目的过程描述的太过笼统可能看着有些不太明白,推荐一个讲的详细的。点击打开链接