J'essaye de faire une apk signée en utilisant un proguard. Une erreur se produit:Erreur lors de la création de l'apk signé en utilisant proguard
Warning: Exception while processing task java.io.IOException: Can not write [C: \ Android \ App \ Project \ app \ build \ intermediates \ transforms \ proguard \ release \ jars \ 3 \ 1f \ main.jar] (Can 'T read [C: \ users \ user \ .gradle \ caches \ modules-2 \ files-2.1 \ com.google.code.gson \ gson \ 2.7 \ 751f548c85fa49f330cecbb1875893f971b33c4e \ gson-2.7.jar (;;;;;; **. Class)] (Duplicate zip entry [com/google/a/a/a.class == gson-2.7.jar: com/google/gson/annotations/Expose.class]))
Error: Execution failed for task ': app: transformClassesAndResourcesWithProguardForRelease'.
Job failed, see logs for details
Le fichier proguard-rules.pro configuré à
-keepattributes Signature
-keep class sun.misc.Unsafe { *; }
-keep class com.exp.data.** { *; }
-dontwarn com.google.common.**
-dontwarn com.google.gson.**
-dontwarn retrofit2.converter.gson.**
-dontwarn retrofit2.Platform$Java8
-dontwarn okio.**
-dontwarn org.apache.commons.io.FilenameUtils
-keep class okio.**
Pourquoi peut se produire une erreur?
J'utilise un fichier build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
applicationId "ru.vintegra.sale"
minSdkVersion 21
targetSdkVersion 25
versionCode 41
versionName '1.41'
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g" //specify the heap size for the dex process
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-v13:25.3.1'
compile 'com.microsoft.azure:azure-mobile-services-android-sdk:2.0.3'
compile 'com.google.android.gms:play-services-location:11.0.1'
compile 'com.google.android.gms:play-services-maps:11.0.1'
compile 'com.google.android.gms:play-services-vision:11.0.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:converter-scalars:2.1.0'
compile 'com.squareup.okhttp3:okhttp:3.4.2'
}
Dans mon projet, un seul fichier proguard-android.txt-2.3.3.
ajoutez votre application build.gradle –
vous n'utilisez google gson et en mode de sortie, vous devez mettre l'emplacement du fichier PROGUARD. –
Que dois-je faire pour cela? Que devrais-je écrire? – user1854307