2017-02-09 113 views
3

我正在开发一个android库,我想隐藏它的代码。 我正在使用其他库,对于其中的一些库,当试图访问他们的Android Studio代码时,您只能获得该类的方法列表和“/ *编译代码* /”。 我正在使用保护,但我仍然可以访问我的库的源代码。即使方法和成员名称已被修改,代码仍然可读,并且可以读取每个硬编码的字符串。隐藏库源代码

如何以与图书馆相同的方式隐藏我的代码?

+0

检查http://stackoverflow.com/a/9519306/2870088 –

回答

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