您的位置:首页 > 移动开发 > Android开发

把Android项目迁移到Android Studio常见的错误

2016-03-08 17:05 253 查看
1、资源图片的相关问题

(1)Not recognizing known sRGB profile that has been edited

解决方案:

网上答案:建议通过Image Magick/mogrify/GIMP/exiftool等工具来"convert"或"mogrify"图片,删除png图片中内嵌的iCCP profile sRGB:

亲测方案:把所有报这种警告信息的图片重新从原来的文件夹(Eclipse的drawable文件夹)中复制一下并覆盖

(2)9patch图片问题

AAPT: ERROR: 9-patch image /Users/gefufeng/work/androidstudio/TestDemo/fmb_xxx/res/drawable-hdpi/track_menu_bg.9.png malformed.

解决方案:用draw9patch工具重新制作

2、.jar包中的文件名重复

Error:Execution failed for task ':fmb_chenaxiu:transformResourcesWithMergeJavaResForDebug'.

> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/NOTICE.txt

File1: /Users/gefufeng/work/svn_checkout/AndroidCustomerForAS/fmb_chenaxiu/libs/fastjson-1.1.43.android.jar

File2: /Users/gefufeng/work/svn_checkout/AndroidCustomerForAS/fmb_chenaxiu/libs/commons-codec-1.6.jar

解决办法,将

android {

packagingOptions {

exclude 'META-INF/LICENSE.txt'

}}

改为

packagingOptions {

exclude 'META-INF/DEPENDENCIES.txt'

exclude 'META-INF/LICENSE.txt'

exclude 'META-INF/NOTICE.txt'

exclude 'META-INF/NOTICE'

exclude 'META-INF/LICENSE'

exclude 'META-INF/DEPENDENCIES'

exclude 'META-INF/notice.txt'

exclude 'META-INF/license.txt'

exclude 'META-INF/dependencies.txt'

exclude 'META-INF/LGPL2.1'

}

3、so文件找不到

eclipse迁移过来的项目,会默认给我们创建一个文件夹jniLibs,然后把eclipse里面libs文件夹里的内容都复制过来,如果直接在android studio 里面创建项目是不会有这个文件夹的,这是区别一。从eclipse迁移过来的项目上,会在build.gradle配置文件里面加上一段配置

sourceSets {

main {

//这一行是没有的,如果我们有.so文件就需要加上这一行代码

jniLibs.srcDirs = ['libs']

}

}

改完之后如果还是报错,则把所有的so文件所在的文件夹删除然后再次添加进去。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: