将eclipse项目导入AndroidStudio

作为一名光荣的实习生我被安排去维护一个两年前的项目。这份工作对我来说真是太好了,既能学些东西,也有时间做些自己的东西。

首先我是按照网上的正确导入法导入项目(具体可以搜下,网上资源很多),嗯,可能是项目时间太长了。。。。(这是借口)反正我是没有搞定。这时候只能去请教前辈了。

然后前辈就交给了我这个方法,在这里记录下过程和期间遇到的坑:

过程

  • 新建一个AS项目(初始Hello World就行)
  • 导入依赖包Module
将eclipse项目导入AndroidStudio_第1张图片
导入Module.png
将eclipse项目导入AndroidStudio_第2张图片
为app添加相应依赖.png
  • 配置你的build.gradle

其中我们的项目中用到了android-async-http,而这个网络框架已经停止更新,所以要手动添加useLibrary 'org.apache.http.legacy'。因为录音功能用到了jni所以要添加sourceSets.main.jniLibs.srcDirs=['libs']。当然还有其他配置这就要看具体项目了。

将eclipse项目导入AndroidStudio_第3张图片
app的build.gradle部分配置.png
  • 将主项目复制到app中,先复制除了layout以外的res资源文件
将eclipse项目导入AndroidStudio_第4张图片
删除res中的文件只留一个layout测试.png
将eclipse项目导入AndroidStudio_第5张图片
运行项目检测资源文件是否有问题.png
  • 将除了activity_main.xml的布局文件加入res中,运行项目进行检测。(因为项目是公司的,而我不清楚会不会有什么泄露之类的问题,所以后面就不贴图了)

  • 将java文件导入项目并运行,这里估计会报错,因为eclipse项目的jar包如果不用maven管理就会放到java文件中的这时候AS中也要将jar包放入java文件中的lib文件下,当然你也可以在gradle配置。这时候的activity文件还是之前的MainActivity,运行项目进行检测。

  • 替换MainActivityactivity_main和最重要的AndroidMainfast.xml。之后就是运行整个项目了,如果没有出问题那么恭喜你了。

这个方法的好处在于每一步都可以运行MainActivity检测下转过来的项目是否有问题。

其实这次记录我主要想要记录的是转化过程中我踩到的坑:

  1. 资源文件里面是很坑的,尤其是eclipse没有AS检测的那么严格。
    比如说:刚开始运行资源文件那里,总是报图片错误。经过2个多小时的检测,发现问题是"有的图片的命名是XXX..png",这在eclipse中运行正确,但在AS中就会被检测出来。有没有看到这是坑人啊!!!
    当然这可能是人为因素,看下一个问题:因为项目中用到了XXX.9.png图片,而在AS中XXX.9.png文件必须4个点都描了,否则就会报错。好吧,其实我两个多小时大部分都花费在在一百多张图片中查找错误的XXX.9.png。。。
  2. 因为是两年前的项目,Android中有些方法已经过时了,所以这时候就要你将之改正过来了。
  3. 权限问题,在Android6.0后危险权限都要写成动态权限。当然还有些框架也过时了,这时候就看你们是继续用这框架还是重构代码(其实我想重构会更好吧。。。)
  4. 最后在集合AndroidMainfast.xml中,总是会遇到各种奇葩问题,例如:
    Error:Execution failed for task ':app:processDebugManifest'
    这个问题的原因是我没有加。。。。
最后让我感谢下前辈的悉心教授

你可能感兴趣的:(将eclipse项目导入AndroidStudio)