【问题标题】:Proguard :Exclude library project in AndroidProguard:在Android中排除库项目
【发布时间】:2013-04-23 11:17:54
【问题描述】:

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

当我在 Project_A 上运行 proguard 时,出现以下错误:

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

错误是指外部 jar 中存在的文件(存在于 Project_B 的库中)

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

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

请让我知道是否有一种方法可以排除 Project_B(library project) 及其 jars 的混淆。我只想在 Project_A 上运行 proguard,而不是在其库项目上。

【问题讨论】:

标签: android proguard


【解决方案1】:

ProGuard 需要整个类层次结构来正确处理应用程序,因此您不能真正忽略该库。

库代码似乎已损坏;很可能,它已被损坏它的工具进行了后处理。某些工具无法正确更新验证信息。此信息是可选的,但 ProGuard 期望其格式正确。您应该检查是否有更新版本的库或后处理工具。

【讨论】:

  • 我使用 shade 插件合并到单个 jar 中。我遇到了同样的错误,ProGuard 指向一个外部库的内部类,上面写着“堆栈映射框架中的未知验证类型 [73]”
猜你喜欢
  • 2014-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-27
  • 2013-02-16
  • 1970-01-01
  • 2015-08-29
相关资源
最近更新 更多