我有一个关于如何混淆Android库项目的问题。总的来说,我想混淆一个apklib文件(或任何库项目的.java文件),它包含.java文件(在Android src /目录中)和XML文件/外部资源(在Android res /目录中) )。我希望能够将这个库分发给其他开发人员,类似于Facebook SDK库(https://github.com/facebook/facebook-android-sdk以供参考)。但是,我希望对代码进行模糊处理,以便我的方法不会以易于阅读的方式公开。
我尝试过将Proguard与Maven一起使用,但即使在使用Proguard构建我的项目后,我的.apklib中的文件也没有被混淆。我也试过手动运行Proguard,但我无法输出原始.java文件(可以被另一个项目作为库引用)而不是.class文件。
如果有人有任何关于如何在apklib / Android库中混淆java代码的信息,我将非常感激。此外,了解是否无法创建模糊的andoroid库也非常有用。
非常感谢你的帮助。
最佳, 凯文
答案 0 :(得分:0)
根据你如何设置android maven插件的proguard目标,你很可能会创建一个混淆的apklib。然而,我没有尝试过自己。请记住,proguard可能会混淆为辅助工件,而不会复制到主apklib中。
您还应该记住,如果您对库进行模糊处理,您的用户将不得不使用混淆的方法名称...哪种类型会破坏分发的目的,并且会使其难以使用,因此它可能是馊主意。唯一可行的方法是,如果你混淆了所有代码而没有混淆任何公共方法和类名。