Androidstudio我们那些年遇到的坑(⼆)
Android studio我们那些年遇到的坑(⼆)
本⽂属于个⼈平时项⽬开发过程遇到的⼀些问题,记录下来并总结解决⽅案,希望能帮到⼤家解决问题,有些问题的解决⽅案是在StackoverFlow上到的,建议⼤家遇到问题多去上⾯,基本上都能到解决⽅案的。
(1)将Eclipse项⽬导⼊到Android studio 中 很多点9图出现问题解决⽅法:
在adle⾥添加以下两句:
aaptOptions.useNewCruncher = false
⽤来关闭Android Studio的PNG合法性检查的,直接不让它检查。
(2)Android Studio 错误: ⾮法字符: '\ufeff' 解决⽅案|错误: 需要class, interface或enum
原因:
Eclipse可以智能的把UTF-8+BOM⽂件转为普通的UTF-8⽂件,Android Studio还没有这个功能,所以使⽤Android Studio编译UTF-8+BOM编码的⽂件时会出现”⾮法字符: '\ufeff' “之类的错误
解决⽅法:
⼿动将UTF-8+BOM编码的⽂件转为普通的UTF-8⽂件。**
**⽤EdItPlus打开.java⽂件依次:⽂档》⽂本编辑》转换⽂本编码》选择UTF-8编码即可
(3)将项⽬导⼊到AS中出现以下问题:
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.bui
解决⽅法:
在ade中添加以下代码:
android{
packagingOptions {
exclude ''
exclude 'META-INF/NOTICE'
exclude ''
exclude 'META-INF/LICENSE'
exclude ''
}
}
(4)未知错误
Error:Timeout waiting to lock cp_proj class cache for build file
'/Users/Mr.xiao/Desktop/AndroidShopNC2014MoblieNew/adle'
(/Users/Mr.xiao/.gradle/caches/2.10/scripts/build_3cyr7hzjurcc62ge3ixidshos/cp_proj).
It is currently in use by another Gradle instance.
Owner PID: unknown
Our PID: 1412
Owner Operation: unknown
Our operation: Initialize cache
Lock file: /Users/Mr.xiao/.gradle/caches/2.10/scripts/build_3cyr7hzjurcc62ge3ixidshos/cp_proj/cache.properties.lock
解决⽅案
以上是错误提⽰。
解决的思路很简单只需要把cache.properties.lock⽂件删除了就可以了。当时我们删除的时候会被占⽤这时候需要进⼊任务管理器结束关于java 的进程就⾏⽐如 java 的jdk 删除后重启让java jdk启动  启动Android Studio就能启动APK了。
(5)修改了Android项⽬的最⼩SDK版本之后出现很多stysle⽂件不到
解决⽅案
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "loo2014.android"
minSdkVersion 14
targetSdkVersion 23
}
compileSdkVersion 是多少版本的
那么compile 'com.android.support:appcompat-v7:23.2.1’ 就是啥版本的。
(6)Android studio 编译问题:finished with non-zero exit value 2
问题:
Error:Execution failed for task ':androidShopNC2014Moblie:transformClassesWithDexForDebug'.
>
com.android.ansform.TransformException:
com.android.idemon.process.ProcessException:
urrent.ExecutionException:
com.android.idemon.process.ProcessException:
Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2
解决⽅案
这个错误在app的adle⾥⾯添加下⾯这句就好了。
android {
defaultConfig {
multiDexEnabled true
}
}
(7)Android studio 编译问题:finished with non-zero exit value 1(由于导⼊的依赖出现重复造成的)
问题:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
解决⽅案
这个是因为依赖包重复了 (像v4和nineoldandroids),app中实现了对easeUI的依赖,但是app和easeUI都添加了对这个包的依赖。所以就报这个错误,修改之后再报,就clean,rebuild⼀下。
(8)问题
Error:Execution failed for task
':app:transformClassesWithJarMergingForDebug'.>
com.android.ansform.TransformException:
java.util.zip.ZipException:
duplicate entry: org/apache/http/ConnectionClosedException.class
解决⽅案
这个是在我们启动的时候报错的,⽽不是在编译的时候,原因是这样的,报这个错是因为有2个库中存在相同的类。⼤家可以看到stackoverflow 上有⼈也提了这样的问题。只需要删除其中的⼀个就可以解决了。
(9)添加第三⽅依赖出现的问题
Error:Execution failed for task ':app:processDebugManifest'.
>
Manifest merger failed :
uses-sdk:minSdkVersion 14 cannot be smaller than version 19 declared in library [ikoz:basic:2.0.3]
/AndroidStudioCode/EnjoyLife/app/build/intermediates/exploded-aar/
ikoz/basic/2.0.l
Suggestion: use tools:overrideLibrary="" to force usage
错误原因
出现这个错误的原因是我引⼊的第三⽅库最低⽀持版本⾼于我的项⽬的最低⽀持版本,异常中的信息显⽰:我的项⽬的最低⽀持版本为14,⽽第三⽅库的最低⽀持版本为19,所以抛出了这个异常。
解决⽅案
在l⽂件中标签中添加
<uses-sdk tools:overrideLibrary=""/>
其中的为第三⽅库包名,如果存在多个库有此异常,则⽤逗号分割它们,例如:
<uses-sdk tools:overrideLibrary="aaa, bbb"/>
这样做是为了项⽬中的l和第三⽅库的l合并时可以忽略最低版本限制。
(10)Android studio 编译问题:finished with non-zero exit value 1(由于buildtools版本太⾼造成的)
错误
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.idemon.process.ProcessException:
Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
错误原因
buildToolsVersion版本太⾼,我原来的 buildToolsVersion "24.0.0” 需要jdk1.8,⽽我的是jdk1.7,所以⼀直报这个错,刚开始以为是v4包和V7包冲突,因为之前遇到这样的问题,⽽这次删除V4包之后依然报这个错,上stackoverflow搜了⼀下,把buildTools版本降下来就好了。
解决⽅案
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
}
(11)Android studio 编译问题:Gradle DSL not found 'android()'问题
clipboard.png
解决⽅案
怎么把项目导入到eclipse配置adle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'ls.build:gradle:2.1.2'
}
}
allprojects {
repositories {
jcenter()
}
}
buildscript {
repositories {
jcenter()
}
dependencies {

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。