把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包中的文件名重复
解决办法,将
改为
3、so文件找不到
eclipse迁移过来的项目,会默认给我们创建一个文件夹jniLibs,然后把eclipse里面libs文件夹里的内容都复制过来,如果直接在android studio 里面创建项目是不会有这个文件夹的,这是区别一。从eclipse迁移过来的项目上,会在build.gradle配置文件里面加上一段配置
sourceSets {
main {
//这一行是没有的,如果我们有.so文件就需要加上这一行代码
jniLibs.srcDirs = ['libs']
}
}
改完之后如果还是报错,则把所有的so文件所在的文件夹删除然后再次添加进去。
(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' } |
eclipse迁移过来的项目,会默认给我们创建一个文件夹jniLibs,然后把eclipse里面libs文件夹里的内容都复制过来,如果直接在android studio 里面创建项目是不会有这个文件夹的,这是区别一。从eclipse迁移过来的项目上,会在build.gradle配置文件里面加上一段配置
sourceSets {
main {
//这一行是没有的,如果我们有.so文件就需要加上这一行代码
jniLibs.srcDirs = ['libs']
}
}
改完之后如果还是报错,则把所有的so文件所在的文件夹删除然后再次添加进去。
相关文章推荐
- Android开发小知识-BroadCastReceiver的使用
- Android实现搜索功能并本地保存搜索历史记录
- android 强引用、弱引用、软引用、虚引用
- Android :ListView详解
- Android Studio 签名打包过程图解
- Android内存泄漏分析实战
- Android:控件GridView的使用
- Android TextInputLayout修改提示信息文字颜色
- android使用9patch后,图片没有拉伸,边上出现黑点
- Android bootanimation 制作过程
- Android——EventBus——实践
- Android开发框架xUtils之ViewUtils的使用
- 使用EventBus实现页面间数据的传递
- Xposed模块深度美化Android
- Android插件化开发技术
- android控件之ViewPager
- android签到日历实现
- android背景选择器selector用法汇总
- Android 技术网址收集
- 如何为Android系统添加一个新的资源包