在 Android 日常开发过程中, 混淆是我们开发 App 的一项必不可少的技能. 只要是我们亲身经历过 App 打包上线的过程, 或多或少都需要了解一些代码混淆的基本操作. 那么, 混淆到底是什么? 它的好处有哪些? 具体效果如何? 别急, 下面我们来一一探索它的 "独特" 魅力.
混淆简介
代码混淆 (Obfuscated code) 是将程序中的代码以某种规则转换为难以阅读和理解的代码的一种行为.
混淆的好处
混淆的好处就是它的目的: 令 APK 难以被逆向工程, 即很大程度上增加反编译的成本. 此外, Android 当中的 "混淆" 还能够在打包时移除无用资源, 显著减少 APK 体积. 最后, 还能以变通方式避免 Android 中常见的 64k 方法数引用的限制.
我们先来看一下混淆前后的 APK 结构对比:
从上面两张图可
来源: http://mobile.51cto.com/ahot-601537.htm