2015-09-04 138 views
0

我想爲我的應用程序使用proguard,我使用的是eclipse。這是配置文件:android -Progaurd返回錯誤1

-dontwarn com.parse.** 

-keep class com.facebook.** { 
*; 
} 


-keepattributes Signature 

#When not preverifing in a case-insensitive filing system, such as Windows. This tool will unpack your processed jars,(if using windows you should then use): 
-dontusemixedcaseclassnames 

#Specifies not to ignore non-public library classes. As of version 4.5, this is the default setting 
-dontskipnonpubliclibraryclasses 

# Optimization is turned off by default. Dex does not like code run 
# through the ProGuard optimize and preverify steps (and performs some 
# of these optimizations on its own).  
-dontoptimize 
-dontpreverify 

-dontwarn android.support.** 

#Specifies to write out some more information during processing. If the program terminates with an exception, this option will print out the entire stack trace, instead of just the exception message. 
-verbose 

#The -optimizations option disables some arithmetic simplifications that Dalvik 1.0 and 1.5 can't handle. Note that the Dalvik VM also can't handle aggressive overloading (of static fields). 
#To understand or change this check http://proguard.sourceforge.net/index.html#/manual/optimizations.html 
#-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 

# Note that if you want to enable optimization, you cannot just 
# include optimization flags in your own project configuration file; 
# instead you will need to point to the 
# "proguard-android-optimize.txt" file instead of this one from your 
# project.properties file. 

#To repackage classes on a single package 
#-repackageclasses '' 

#Uncomment if using annotations to keep them. 
#-keepattributes *Annotation* 

#Keep classes that are referenced on the AndroidManifest 
-keep public class * extends android.app.Activity 
-keep public class * extends android.app.Application 
-keep public class * extends android.app.Service 
-keep public class * extends android.content.BroadcastReceiver 
-keep public class * extends android.content.ContentProvider 
-keep public class * extends android.app.backup.BackupAgentHelper 
-keep public class * extends android.preference.Preference 
-keep public class com.google.vending.licensing.ILicensingService 
-keep public class com.android.vending.licensing.ILicensingService 
#Compatibility library 
-keep public class * extends android.support.v4.app.Fragment 
-keep public class * extends android.app.Fragment 

#To maintain custom components names that are used on layouts XML. 
#Uncomment if having any problem with the approach below 
#-keep public class custom.components.package.and.name.** 

# keep setters in Views so that animations can still work. 
# see http://proguard.sourceforge.net/manual/examples.html#beans 
-keepclassmembers public class * extends android.view.View { 
    void set*(***); 
    *** get*(); 
} 

#To remove debug logs: 
-assumenosideeffects class android.util.Log { 
    public static *** d(...); 
    public static *** v(...); 
    public static *** w(...); 
} 

#To avoid changing names of methods invoked on layout's onClick. 
# Uncomment and add specific method names if using onClick on layouts 
#-keepclassmembers class * { 
# public void onClickButton(android.view.View); 
#} 

#Maintain java native methods 
-keepclasseswithmembernames class * { 
    native <methods>; 
} 


#To maintain custom components names that are used on layouts XML: 
-keep public class * extends android.view.View { 
    public <init>(android.content.Context); 
} 
-keep public class * extends android.view.View { 
    public <init>(android.content.Context, android.util.AttributeSet); 
} 
-keep public class * extends android.view.View { 
    public <init>(android.content.Context, android.util.AttributeSet, int); 
} 

#Maintain enums 
-keepclassmembers enum * { 
    public static **[] values(); 
    public static ** valueOf(java.lang.String); 
} 

#To keep parcelable classes (to serialize - deserialize objects to sent through Intents) 
-keep class * implements android.os.Parcelable { 
    public static final android.os.Parcelable$Creator *; 
} 

#Keep the R 
-keepclassmembers class **.R$* { 
    public static <fields>; 
} 

當我導出應用程序,並建立apk文件,它給我的「Progaurd返回錯誤1」,在領事返回這些錯誤:

 Proguard returned with error code 1. See console 
Warning: com.parse.FacebookAuthenticationProvider$1: can't find superclass or interface com.facebook.android.Facebook$ServiceListener 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find superclass or interface com.facebook.Session$StatusCallback 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find superclass or interface com.facebook.Request$Callback 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SharedPreferencesTokenCachingStrategy 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SharedPreferencesTokenCachingStrategy 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SessionState 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SessionState 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook$ServiceListener 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$StatusCallback 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SessionDefaultAudience 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy 
Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider$1: can't find referenced class com.facebook.android.Facebook$ServiceListener 
Warning: com.parse.FacebookAuthenticationProvider$1: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.FacebookAuthenticationProvider$1: can't find referenced class com.facebook.android.FacebookError 
Warning: com.parse.FacebookAuthenticationProvider$1: can't find referenced class com.facebook.android.FacebookError 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Session$StatusCallback 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request$Callback 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Session 
Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.FacebookRequestError 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.model.GraphObject 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Request$Callback 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.FacebookRequestError 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.model.GraphObject 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Request 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response 
Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response 
Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.Session 
Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.Session 
Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.Session 
Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.android.Facebook 
Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.Session 
     You should check if you need to specify additional program jars. 
Warning: there were 82 unresolved references to classes or interfaces. 
      You may need to specify additional library jars (using '-libraryjars'). 
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) 

在我的應用程序中使用了一些外部庫,我只需要用於混淆的progaurd

你能幫我解決這個問題嗎?

回答

0

更換
-keep class com.facebook.** { *; }

用,

-dontwarn com.facebook.** 
+0

我已經嘗試過這一點,它不會顯示錯誤,並導出應用程序,但導出的應用程序將無法安裝 – navidjons