【问题标题】:Obfuscating Android Library Project source code with ProGuard使用 ProGuard 混淆 Android 库项目源代码
【发布时间】:2014-05-31 23:34:49
【问题描述】:

我正在使用 Eclipse 开发一个想要获得许可的 Android 库项目。为了防止我的客户轻松地进行逆向工程和阅读我的代码,我想混淆我的库的源代码。根据我所做的研究,我发现 ProGuard 似乎被认为是最适合我的使用方法。

我从 Eric Lafortune(ProGuard 的创建者)那里看到了 post,它告诉我库项目不运行 ProGuard,这让我很困惑。为什么它适用于 Android 应用程序项目而不适用于 Android 库项目?也许我只是误读了一些东西......

我已经阅读了几篇关于如何创建 ProGuard 配置文件以及 Ant 构建配置的文章和博客(参见 this 一个)。但这肯定需要我几个小时才能让它工作,如果我设法让它工作的话......更不用说这些帖子和博客可能已经过时了。

所以,我想知道我想要的是否可行,以及我是否朝着正确的方向前进。

【问题讨论】:

    标签: android adt proguard android-library


    【解决方案1】:

    您可以混淆您的库,但您需要将所有公共 API 添加为例外,以便 Proguard 不会触及它。这是很多工作。准备好进行大量测试。

    此外,如果您混淆了您的库,您通常也希望混淆它的依赖项,或者将这些依赖项添加到异常中。在前一种情况下,您的客户将无法在不升级整个库的情况下升级依赖项,在后一种情况下,整个混淆会更弱。

    当然,即使您添加了所有内容,您也可能会遇到更多问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多