使用ProGuard混淆Android Library Project源代码

时间:2014-04-16 21:33:46

标签: android adt proguard android-library

我正在使用Eclipse开发一个我想要授权的Android库项目。为了防止我的客户轻松地反向工程和读取我的代码,我想混淆我的库的源代码。根据我的研究,我发现ProGuard似乎最适合我的使用。

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

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

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

1 个答案:

答案 0 :(得分:0)

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

此外,如果您对库进行模糊处理,您通常也希望对其依赖项进行模糊处理,或者将这些依赖项添加到异常中。在前一种情况下,如果不升级整个库,您的客户将无法升级依赖项,后者整个模糊处理将会变弱。

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