2014-09-05 92 views
3

我分析我的应用程序1.5.1,一切工作正常,但是当我去出口APK我得到:解析SDK的Android Proguard的问题

[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 

这让我疯狂!

+0

你最终找到解决方案吗? – drspaceboo 2014-10-02 09:52:07

回答

5

你应该尝试也在密切com.parse的子包:

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

不要添加-libraryjars选项,因为Android编译过程已经自动指定所有必要-injars-outjars,并且-libraryjars为您服务。它只会导致有关重复类的警告。

4

矿固定通过添加这样的:

-keep class com.parse.* { *; } 
-dontwarn com.parse.** 

参考:this post

+0

感谢您的参考。 – Anonsage 2015-07-13 21:26:20