0

目前我正在开发小型 Android 项目来练习 Android 编程。但是,一旦上市,我想通过 ProGuard 对 APK 进行混淆/优化。但是这个工具重命名类来混淆代码,所以:

  1. 使用 Android Query 等工具编写代码是否安全?
  2. 如果不安全,有哪些框架示例可以与 Pro Guard 一起安全使用?
  3. 有什么办法可以解决这个问题?还是我应该使用良好的旧 Android 风格编写所有内容而忘记“少写,多做”的方法?
  4. 我如何识别 ProGuard 安全的工具和不安全的工具?
4

1 回答 1

1

我假设您想使用第三方库(jar 文件)。您可以使用 3 步方法:

  1. 如果第三方 jar 明确支持 Android,它将有一个 proguard 配置。通常这是您合并到 proguard-project.txt 中的一个片段。
  2. 如果没有这样的明确支持,您仍然可以尝试使用 jar,混淆并测试您的应用程序。如果发生错误,请逐渐从混淆中排除类,直到它起作用。一个常见的问题是库使用反射来实例化类并调用在混淆后中断的方法。
  3. 从混淆中排除整个库。这在任何情况下都可以工作,proguard 根本不会触及图书馆。(Android 工具链仍会将 jar 的内容重新打包到您的 apk 中,这可能会导致问题。)这也将产生最少混淆的结果,并且应该是您最后的手段。

在任何情况下,混淆都不是您简单地切换的开关。您需要熟悉涉及学习曲线的 proguard 配置文件。

于 2013-08-27T10:01:59.593 回答