Android:编译APK没有调试符号

时间:2014-06-24 22:10:48

标签: android

我偶然发现了Android APK decompiler,它可以非常准确地重新创建原始源代码。

我相信编译时必须引入某种调试符号(ala gcc' s -g标志),这使得该工具能够反编译源代码。

我可以禁用这些符号吗?如果没有,我如何模糊源代码,以便不能以这种方式反编译?

1 个答案:

答案 0 :(得分:3)

您可以使用ProGuard。它不会禁止反编译,但会让它变得更难。

  

ProGuard工具通过删除未使用的代码并使用语义模糊的名称重命名类,字段和方法来缩小,优化和混淆代码。结果是较小的.apk文件,更难以进行逆向工程。由于ProGuard使您的应用程序更难以进行逆向工程,因此当您的应用程序使用对安全性敏感的功能时(例如,在许可您的应用程序时),使用它非常重要。

     

ProGuard已集成到Android构建系统中,因此您无需手动调用它。只有在发布模式下构建应用程序时,ProGuard才会运行,因此在调试模式下构建应用程序时,不必处理混淆代码。运行ProGuard是完全可选的,但强烈建议。