2013-04-05 58 views
9

我取消註釋中project.prpertiesAndroid項目:導出問題啓動取消! ProGuard和錯誤代碼1.請查看控制檯返回

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 

下面一行的工作progard,它是工作的罰款。

但是,當我加入Android的支持,v4.jar庫,而出口簽名的應用程序項目

Launch canceled! 
Proguard returned with error code 1. See console 
Note: there were 316 duplicate class definitions. 
Warning: com.google.android.gms.common.images.ImageManager$a: can't find superclass or interface android.content.ComponentCallbacks2 
Warning: com.google.android.gms.maps.MapFragment: can't find superclass or interface android.app.Fragment 
Warning: com.google.android.gms.common.GooglePlayServicesUtil: can't find referenced field 'int smallestScreenWidthDp' in class android.content.res.Configuration 
Warning: com.google.android.gms.common.images.ImageManager: can't find referenced method 'void registerComponentCallbacks(android.content.ComponentCallbacks)' in class android.content.Context 
Warning: com.google.android.gms.common.images.ImageManager$a: can't find referenced class android.content.ComponentCallbacks2 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment$a: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment$a: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment$b: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment$b: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment$b: can't find referenced class android.app.Fragment 
Warning: com.google.android.gms.maps.MapFragment$b: can't find referenced class android.app.Fragment 
    You should check if you need to specify additional program jars. 
Warning: there were 21 unresolved references to classes or interfaces. 
     You may need to specify additional library jars (using '-libraryjars'). 
Warning: there were 2 unresolved references to program class members. 
     Your input classes appear to be inconsistent. 
     You may need to recompile them and try again. 
     Alternatively, you may have to specify the option 
      '-dontskipnonpubliclibraryclassmembers'. 
java.io.IOException: Please correct the above warnings first. 
at proguard.Initializer.execute(Initializer.java:321) 
at proguard.ProGuard.initialize(ProGuard.java:211) 
at proguard.ProGuard.execute(ProGuard.java:86) 
at proguard.ProGuard.main(ProGuard.java:492) 

遇到錯誤我嘗試添加以下行的ProGuard-project.txt但它不工作

-dontwarn android.support.** 
-dontwarn com.google.ads.** 
-libraryjars libs/android-support-v4.jar 
-keep public class * extends com.phonegap.api.Plugin 
-keep public class org.apache.cordova.DroidGap 
-keep public class org.apache.cordova.** 
-dontwarn android.webkit.* 
-dontwarn org.apache.** 
-dontwarn android.support.v7.widget.** 
-keep class android.support.v7.widget.** { *; } 
-dontwarn com.google.ads.** -keep class com.google.ads.** {*;} 
-keep class com.google.android.gms.analytics.** 
-keep class com.google.analytics.tracking.** 
-dontwarn com.google.android.gms.analytics.** 
-dontwarn com.google.analytics.tracking.** 
-keep class com.google.ads.** { *; } 
-dontwarn com.google.ads.** 
-keep public class com.admob.android.ads.** {*;} 

回答

17

我自己找到了答案。 在proguard-project.txt文件中添加2行以下解決了問題。

-dontwarn com.google.android.gms.* 
-ignorewarnings 
+8

你可以只用'-dontwarn com.google.android.gms * *'如果你不想忽略所有警告。 – Pool 2013-11-23 16:52:39

1

雖然我不喜歡把警告的時候,我需要使用-dontwarn這樣說:

-dontwarn com.google.android.gms.** 
相關問題