以下错误都是本人开发中遇到的,解决后并整理。遇到新的错误,并即时加进来。
问题:failed to find Build Tools revision xx.x.x
原因:导入项目的build.gradle中的build tool version在本地没有这个版本的。
解决方法:修改成本地已经存在的build tool version版本号。
问题:Gradle sync failed: Could not download gradle.jar (io.fabric.tools:gradle:1.14.4): No cached version available for offline mode 。
原因:导入项目时出现的错误。这是因为项目依赖了一个在线库。需要下载对应gradle版本。因为中国无法下载gradle,所以会显示这个错误。
解决方法:在网上先下载好对应版本,放在gradle的缓存下载目录。
如果没有设置过gradle的目录。默认在C:\Users\你的用户名.gradle\caches\modules-2目录下。
如果在AS中设置过offline模式,就放到对应的目录下。绝对路径\caches\modules-2\files-2.1\io.fabric.tools\gradle\版本号
我出错的是io.fabric.tools这个依赖包,所以路径是io.fabric.tools。如果是其他包,换成对应的包名即可。
问题:Error:(1, 0)Plugin with id ‘com.android.application’ not found
解决方法:打开项目的build.gradle文件,在dependencies中加入classpath ‘com.android.tools.build:gradle:xxx’
xxx表示系统中存在的gradle版本号。
问题:Error:Unknown host ‘maven.fabric.io’. You may need to adjust the proxy settings in Gradle.
连接不上maven.fabric.io,翻墙或使用vpn即可。
问题:Error:(62, 0) Could not find property ‘COMPILESDKVERSION’
解决方法:把COMPILESDKVERSION改成API Level数字就可以了。
问题:修改代码后,再次运行没效果。
原因:AndroidStudio 2.0的热运行奇葩错误 。。。
解决方法:rebuild project。
问题:apostrophe not preceded by
string.xml中有特殊符号,比如冒号。使用“\”转义就行了。
问题: java.io.IOException:Unable to open sync connection!或者installing apk…然后没反应
原因:好像是adb被其他进程占用了,
解决方法:重启手机、拨了手机再插、重启ide都可以解决,随机。。。我是手机的问题,三星老手机太垃圾。。要重启。
问题: Manifest merger failed : uses-sdk minsdkversion 14 cannot be smaller than version 15
原因:某个依赖包manifest的MiniSdkVersion 版本比项目的minisdkversion要高。
解决方法:方式1.把依赖包的minisdkversion改小。
方式2.在项目manifest的标签中加入一个属性,tools:overrideLibrary=“依赖包的包名”。
问题:Error:Attribute “height” has already been defined
原因:自定义view的属性和api某个版本的属性重名了。
解决方法:一般是v4 v7 或者appcompat包冲突了。。检查项目build.gradle中的compile。
问题:Out of memory on a 3576976-byte allocation
原因:一般是布局的background在加载大的图片时会产生,
解决方法:先压缩再显示图片。或者把图片放在高分辨率的drawable下。
问题: java.lang.UnsatisfiedLinkError: Couldn’t load XXX indLibrary returned null
原因:so库文件找不到。有可能是没有,或者路径错误。
解决方法:Eclipse项目将需要的so库文件放到libs对应的文件夹下。AS中需要放到src/main/jniLibs对应的文件夹。
注意:loadLibrary()加载的so文件,会以lib+so文件名的方式来匹配。
问题:Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’.
com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘F:\Program Files (x86)\Java\jdk1.8.0_31\bin\java.exe’’ finished withnon-zero exit value 1/2/3
转载处:http://blog.csdn.net/lxk_1993/article/details/50511172
总共有3个错误 value 分别为 1 ,2 ,3.
value为1的错误
依赖包重复会出现这个错误。比如主工程和库工程都依赖了另外一个库,就会出现重复的问题。
value为2的错误
这个错误在app的build.gradle里面添加下面这句就好了。
android {
defaultConfig {
…
multiDexEnabled true
}
}
value为3的错误
这是IDE分配的内存太少,修改最大内存占用。
dexOptions {
javaMaxHeapSize “4g”
}
问题:No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse
原因:这是api23中的资源文件。
解决方法:将项目编译版本compileSdkVersion改为23。如果不要这样,那就必须把使用到api23的依赖库的编译版本降低。
tips:出现此错误时会自动跳转到values-xxx,比如value-21/23,出现哪个版本号,就代表使用到了此版本号中的资源。
问题:attribute “xxx” has already been defined android studio
自定义属性跟v4、v7中的属性值重复了。
解决办法:把重复的属性后面的format去掉即可。
问题:java.util.zip.ZipException: duplicate entry: bolts/AggregateException.class
重复依赖了某个
解决方法:在主工程build.gradle的dependencies中查找是否包含了2个重复的库。
问题:No resource identifier found for demo ‘XXX’ in package
原因:在布局中使用自定义view的自定义属性时,xmlns:att的包名应该是manifest中声明的包名。
解决方法:比如自定义view在com.demo.ado.widget中,manifest中的包名为com.demo.ado。那么xmlns:att=“http://schemas.android.com/apk/res/com.demo.ado”。
问题:Error:Failed to open zip file. Gradle’s dependency cache may be corrupt.
原因:gradle插件下载时网络中断,没有下载完。下次打开苛时就会报这个错误。
解决方法:找到as自动下载gradle的目录,删除对应的版本即可。一般都是一串随机数字为目录的。然后重新打开as,会重新下载gradle。
mac的下载目录在/Users/用户名/.gradle/wrapper/dists/grade-xxx
windows的下载目录在C:\Users\用户名.gradle\wrapper\dists\gradle-xxx
问题:Out of memory: Java heap space.
使用Android Studio编译项目时,发生以下错误。
Out of memory: Java heap space.
Please assign more memory to Gradle in the project's gradle.properties file.
For example, the following line, in the gradle.properties file, sets the maximum Java heap size to 1,024 MB:
<em>org.gradle.jvmargs=-Xmx1024m</em>
Read Gradle's configuration guide
Read about Java's heap size
原因
编译时JVM内存溢出
解决方法
在项目的gradle.properties中增加jvm的内存大小。
如果项目中没有这个文件,在项目的根目录新建一个即可。
添加以下的配置
# jvm内存设置为2g
org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m