将Eclipse项目转换成AndroidStudio项目过程中遇到的问题以及解决方法

将Eclipse项目转换成AndroidStudio项目也不是第一次了,昨天转的时候遇到几个问题:

首先将项目导入androidstudio,导完后报错:

问题一

Error:java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:

Error:Execution failed for task ':app:mergeDebugResources'.
> Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:

问题原因:咋一看是concurrent并发包报的异常,肯定会有很多种情况可以导致这个异常。我遇到的是.9图导致的这个问题。androidstudio会对.9图作严格的检查,不满足格式的.9图不会通过编译;

很明显这幅图不是.9,名字却为:unread_dot.9.png,于是编译不通过;

解决办法:网上有通过改配置比如:http://www.jianshu.com/p/f046b3f49e49;http://www.cnblogs.com/wangfeng520/p/6119531.html

改配置我没试过,我直接使用androidstudio自带的draw9patch来把问题图片修改成了.9.png图片;

问题二

Error:(1, 1) 错误: 非法字符: '\ufeff'

Error:(1, 10) 错误: 需要class, interface或enum

 问题原因:Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,Android Studio不行,所以编译时出现错误

 解决方法 用其他文档编辑工具将UTF-8+BOM编码的文件转为普通的UTF-8文件。比如我用EdItPlus打开文件:file-->save as-->选择UTF-8编码,覆盖保存

 

 

问题三

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
 File1: C:\Users\Administrator\Desktop\Qhfpsj\FirstSecretaryShowInfo\LandPatrolSys\app\libs\jackson-core-1.9.5.jar
 File2: C:\Users\Administrator\Desktop\Qhfpsj\FirstSecretaryShowInfo\LandPatrolSys\app\libs\jackson-mapper-1.9.5.jar

 问题原因看起来是因为多个 jar 包里包含了同样的文件(LICENSE.txt),导致打包时因为担心相互覆盖问题而提示出错。

 

 解决方法 试下在 app 下的 build.gradle 中的 android 部分增加一段配置,如下面这段代码所示:

packagingOptions {     exclude 'META-INF/LICENSE' }

 继续报错:

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LGPL2.1
 File1: C:\Users\Administrator\Desktop\Qhfpsj\FirstSecretaryShowInfo\LandPatrolSys\app\libs\jackson-core-1.9.5.jar
 File2: C:\Users\Administrator\Desktop\Qhfpsj\FirstSecretaryShowInfo\LandPatrolSys\app\libs\jackson-mapper-1.9.5.jar

那就再加一句:exclude 'META-INF/LGPL2.1'

然后再编译,项目就可以跑起来了。

 

posted @ 2017-01-05 11:46  梦尽落花  阅读(7613)  评论(0编辑  收藏  举报