我有一个关于如何混淆Android库项目的问题。总而言之,我想混淆一个apklib文件(或者实际上是任何库项目的.java文件),它同时包含.java文件(在Android src/目录中)和XML文件/外部资源(在Android res/目录中)。我希望能够将这个库分发给其他开发人员,类似于Facebook SDK库(参考https://github.com/facebook/facebook-android-sdk)。但是,我希望对代码进行模糊处理,这样我的方法就不会以一种易于阅读的方式公开。
我尝试过在Maven中使用Proguard,但即使在使用Proguard构建了我的项目之后,我的.apklib中的文件也没有被混淆。我也尝试过手动运行Proguard,但我不能让它输出原始的.java文件(可以被另一个项目作为库引用),而不是.class文件。
如果任何人有任何关于如何在apklib / Android库中混淆java代码的信息,我将非常感激。此外,如果不能创建一个混淆的andoroid库,这也是非常有帮助的。
非常感谢你的帮助。
最好的,凯文
发布于 2012-05-04 04:24:08
根据您如何设置android maven插件的proguard目标,您很可能会创建一个模糊的apklib。然而,我还没有尝试过自己。请记住,proguard可能会混淆到辅助工件中,而不是主要apklib中。
你还应该记住,如果你混淆了这个库,你的用户将不得不使用混淆的方法名……这在某种程度上违背了发行版的目的,并将使其非常难以使用,因此它可能是一个坏主意。唯一有效的方法是在不混淆任何公共方法和类名的情况下混淆所有代码。
https://stackoverflow.com/questions/10438726
复制相似问题