相关疑难解决方法(0)

使用Gradle和ProGuard的Android Build:"必须在输入jar之后指定输出jar,否则它将为空"

我正在使用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

26
推荐指数
1
解决办法
1万
查看次数

Android multidex不支持proguard

我更新了所有内置工具,supportlibrary和google Play服务.但是我仍然收到以下错误:

错误:任务执行失败':app:shrinkReleaseMultiDexComponents'

java.io.IOException:必须在输入jar之后指定输出jar [app\build\intermediates\multi-dex\release\componentClasses.jar],否则它将为空.

我能够通过设置来解决这个问题minifyEnabledfalse,但是这不是我想要的.有谁知道如何修理它?

android proguard

11
推荐指数
1
解决办法
5951
查看次数