我正在开发一个安卓库,我想隐藏它的代码。 我正在使用其他库,对于其中一些库,当尝试使用Android Studio访问其代码时,您只能获得类的方法列表和“/ *编译代码* /”。 我正在使用pro-guard,但我仍然可以访问我的库的源代码。即使修改了方法和成员名称,代码仍然可读,并且可以读取每个硬编码字符串。
如何以与库相同的方式隐藏我的代码?
答案 0 :(得分:2)
只有当您没有库的实际源代码并且反编译器未被激活时,Android Studio才会将实际代码替换为/* compiled code */
。但是,无论是附加源代码还是安装反编译器都是微不足道的。
您可以使用javap
显示任何类的字节码。有关详细信息,请参阅Is it possible to view bytecode of Class file?。
回到原来的问题:不,实际上隐藏代码是不可能的,因为代码需要实际执行它。如果代码在那里你可以看到字节码并反编译它。您拥有的最佳选择是使用Proguard对代码进行模糊处理,这对于隐藏代码不会让您走得太远。请参阅How to avoid reverse engineering of an APK file?和Android ProGuard how to hide/obfuscate source code of exported library。