2017-07-14 4 views
0

Je suis nouveau à proguard, et je ne comprends pas comment résoudre mon problème. Cela semble facile, mais je ne sais pas comment le réparer.: app: transformClassesAndResourcesWithProguardForRelease

proguard.ParseException: Attendant le type java avant ';' en ligne 51

Et l'erreur ci-dessous est affiché: Échec de l'exécution de la tâche ': app: transformClassesAndResourcesWithProguardForRelease'

Ceci est ma ligne 51e:

-keep class rx.schedulers.Schedulers { public static ; } 

proguard-rules.pro:

# Vungle 
-dontwarn com.vungle.** 
-dontnote com.vungle.** 
-keep class com.vungle.** { *; } 
-keep class javax.inject.* 

# GreenRobot 
-dontwarn de.greenrobot.event.util.** 

# RxJava 
-dontwarn rx.internal.util.unsafe.** 
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { 
    long producerIndex; 
    long consumerIndex; 
} 
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef { 
    rx.internal.util.atomic.LinkedQueueNode producerNode; 
} 
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef { 
    rx.internal.util.atomic.LinkedQueueNode consumerNode ; 
} 


-keep class rx.schedulers.Schedulers { public static ; } 
-keep class rx.schedulers.ImmediateScheduler { public ; } 
-keep class rx.schedulers.TestScheduler { public ; } 
-keep class rx.schedulers.Schedulers { public static ** test(); } 

# MOAT 
-dontwarn com.moat.** 
-keep class com.moat.** { 
    public protected private *; 
} 




-keep class com.tapjoy.** { *; } 
-keep class com.moat.** { *; } 
-keepattributes JavascriptInterface 
-keepattributes *Annotation* 
-keep class * extends java.util.ListResourceBundle { 
protected Object[][] getContents(); 
} 
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
public static final *** NULL; 
} 
-keepnames @com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
@com.google.android.gms.common.annotation.KeepName *; 
} 
-keepnames class * implements android.os.Parcelable { 
public static final ** CREATOR; 
} 
-keep class com.google.android.gms.ads.identifier.** { *; } 
-dontwarn com.tapjoy.** 


-keep public class com.google.gson 
-keep class Gson** 
-keepclassmembers class Gson** { 
    *; 
} 
-keepattributes Signature, *Annotation* 
-keep class com.nativex.** { 
    *; 
} 

-keepattributes SourceFile,LineNumberTable 
-keep class com.parse.*{ *; } 
-dontwarn com.parse.** 
-dontwarn com.squareup.picasso.** 
-keepclasseswithmembernames class * { 
    native <methods>; 
} 

Cette réponse a résolu mon problème:

Utilisez

-keep class rx.schedulers.Schedulers {public static <methods>;} 

à la place de

-keep class rx.schedulers.Schedulers { public static ; } 

Mais maintenant, un nouveau est né.

Exception:

Exception while processing task java.io.IOException: Please correct the above warnings first.

Ceci est mon avertissement:

Warning: there were 1 unresolved references to classes or interfaces. You may need to add missing library jars or update their versions. If your code works fine without the missing classes, you can suppress the warnings with '-dontwarn' options. 

Et au-dessus de la grande liste Note: .....

Que puis-je faire?

Répondre

0

Utilisez

-keep class rx.schedulers.Schedulers { 
    public static <methods>; 
} 

à la place de

-keep class rx.schedulers.Schedulers { public static ; } 
+0

Merci. Cela a résolu le problème avec cette erreur. Mais maintenant, un nouveau est apparu. 'Avertissement: Exception lors du traitement de la tâche java.io.IOException: Veuillez d'abord corriger les avertissements ci-dessus. ** Voici mon avertissement: **' Attention: il y avait 1 références non résolues aux classes ou aux interfaces. Vous devrez peut-être ajouter des fichiers de bibliothèque manquants ou mettre à jour leurs versions. Si votre code fonctionne correctement sans les classes manquantes, vous pouvez supprimer les avertissements avec les options '-dontwarn'. "Et au-dessus de la grande liste" Note: .... '. Que puis-je faire à ce sujet? –

+0

Vérifiez correctement si vous avez correctement ajouté toute la bibliothèque dans build.gradle du module d'application. –

+0

Ajouter les bibliothèques à partir des instructions données dans la page GitHub officielle toujours. –