Android ProGuard 常用設定 與 Library 衝突解決 (Gson, ActionbarSherlock)

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)”

香港 HK1980 方格網坐標 ⇄ WGS84 GPS 經緯度 (2017 新方法)

香港政府 DataOne 提供很多有用的資料庫,有些位置資料庫(例如”香港政府WiFi通”)裡面的座標並不是我們見慣的GPS座標 而是”香港 1980 方格網坐標”

問題是 Google Maps 和手機的系統只有GPS座標系統可用。
必須找個公式把座標轉換才行。

2017-03-22 更新:
Java Applet 版本的已經下架了, 現在新的 Script 是 Server side 的, 所以這方法已經無效了
三年過去了, 人總要進步, 是時候脫離偏門左道了

Google 研究了一番, 找來了正統的新方法 (proj.4)
這次的大部分 Program Language 都適用喔

Continue reading “香港 HK1980 方格網坐標 ⇄ WGS84 GPS 經緯度 (2017 新方法)”