ProGuard无法找到引用的库

36
[2014-07-15 23:57:43 - MozMeet] Proguard returned with error code 1. See console
[2014-07-15 23:57:43 - MozMeet] Note: there were 662 duplicate class definitions.
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$1: can't find superclass or interface com.facebook.android.Facebook$ServiceListener
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find superclass or interface com.facebook.Session$StatusCallback
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find superclass or interface com.facebook.Request$Callback
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SharedPreferencesTokenCachingStrategy
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SharedPreferencesTokenCachingStrategy
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$Builder
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SessionState
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SessionState
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook$ServiceListener
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$StatusCallback
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.SessionDefaultAudience
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session$OpenRequest
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.TokenCachingStrategy
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$1: can't find referenced class com.facebook.android.Facebook$ServiceListener
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$1: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$1: can't find referenced class com.facebook.android.FacebookError
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$1: can't find referenced class com.facebook.android.FacebookError
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Session$StatusCallback
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request$Callback
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Request
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2: can't find referenced class com.facebook.SessionState
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.FacebookRequestError
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.model.GraphObject
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Request$Callback
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.FacebookRequestError
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.model.GraphObject
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Request
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find referenced class com.facebook.Response
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.android.Facebook
[2014-07-15 23:57:43 - MozMeet] Warning: com.parse.ParseFacebookUtils: can't find referenced class com.facebook.Session
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.Cache
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.Cache
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet]       You should check if you need to specify additional program jars.
[2014-07-15 23:57:43 - MozMeet] Warning: there were 95 unresolved references to classes or interfaces.
[2014-07-15 23:57:43 - MozMeet]          You may need to specify additional library jars (using '-libraryjars').
[2014-07-15 23:57:43 - MozMeet] Error: Please correct the above warnings first.  

这是我在启用ProGuard尝试导出Android应用程序时遇到的错误列表。稍微搜索了一下,我发现我需要将jar文件添加到proguard-project.txt中。 到目前为止,我已经添加了以下内容(但没有效果):
-keepattributes SourceFile,LineNumberTable
-keep class com.parse.*{ *; }
-libraryjars \libs\Parse-1.5.1.jar
-keepclasseswithmembernames class * {
    native <methods>;
}  

除了Parse之外,我还有3个库,分别是Crashlytics、Picasso和V4 Support。

1个回答

82

proguard-project.txt 文件进行了一些更改(如果您的项目有多个模块,请将其放在调用您收到警告的 *.jar 文件的模块中):

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

-dontwarn行是必要的。基本上,它们告诉ProGuard这些jar包本身可以正常工作,因此当您无法找到它们引用的类时,请不要抱怨。


2
“-dontwarn”选项确实告诉ProGuard抑制警告并继续。您不应将“-libraryjars”添加到配置中。Android构建过程(Ant,Eclipse,Gradle)已经为您指定了这些选项。 - Eric Lafortune
1
在我使用Picasso构建apk的情况下,proguard.flags需要添加-dontwarn com.squareup.picasso.** - cwhsu
1
在我的情况下,问题确切地出在使用了那个通用的 proguard-project.txt 而不是 in-project 的 proguard-rules.pro。Android Studio会检查你的简单错误。例如,我在“-”和“keep”之间或者在点号和星号之间放了一个空格。 - CodeToLife

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接