我正在使用Gradle创建一个具有不同风格的构建.它过去一直很好,直到现在,直到我想启用Proguard.我启用minifyEnabled了Release Build,现在我有一个例外说:
" Caused by: org.gradle.internal.UncheckedException: java.io.IOException: The output jar [.../app/build/intermediates/multi-dex/dev/release/componentClasses.jar] must be specified after an input jar, or it will be empty."
有人知道造成这种异常的原因吗?在发布我的应用程序之前,我基本上想要启用ProGuard.这是我的Gradle文件,如下所示.
lintOptions {
abortOnError false
}
dexOptions{
incremental true
javaMaxHeapSize "4g"
}
defaultConfig {
applicationId "..."
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
} …Run Code Online (Sandbox Code Playgroud) android proguard gradle android-gradle-plugin android-proguard
我更新了所有内置工具,supportlibrary和google Play服务.但是我仍然收到以下错误:
错误:任务执行失败':app:shrinkReleaseMultiDexComponents'
java.io.IOException:必须在输入jar之后指定输出jar [app\build\intermediates\multi-dex\release\componentClasses.jar],否则它将为空.
我能够通过设置来解决这个问题minifyEnabled到false,但是这不是我想要的.有谁知道如何修理它?