Android 错误总结

来源:互联网 发布:网络运维主要做什么 编辑:程序博客网 时间:2024/05/21 15:04

一、
Error:Execution failed for task ‘:app:transformClassesWithPreJackPackagedLibrariesForDebug’.

com.android.build.api.transform.TransformException: com.android.jack.api.ConfigNotSupportedException: Jack requires Build Tools 24.0.0 or later

一般,此错误是由android在7.0才开始支持jdk1.8引起的。
defaultConfig {
applicationId “com.ling.tools.toolsproject”
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName “1.0”
testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner”
jackOptions { enabled true } //将.java文件编译成.jack文件再编译成.dex文件 。这个方法只在Android 7.0才支持. 默认是通过javac将 Java代码(.java)编译成 .class,再通过dx将 .class编译成 .dex
}

解决方法:将jackOptions{enable true } 改为false 。

另:使用jack(jdk1.8)
android {

defaultConfig {

jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

二、Error:Failed to open zip file. Gradle’s dependency cache may be corrupt
这里写图片描述

在gradle文件夹下的gradle-wrapper.properties文件中,将gradle版本换成本机的版本
如:原来版本
`distributionUrl=https://services.gradle.org/distributions/gradle-2.4-all.zip,将其改为 gradle-2.14.1-all.zip。

三、解决方法:在Grade.properties中将http换为https。
整体设置为:
systemProp.http.proxyHost=some.proxy.adress.com
systemProp.http.proxyPort=3128
systemProp.https.proxyHost=some.proxy.adress.com
systemProp.https.proxyPort=3128

四、Android Studio检测不到真机
可能原因:
1、没有USB驱动;
2、数据线问题。有些数据线只能用于充电;
3、adb,可能有别的软件和Android Studio 都在使用adb进程。如同时使用酷狗和Android Studio(我就是这个原因)。关掉酷狗,并在进程里结束掉adb就好了。

五、webView在安卓5.0以上的手机,不支持http与https的混合协议
解决方案:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}

六、 com.android.dex.DexException: Multiple dex files define………….
在我的代码中,发现是**重复引用**jar包导致的。
出现情况: 项目中导入并引用了一个libary,在libary中引用了Glide的jar包,然后在主工程中也引用了Glide的jar包。做法:删掉主工程中的jar包。

1 0
原创粉丝点击