2017-07-14 44 views
0

我是新來的proguard,我不明白如何解決我的問題。這似乎很容易,但我不知道如何解決它。:app:transformClassesAndResourcesWithProguardForRelease

proguard.ParseException:在';'之前期待java類型;在第51行

和錯誤顯示如下:執行失敗的任務 ':應用程序:transformClassesAndResourcesWithProguardForRelease'

這是我的第51行:

-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>; 
} 

此答案解決了我的問題:

使用

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

代替

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

但現在一個新的已經出現。

例外:

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

這是我的警告:

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. 

和上面的大名單Note: .....

我能做些什麼呢?

回答

0

使用

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

代替

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

謝謝。這解決了這個錯誤的問題。但現在出現了一個新的。警告:處理任務java.io.IOException時發生異常:請首先糾正上述警告。**這是我的警告:**警告:有1個未解析的對類或接口的引用。 您可能需要添加缺少的庫罐或更新其版本。 如果您的代碼在沒有缺失的類的情況下正常工作,您可以使用'-twtwarn'選項禁止 警告。 '在大列表上方'注意:....'。我能做些什麼呢? –

+0

正確檢查您是否已在應用程序模塊的build.gradle中正確添加了所有庫。 –

+0

總是從官方GitHub頁面中給出的說明添加庫。 –