[英]Gradle assembleRelease doesn't work with ProGuard
因此,我的項目今天似乎隨機中斷,錯誤顯然是超過65K的方法。 經過研究后,我意識到是時候使用ProGuard並啟用multiDex了,這似乎使情況變得更糟。 這是我嘗試創建發布APK時遇到的錯誤:
錯誤:任務':My-Project:proguardRelease'的執行失敗。
java.io.IOException:無法編寫[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
}
}
}
我曾多次嘗試清理和重建項目,但無濟於事。
好吧,我認為您會收到此錯誤,因為您在My-Project\\libs\\bolts-android-1.2.0.jar
聲明了bolts-android
兩個依賴關系,另一個在compile 'com.parse.bolts:bolts-android:1.+'
使用了maven並compile 'com.parse.bolts:bolts-android:1.+'
刪除lib文件夾中的lib。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.