2

当我构建 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'
}

}

4

1 回答 1

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.**

于 2017-07-05T18:23:23.030 回答