1. 程式人生 > >遊戲 sdk 開發總結

遊戲 sdk 開發總結

image.png

前言

歷時 2 個月的時間,終於完成了第一個作品,開發過程中產品的邏輯介面經歷了多次改動,而程式碼保持了簡潔清晰,真的學到蠻多東西.

目錄

  • sdk 開發的不同點
  • 螢幕適配
  • 混淆
  • 自定義控制元件
  • Gradle 設定

sdk 開發的不同點

sdk 和普通 app 有什麼區別呢?

  1. sdk 是作為一個 module ,也就是程式庫,它不能獨立存在,需要其他app去呼叫.
  2. sdk 不能引入開源框架,比如圖片處理框架 gilde , 網路框架 retrofit okhttp 等,因為引用該 sdk 的 app 也可能使用相同的開源庫,這就會導致衝突.
  3. sdk 需要暴露回撥介面給被呼叫者,比如這款遊戲 sdk 中登陸狀態,支付結果都會回撥給遊戲.

螢幕適配

  1. TextView 的字型大小以dp為單位,而非sp
  2. 具有虛擬按鍵的手機常常需要做處理,可以動態設定控制元件的位置來解決
  3. 使用今日頭條螢幕適配方案

混淆

混淆在一定程度上降低程式碼的可讀性,提高反編譯的門檻,並且還可以壓縮app的體積,所以每款應用釋出前需要且必須對程式碼進行混淆。

sdk 的混淆又與應用程式不同,與應用程式想比除了常用的混淆配置外,不能混淆暴露的回撥介面,還需要提供一份混淆配置檔案,防止接入 sdk 後混淆關鍵程式碼導致的閃退崩潰。

自定義控制元件

遊戲 sdk 中的自定義控制元件有:密碼鍵盤,自定義 EditView,區號選擇,懸浮球等,其中大多是難度較低的組合控制元件.

Gradle 設定

Gradle 作為 As 的專案構造工具,比 Ant 更容易新增外部依賴,也就是說當需要用到某個開源工具時,只需要在 build.gradle 檔案裡新增 “implementation”,“compile” 等語句就可以輕鬆引入.

Gradle 分為兩個版本:Gradle 版本和 Gradle 外掛版本,這兩個在 As 中都是要配置的,智慧的 IDEA 已經幫我們自動配置好了.

Gradle 外掛版本配置位置

image.png

Gradle 外掛版本配置位置

image.png

這倆版本可不能隨便設定,它們的版本號之間有對應關係,詳細配置請移步Android 官網

image.png

在實際開發中,我發現一個有趣的現象,遊戲 sdk 在 Eclipse 上的編譯速度更快,但是也經常出現千奇百怪的錯誤.