【问题标题】:My app is not working after proguardproguard 后我的应用程序无法运行
【发布时间】:2012-06-21 17:37:54
【问题描述】:

我是 proguard 的新手,正在开发 android 应用程序,在使用默认的 android proguard 配置文件(来自 sdk)构建后,没有任何效果,我的假设与在运行时在 R 文件上查找资源的代码有关(是的丑陋的扫描文件并搜索资源 ID)。 我无法从 proguard 文档中了解如何防止文件被 progurad 处理。

我认为了解我的应用程序失败原因的最佳方法是让 proguard 在开始时什么都不做,然后让它一一缩小特定的东西。

所以我想知道的是如何告诉 proguard 保留我所有的类(甚至是无法访问的代码)(这甚至可能吗?)。

然后(希望我的应用能够正常工作)告诉他缩小和混淆特定的类。

我得到的错误是尝试动态加载 R$id 文件时找不到文件异常。

【问题讨论】:

  • 请描述您在运行时或编译时遇到的错误

标签: android proguard


【解决方案1】:

在您的proguard.cfg 中,您可以强制 Proguard 保留某些类:

-keep class com.myapp.SomeClass { *; }

甚至是整个包裹:

-keep class com.myapp.** { *; }

对于仅从 XML 文件引用的类,您当然必须这样做。

【讨论】:

  • 谢谢,但这还不够,我还需要保留文件名,我需要所有 R 文件保持原样。
  • 保留整个包使使用 proguard 毫无意义,因为它不会再混淆您的应用程序
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-28
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多