将项目从Eclipse转到Android Studio

从Eclipse迁移:
1.从svn上拉取项目:File -> new -> other -> SVN ->从SVN检出项目…
如果报 refused by server问题,关掉代理,重启电脑,打开浏览器能上网就好了
如果有缺少的文件资源,添加进去

2.点击主工程,对它右键选择Export并选择Android下的Generate Gradle Build Files,选择所有的模块,导出

3.打开android studio 初始界面,导入项目

4.根据build之后的提示,修改project structure中每个模块的build tools version,要统一
这里写图片描述
5.删除每个module中的AndroidManifest.xml中的application节点下的属性,如果uses-permission有错误,根据提示解决,将壳中AndroidManifest.xml中报错的activity注释或者删掉。

6.由于Android Stduio对于图片格式要求比较严格,从Eclipse转过来的情况下,一般都会报图片格式错误AAPT err(Facade for 1059284777): libpng error: Not a PNG file,那么请按下面说明修改:
在APP的build.gradle下的android项中添加:
//放宽PNG图片检查条件
aaptOptions.cruncherEnabled = false;
aaptOptions.useNewCruncher = false;

如果还有同样的问题,改.9.png图片,全部改完就没问题了

7.主工程和libary中如果有相同的jar,Eclipse中是不会报错的,而Android Studio中则会报类重复错误,那么我们将主工程中和libary中重复的jar删除即可。

8.常见报错:
Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt
解决方案:
在工程根目录下的gradle.properties文件里
加入 android.enableAapt2=false 保存(=中间没有空格,务必注意)
再点击sync now 就可以了

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:BTYXY_OA:processDebugManifest’.
相应的清单文件有问题

删除重复架包:查看报错信息,例如说support/v4包问题,是有几个模块用了它,可以酌情删除,或者使用
compile ‘com.android.support:support-v4:24.1.1’,多个模块需要统一版本,不然会报错

Android Studio报错信息不显示,可以使用terminal端打印信息
//terminal常用命令:
gradlew compileDebug –stacktrace
gradlew compileDebug –stacktrace -info
gradlew compileDebug –stacktrace -debug
如果上面的信息还是显示地不够,可以通过下面的操作
具体:通过命令compileDebug获取具体的 参数例如:compileDebugSources ,compileDebugAndroidTestJavaWithJavac 等
输入:
gradlew compileDebugSources –stacktrace -info
gradlew compileDebugAndroidTestJavaWithJavac –stacktrace -info

猜你喜欢

转载自blog.csdn.net/ckwccc/article/details/79742879