使用Proguard在ksoap2和actionbarscherlock之间发生冲突

时间:2013-07-31 09:02:24

标签: android obfuscation proguard

我在尝试使用Proguard工具模糊我的应用程序代码时遇到了一些问题。 似乎在同一个项目中使用kso​​ap2和actionbarsherlock发生冲突。

为了缩小调试操作范围,我创建了一个非常简单的Android项目,我使用这两个库。 好吧,如果我只使用actionbarsherlok,我可以成功导出我的应用程序。同样的事情,如果我只使用kso​​ap2但在proguard-project.txt中添加以下行:

 ignorewarnings
-keep class org.kobjects.** { *; }
-keep class org.ksoap2.** { *; }
-keep class org.kxml2.** { *; }
-keep class org.xmlpull.** { *; }

通过添加这些行我避免Proguard生成一堆关于org.xmlpull类的警告。

然后我尝试使用两个库,在proguard-project.txt中留下上面的行我得到:

[2013-07-31 10:47:46 - testproguard] Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.content.Intent depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlSerializer
[2013-07-31 10:47:46 - testproguard] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.content.res.ColorStateList depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.AnimationDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.BitmapDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.ClipDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.ColorDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.LayerDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.ShapeDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.graphics.drawable.ShapeDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlSerializer
[2013-07-31 10:47:46 - testproguard] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-31 10:47:46 - testproguard]       You should check if you need to specify additional program jars.
[2013-07-31 10:47:46 - testproguard] Warning: there were 20 instances of library classes depending on program classes.
[2013-07-31 10:47:46 - testproguard]          You must avoid such dependencies, since the program classes will
[2013-07-31 10:47:46 - testproguard]          be processed, while the library classes will remain unchanged.
[2013-07-31 10:47:46 - testproguard] Error: Method must be overridden in [proguard.optimize.peephole.ClassMerger] if ever called

我似乎在proguard-project.txt中的行不再有效了。

如何解决此问题?

0 个答案:

没有答案