【问题标题】:Gradle assembleRelease doesn't work with ProGuardGradle assembleRelease 不适用于 ProGuard
【发布时间】:2015-10-12 15:50:11
【问题描述】:

所以我的项目今天似乎随机中断,错误显然是关于超过 65K 的方法。在做了一些研究之后,我意识到是时候使用 ProGuard 并启用 multiDex,这似乎让事情变得更糟了。这是我尝试创建发布 APK 时遇到的错误:

错误:任务执行失败 ':My-Project:proguardRelease'。

java.io.IOException: Can't write [C:\Users\User-PC\AndroidStudioProjects\MyProject\My-Project\build\intermediates\classes-proguard\release\classes.jar](无法读取[C:\Users\User-PC\AndroidStudioProjects\MyProject\My-Project\libs\bolts-android-1.2.0.jar(;;;;;;!META-INF/MANIFEST.MF)] (重复的 zip 条目[a/a.class== bolts-android-1.2.0.jar:bolts/AggregateException.class]))

我的 build.gradle 文件如下所示:

apply plugin: 'com.android.application'
apply plugin: 'com.parse'

buildscript {
    repositories {
        mavenCentral()
        maven { url 'https://maven.parse.com/repo' }
    }
    dependencies {
        classpath 'com.parse.tools:gradle:1.+'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: 'Parse-*.jar')
    compile fileTree(include: 'ParseCrashReporting-*.jar', dir: 'libs')
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.google.android.gms:play-services:7.8.0'
    compile 'com.oguzdev:CircularFloatingActionMenu:1.0.2'
    compile 'com.android.support:cardview-v7:22.2.0'
    compile 'com.android.support:recyclerview-v7:22.2.0'
    compile 'com.github.dkharrat.nexusdialog:nexusdialog:0.2.0'
}

android {
    signingConfigs {
        config {
           // stuff
        }
    }
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
    defaultConfig {
        applicationId "com.kusasa.saleboat"
        minSdkVersion 19
        targetSdkVersion 21
        versionCode 8
        versionName "1.0.7"
        // Enabling multidex support.
        multiDexEnabled true
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
    productFlavors {
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          signingConfig signingConfigs.config
            debuggable false
        }
    }
}

我曾多次尝试清理和重建项目,但无济于事。

【问题讨论】:

    标签: java android android-studio gradle proguard


    【解决方案1】:

    我认为您收到此错误是因为您声明了 bolts-android 的两个依赖项,一个在 My-Project\libs\bolts-android-1.2.0.jar 中,另一个使用 maven 和 compile 'com.parse.bolts:bolts-android:1.+'

    删除 lib 文件夹中的 lib。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-11
      • 2021-04-26
      • 1970-01-01
      • 2023-03-29
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多