2013-04-23 35 views
6

我有两个项目Project_A和Project_B。 Project_B是Project_A的库项目。 Project_B在其libs文件夹中有外部jar。Proguard:在Android中排除库项目

,当我在Project_A运行ProGuard的,我得到的错误是:

(Unknown verification type [69] in stack map frame)) 

错误是指存在于外部JAR文件(这是目前在Project_B的LIBS)

我使用标准我们在android SDK中获得的proguard.cfg文件。

我已经尝试过“-keep class。**”,但我仍然得到相同的错误。

请让我知道是否存在一种方式,我可以排除Project_B(库项目)和它的罐子混淆。我只想在Project_A上运行proguard,而不是在其库项目上运行。

+0

http://tools.android.com/recent/proguardimprovements。检查示例@ http://proguard.sourceforge.net/index.html#manual/examples.html – Raghunandan 2013-04-23 11:20:44

回答

0

ProGuard需要整个类层次结构来正确处理应用程序,所以您不能真正离开库。

库代码似乎已损坏;最有可能的是,它已经被损坏它的工具后处理。有些工具不能正确更新验证信息。这些信息是可选的,但ProGuard预计它会被正确组建。您应该检查是否有更新版本的库或后处理工具。

+0

我使用阴影插件合并成单个jar.I'm得到相同的错误,ProGuard指向一个内部类的一个外部库在堆栈映射帧中显示“未知验证类型[73]” – nish1013 2014-04-04 12:11:43

相关问题