android - proguard 之后我的应用程序无法运行

标签 android proguard

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

我认为了解我的应用程序失败原因的最佳方法是让 proguard 一开始不执行任何操作,然后让它一一缩小特定的内容。

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

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

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

最佳答案

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

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

甚至整个包:

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

对于仅从 XML 文件引用的类,您当然必须执行此操作。

关于android - proguard 之后我的应用程序无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11115840/

相关文章:

java - ProGuard 混淆、java、Google Gson 和通用集合——如何保留成员?

php - Android PHP MySQL 搜索结果到ListView

Android在迭代时切换开关按钮

android - 混淆后,Android应用程序崩溃,也混淆了调试版本中收到的日志

java - 为什么 ProGuard 会中断 MySQL 连接,如何修复?

安卓 Proguard Mongodb

android - ProGuard 构建失败 "Unresolved references"

android - 如何在 Activity 之间传递套接字、输入流、输出流对象

android - 如何在 Phonegap 3.4.0 上以编程方式退出应用程序?

java - 想要文件日期但只能使用FileInputStream