eclipse项目转Androidstudio项目过程中遇到的一系列问题及解决办法
2017-03-24 16:26
781 查看
今天依旧闲着,,,于是决定把在eclipse项目转as项目中的问题记录一下,以供以后方便查阅。。(Ps:今天的单曲循环依旧是郝云的《活着》)
准备:
- 一个eclipse项目。
- android studio (我的版本号是2.0的)
泡杯茶,接下来就可以正式开始转了
1:打开As,进入欢迎界面,选择 Import project(Eclipse ADT,Gradle,etc.)
2:选择你的eclipse项目的主工程所在的路径
- 单一工程直接导入即可。
- 有库工程的需要注意,导入一定要指向主工程,而不是整个项目的目录。指向项目目录是无法进行转换的。
- 如图:
-
3:指定目标路径
如图:
4:然后一路next下去,.进行构建中。完成后出现了第一个错误:
Error:(1, 1) 错误: 非法字符: ‘\ufeff’
Error:(1, 10) 错误: 需要class, interface或enum
这个错误的解决方法就是重新编码:选择UTF-8无Bom格式编码 。详情见我的上一篇博客:
地址:http://blog.csdn.net/qq_25497773/article/details/65444978
上面的解决以后又出了第二个错误:
AAPT err(Facade for 1898549589): libpng error: Not a PNG file
Error:Execution failed for task ‘:zhsq:mergeDebugResources’.
Some file crunching failed, see logs for details
如图:
这个错误的原因可能是 UI给了你一个名叫.png的图,但它并不是png,eclipse 不会检查这么仔细,所以不会提示错误。
解决办法是:在你的主工程文件夹里的build.gradle文件里,加上下面这两句:
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
如图:
然后点击sync now,重新编译下,会出现第三个错误:
Error:Execution failed for task ‘:zhsq:processDebugManifest’.
Manifest merger failed : Attribute application@icon value=(@drawable/logo) from AndroidManifest.xml:23:9-38
is also present at [zhsq:androidLib:unspecified] AndroidManifest.xml:13:9-45 value=(@drawable/ic_launcher).
Suggestion: add ‘tools:replace=”android:icon”’ to element at AndroidManifest.xml:20:5-71:19 to override.
如图:
这个错误的意思就是你的主工程里面的AndroidManifest里面的内容和库工程里面的AndroidManifest里的application里面的内容重复了。下面是我的主工程下面的AndroidManifest:
下面是我的库工程的AndroidManifest:
两个文件对比了下,可以看到库文件和主工程的application下面都用了 android:icon=”@drawable/ic_launcher”
解决办法就是去掉库工程application下面的android:icon=”@drawable/ic_launcher”。然后再sync now下我发现我转成功了。。可以运行了。。。可以喝杯茶,放松下了。。
but…我看到我的库工程的build.gradle文件中:
这里面的v4包这里有红线。虽然不影响运行,但是我还是想给他去掉。。这里的主要原因是因为,这里v4包的版本号和你的targetSdkVersion版本号不一致导致,我们可以把targetSdkVersion修改成19或者把v4包的版本号换掉。不知道在那篇文章看到过说:这里最好的应该是targetSdkVersioncompileSdkVersion和buildToolsVersion三者保持一致,于是我就把这三个都修改成25.。然后就报错了。。扎心了。。
如图:
原来是因为我项目中用到了 apache的httpclient包
Android 6.0版本已经已经基本将Apahce Http Client 移除出SDK。所以会报出找不到。。
Error:(5, 23) 错误: 程序包org.apache.http不存在
Error:(118, 34) 错误: 找不到符号,
解决办法就是:找到sdk下的httpclient包,放在lib下面。下图org.apache.http.legacy.jar 就是httpclient包。
如图:
重要:但是这样虽然不报错了,但是很容易和其它jar冲突,造成重复,比如和okhttp。
好的办法是:在android{}中加上 useLibrary’org.apache.http.legacy’ 这样就不会报错了。
Ps:别忘了添加依赖。可以直接在app的build.gradle文件的dependencies节点直接添加一句话:
compile fileTree(dir: ‘libs’, include: [‘*.jar’])
如图:
至此。。彻底结束。。。鼓掌,撒花。。。
感谢:http://www.cnblogs.com/jhj117/p/5638212.html这篇文章的作者。跟着这个文章一步步的转的。
最后送上一句昨天刚看到的话:
只要路是对的,就不要害怕它是短暂还是遥远,你终究会到达。加油
准备:
- 一个eclipse项目。
- android studio (我的版本号是2.0的)
泡杯茶,接下来就可以正式开始转了
1:打开As,进入欢迎界面,选择 Import project(Eclipse ADT,Gradle,etc.)
2:选择你的eclipse项目的主工程所在的路径
- 单一工程直接导入即可。
- 有库工程的需要注意,导入一定要指向主工程,而不是整个项目的目录。指向项目目录是无法进行转换的。
- 如图:
-
3:指定目标路径
如图:
4:然后一路next下去,.进行构建中。完成后出现了第一个错误:
Error:(1, 1) 错误: 非法字符: ‘\ufeff’
Error:(1, 10) 错误: 需要class, interface或enum
这个错误的解决方法就是重新编码:选择UTF-8无Bom格式编码 。详情见我的上一篇博客:
地址:http://blog.csdn.net/qq_25497773/article/details/65444978
上面的解决以后又出了第二个错误:
AAPT err(Facade for 1898549589): libpng error: Not a PNG file
Error:Execution failed for task ‘:zhsq:mergeDebugResources’.
Some file crunching failed, see logs for details
如图:
这个错误的原因可能是 UI给了你一个名叫.png的图,但它并不是png,eclipse 不会检查这么仔细,所以不会提示错误。
解决办法是:在你的主工程文件夹里的build.gradle文件里,加上下面这两句:
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
如图:
然后点击sync now,重新编译下,会出现第三个错误:
Error:Execution failed for task ‘:zhsq:processDebugManifest’.
Manifest merger failed : Attribute application@icon value=(@drawable/logo) from AndroidManifest.xml:23:9-38
is also present at [zhsq:androidLib:unspecified] AndroidManifest.xml:13:9-45 value=(@drawable/ic_launcher).
Suggestion: add ‘tools:replace=”android:icon”’ to element at AndroidManifest.xml:20:5-71:19 to override.
如图:
这个错误的意思就是你的主工程里面的AndroidManifest里面的内容和库工程里面的AndroidManifest里的application里面的内容重复了。下面是我的主工程下面的AndroidManifest:
下面是我的库工程的AndroidManifest:
两个文件对比了下,可以看到库文件和主工程的application下面都用了 android:icon=”@drawable/ic_launcher”
解决办法就是去掉库工程application下面的android:icon=”@drawable/ic_launcher”。然后再sync now下我发现我转成功了。。可以运行了。。。可以喝杯茶,放松下了。。
but…我看到我的库工程的build.gradle文件中:
这里面的v4包这里有红线。虽然不影响运行,但是我还是想给他去掉。。这里的主要原因是因为,这里v4包的版本号和你的targetSdkVersion版本号不一致导致,我们可以把targetSdkVersion修改成19或者把v4包的版本号换掉。不知道在那篇文章看到过说:这里最好的应该是targetSdkVersioncompileSdkVersion和buildToolsVersion三者保持一致,于是我就把这三个都修改成25.。然后就报错了。。扎心了。。
如图:
原来是因为我项目中用到了 apache的httpclient包
Android 6.0版本已经已经基本将Apahce Http Client 移除出SDK。所以会报出找不到。。
Error:(5, 23) 错误: 程序包org.apache.http不存在
Error:(118, 34) 错误: 找不到符号,
解决办法就是:找到sdk下的httpclient包,放在lib下面。下图org.apache.http.legacy.jar 就是httpclient包。
如图:
重要:但是这样虽然不报错了,但是很容易和其它jar冲突,造成重复,比如和okhttp。
好的办法是:在android{}中加上 useLibrary’org.apache.http.legacy’ 这样就不会报错了。
Ps:别忘了添加依赖。可以直接在app的build.gradle文件的dependencies节点直接添加一句话:
compile fileTree(dir: ‘libs’, include: [‘*.jar’])
如图:
至此。。彻底结束。。。鼓掌,撒花。。。
感谢:http://www.cnblogs.com/jhj117/p/5638212.html这篇文章的作者。跟着这个文章一步步的转的。
最后送上一句昨天刚看到的话:
只要路是对的,就不要害怕它是短暂还是遥远,你终究会到达。加油
相关文章推荐
- Android开发中遇到的问题(五)——Eclipse导入Android项目出现"Invalid project description overlaps the location of another project"错误的解决办法
- 拿什么拯救:Android Studio 时代 继续使用Eclipse开发Android app时遇到的几个问题以及解决办法
- Android开发中遇到的问题(五)——Eclipse导入Android项目出现"Invalid project description overlaps the location of another project"错误的解决办法
- Android项目实战_新浪微博客户端开发过程中遇到的问题及解决办法01
- Eclipse开发Android真机调式经常遇到DeviceMonitor Connection attempts问题解决办法
- ADT版本号超过17后,所遇到的问题,如导入项目没有Android Dependencies目录、jars包导入的解决办法
- [Android]使用 Eclipse 给 APK 签名时遇到的两个问题及解决办法
- 解决对android APK 项目进行签名过程中遇到的问题
- Eclipse下Android更新升级过程中遇到的问题及解决
- 2014-10-22遇到的问题----Android创建第一个项目出现appcompat_v7工程的解决办法
- Android 使用volley过程中遇到的问题解决办法
- Eclipse Android 项目转Gradle 的一些问题和解决办法
- maven整合到eclipse中的android项目遇到的几个问题及解决方法
- 使用eclipse+git插件开发android项目时遇到的问题及解决
- Eclipse Android开发遇到:"The type org.apache.http.HttpResponse cannot be resolved."问题的解决办法
- Android Studio NDK开发过程中遇到的问题与解决(一)
- 项目开发过程中遇到的一些问题和解决办法(逐渐添加)
- android编程过程中遇到的关于Canvas: trying to use a recycled bitmap android.graphics.Bitmap问题的原因及解决办法
- eclipse平台 android项目前显示红色叉号 android level-19 4.4平台导入项目 问题解决办法
- 【Android】使用 Eclipse 给 APK 签名时遇到的两个问题及解决办法