遊戲 sdk 開發總結
阿新 • • 發佈:2018-12-10
前言
歷時 2 個月的時間,終於完成了第一個作品,開發過程中產品的邏輯介面經歷了多次改動,而程式碼保持了簡潔清晰,真的學到蠻多東西.
目錄
- sdk 開發的不同點
- 螢幕適配
- 混淆
- 自定義控制元件
- Gradle 設定
sdk 開發的不同點
sdk 和普通 app 有什麼區別呢?
- sdk 是作為一個 module ,也就是程式庫,它不能獨立存在,需要其他app去呼叫.
- sdk 不能引入開源框架,比如圖片處理框架 gilde , 網路框架 retrofit okhttp 等,因為引用該 sdk 的 app 也可能使用相同的開源庫,這就會導致衝突.
- sdk 需要暴露回撥介面給被呼叫者,比如這款遊戲 sdk 中登陸狀態,支付結果都會回撥給遊戲.
螢幕適配
- TextView 的字型大小以dp為單位,而非sp
- 具有虛擬按鍵的手機常常需要做處理,可以動態設定控制元件的位置來解決
- 使用今日頭條螢幕適配方案
混淆
混淆在一定程度上降低程式碼的可讀性,提高反編譯的門檻,並且還可以壓縮app的體積,所以每款應用釋出前需要且必須對程式碼進行混淆。
sdk 的混淆又與應用程式不同,與應用程式想比除了常用的混淆配置外,不能混淆暴露的回撥介面,還需要提供一份混淆配置檔案,防止接入 sdk 後混淆關鍵程式碼導致的閃退崩潰。
自定義控制元件
遊戲 sdk 中的自定義控制元件有:密碼鍵盤,自定義 EditView,區號選擇,懸浮球等,其中大多是難度較低的組合控制元件.
Gradle 設定
Gradle 作為 As 的專案構造工具,比 Ant 更容易新增外部依賴,也就是說當需要用到某個開源工具時,只需要在 build.gradle 檔案裡新增 “implementation”,“compile” 等語句就可以輕鬆引入.
Gradle 分為兩個版本:Gradle 版本和 Gradle 外掛版本,這兩個在 As 中都是要配置的,智慧的 IDEA 已經幫我們自動配置好了.
Gradle 外掛版本配置位置
Gradle 外掛版本配置位置
這倆版本可不能隨便設定,它們的版本號之間有對應關係,詳細配置請移步Android 官網
在實際開發中,我發現一個有趣的現象,遊戲 sdk 在 Eclipse 上的編譯速度更快,但是也經常出現千奇百怪的錯誤.