1

Lorsque je construis une version de version que je reçois l'avertissement gradle suivant:Gradle (ProGuard) Exception lors du traitement java.io des tâches (entrée zip double)

Warning:Exception while processing task java.io.IOException: 
Can't write [C:\Users\MyName\AndroidStudioProjects\MyApp\app\build\intermediates\transforms\proguard\free\release\jars\3\1f\main.jar] 
(Can't read [C:\Users\MyName\AndroidStudioProjects\MyApp\app\build\intermediates\classes\free\release(;;;;;;**.class)] 
(Can't read [com] (Can't read [android] (Can't read [vending] (Can't read [billing] 
(Can't read [IInAppBillingService$Stub$Proxy.class] 
(Duplicate zip entry [com/android/a/a/a$a$a.class == com/android/vending/billing/IInAppBillingService$Stub$Proxy.class]))))))) 

et erreur:

Error:Execution failed for task 
':app:transformClassesAndResourcesWithProguardForFreeRelease'. 
> Job failed, see logs for details 

Probablement une sorte de problème ProGuard. C'est depuis que j'ai essayé d'implémenter le nouveau Play Billing Library. J'ai essayé de nettoyer et reconstruire le projet (plusieurs fois), et invalider les caches et redémarrer, tout en vain.

Notez vraiment quelles ressources inclure ici ... ce qui suit sont des extraits de ce qui peut être pertinent.

De build.gradle:

compileSdkVersion 26 
buildToolsVersion '26.0.1' 
defaultConfig { 
    minSdkVersion 16 
    targetSdkVersion 26 
} 

buildTypes { 
    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile project(':playLicensing') 
    compile 'com.android.billingclient:billing:1.0' 
    compile 'com.firebase:firebase-jobdispatcher:0.8.3' 
    compile 'com.google.android.gms:play-services-location:11.4.2' 
    compile 'com.google.android.gms:play-services-places:11.4.2' 
    compile 'com.google.android.gms:play-services-auth:11.4.2' 
    compile 'com.google.guava:guava:23.1-android' 
    compile 'com.android.support:appcompat-v7:26.0.2' 
    compile 'com.android.support:design:26.0.2' 
} 

et de proguard-rules.pro:

-dontwarn com.google.** 
-keepattributes EnclosingMethod 
-keepattributes JavascriptInterface 
-keepclassmembers class * { 
    @android.webkit.JavascriptInterface <methods>; 
} 
-assumenosideeffects class android.util.Log { 
    public static boolean isLoggable(java.lang.String, int); 
    public static int v(...); 
    public static int i(...); 
    public static int w(...); 
    public static int d(...); 
    public static int e(...); 
} 
-printmapping mapping.txt 

Répondre

2

OK, je compris quel était le problème. Avec le previous in-app billing implementation, il y avait un requirement pour placer un fichier IInAppBillingService.aidl dans un sous-dossier aidl dans votre projet. Ceci est à moi:

enter image description here

J'avais enlevé tous les vieux trucs de facturation, sauf pour ce fichier ... mais maintenant que je l'ai enlevé cela aussi, tout va bien à la construction de mon application avec le nouveau jeu de facturation Bibliothèque.

+1

merci, ça a résolu mon problème – Vitaly

0

Le même problème me vient à l'esprit mais avec les services de goolge auth. Le problème est que je n'utilise même pas cette lib. Aucune idée de comment résoudre ce problème ...