解析SDK Android Proguard问题

3

我已经在我的应用程序中使用了1.5.1的解析器,一切都很正常,但是当我尝试导出APK时,会遇到以下问题:

[2014-09-05 19:53:08 - myapp] Proguard returned with error code 1. See console
[2014-09-05 19:53:08 - myapp] Note: there were 662 duplicate class definitions.
[2014-09-05 19:53:08 - myapp] Warning: com.parse.FacebookAuthenticationProvider$1: can't find superclass or interface com.facebook.android.Facebook$ServiceListener
[2014-09-05 19:53:08 - myapp] Warning: com.parse.FacebookAuthenticationProvider$2: can't find superclass or interface com.facebook.Session$StatusCallback
[2014-09-05 19:53:08 - myapp] Warning: com.parse.FacebookAuthenticationProvider$2$1: can't find superclass or interface com.facebook.Request$Callback
[2014-09-05 19:53:08 - myapp] Warning: com.parse.FacebookAuthenticationProvider: can't find referenced class com.facebook.android.Facebook
......
[2014-09-05 19:53:08 - myapp]   at proguard.Initializer.execute(Initializer.java:321)
[2014-09-05 19:53:08 - myapp]   at proguard.ProGuard.initialize(ProGuard.java:211)
[2014-09-05 19:53:08 - myapp]   at proguard.ProGuard.execute(ProGuard.java:86)
[2014-09-05 19:53:08 - myapp]   at proguard.ProGuard.main(ProGuard.java:492)

在我的proguard.cfg文件中,我有以下内容:

-keepattributes *Annotation*
-keep class com.parse.* { *; } 
-libraryjars libs/Parse-1.5.1.jar 

这让我疯了!!!

你最终找到了解决方案吗? - Cassie
2个回答

5

您应该尝试保留com.parse的子包:

-keepattributes *Annotation*
-keep class com.parse.** { *; }

您不需要添加-libraryjars选项,因为Android构建过程已经自动为您指定了所有必需的-injars-outjars-libraryjars。这样只会导致重复类的警告。

4
我的问题通过添加以下内容得到了解决:
-keep class com.parse.* { *; }
-dontwarn com.parse.**

参考:这篇文章


谢谢提供参考。 - Anonsage

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