Android Apps 主要由 Java 編寫,編譯 (Compile) 時先由 Java Code Compile 成 Java Bytecode,然後再變成 Dalvik Bytecode。
由於 Bytecode 對比 Machine Code 較易被反編譯 (Decompile),
反編譯後甚至連 Variable 及 Class 的名稱都不變,造成 Apps 較易被破解及盜用。
因此 Java 程式發佈通常使用 Obfuscator 把 Bytecode 的 Variable, Class 名稱及邏輯變得難以理解。
Obfuscator 有很多種,但 Android 的世界主要使用 Proguard (其實它還具有Optimizer等功能),
而且它已經被整合進 Android build system,所以只要簡單設定就可以使用(但不代表成功使用…)。
Continue reading “Android ProGuard 常用設定 與 Library 衝突解決 (Gson, ActionbarSherlock)”