当我构建apk时,它没有显示任何错误,但在生成签名的apk时,它在logcat中显示以下错误。
错误:
Warning:org.junit.internal.runners.statements.FailOnTimeout: can't find
referenced class java.lang.management.ManagementFactory
Warning:org.junit.internal.runners.statements.FailOnTimeout: can't find
referenced class java.lang.management.ThreadMXBean
Warning:org.junit.rules.DisableOnDebug: can't find referenced class
java.lang.management.RuntimeMXBean
Warning:org.junit.rules.DisableOnDebug: can't find referenced class
java.lang.management.RuntimeMXBean
Error:Execution failed for task
':app:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details
Warning:there were 10 unresolved references to classes or interfaces.
Warning:org.junit.internal.runners.statements.FailOnTimeout: can't find
referenced class java.lang.management.ManagementFactory
Warning:org.junit.internal.runners.statements.FailOnTimeout: can't find
referenced class java.lang.management.ThreadMXBean
Warning:Exception while processing task java.io.IOException: Please correct
the above warnings first.
Warning:org.junit.rules.DisableOnDebug: can't find referenced class
java.lang.management.ManagementFactory
Warning:org.junit.rules.DisableOnDebug: can't find referenced class
java.lang.management.ManagementFactory
我的build.gradle文件是:
apply plugin: 'com.android.application'
android { compileSdkVersion 23 buildToolsVersion '25 .0.0'
defaultConfig {
applicationId "com.infinity.wall_to_paper"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
buildTypes{
debug{
debuggable true
}
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENCE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENCE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/licence.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile('com.android.support:appcompat-v7:23.4.0') {
exclude module: 'support-v4'
}
compile('com.android.support:support-v4:23.4.0') {
exclude module: 'support-v4'
}
android {
buildTypes {
debug {
debuggable true
}
}
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.mcxiaoke.volley:library:1.0.19'
compile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-ads:10.2.4'
}
}
答案 0 :(得分:4)
在build.gradle中查找dexOptions
:
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
注释掉这一行: incremental true
。
默认情况下,在2.1.0-rc1(2016/4/22)或更高版本中打开了Java编译。因此,在build.gradle文件中声明它是多余的。 有关详细信息,请查看以下内容:https://stackoverflow.com/a/37540467/5192105
打开 proguard-project.txt (配置文件)并添加。
-dontwarn sun.reflect.**
-dontwarn android.test.**
希望这有帮助。
要禁用此功能:
Warning:org.junit.internal.runners.statements.FailOnTimeout: can't find
referenced class java.lang.management.ManagementFactory
Warning:org.junit.internal.runners.statements.FailOnTimeout: can't find
referenced class java.lang.management.ThreadMXBean
Warning:org.junit.rules.DisableOnDebug: can't find referenced class
java.lang.management.RuntimeMXBean
Warning:org.junit.rules.DisableOnDebug: can't find referenced class
java.lang.management.RuntimeMXBean
Error:Execution failed for task
':app:transformClassesAndResourcesWithProguardForRelease'.
打开proguard.pro
并添加:
-dontwarn java.lang.management.**