隐藏库源代码

Hide a library source code

我正在开发一个 android 库,我想隐藏它的代码。 我正在使用其他库,对于其中一些库,当尝试使用 Android Studio 访问他们的代码时,您只能获得 class 和“/* 编译的方法列表code*/”里面。 我正在使用 pro-guard,但我仍然可以访问我的库的源代码。即使修改了方法和成员名称,代码仍然可读,可以读取每个硬编码字符串。

如何像那些库一样隐藏我的代码?

Android Studio 仅在您没有库的实际源代码且未激活反编译器时,才会将实际代码替换为类似 /* compiled code */ 的内容。但是附上源代码或安装反编译器都是微不足道的。

您可以使用 javap 显示任何 class 的字节码。有关详细信息,请参阅 Is it possible to view bytecode of Class file?

回到你原来的问题:不,实际上隐藏你的代码是不可能的,因为需要代码来实际执行它。如果代码在那里,你可以看到字节码并反编译它。您拥有的最佳选择是使用 Proguard 混淆代码,这不会让您在隐藏代码方面走得太远。参见 How to avoid reverse engineering of an APK file? and