Android 外掛 101 - 簡介
通過這個系列,我廣泛使用外部連結,我鼓勵你閱讀。雖然這裡將包含相關內容的釋義版本,但有時候附加閱讀會有所幫助。
從 Android 外掛開始
目前,Unity 提供了兩種呼叫原生 Android 程式碼的方法。
- 用 Java 編寫原生 Android 程式碼,並使用 C#呼叫這些 Java 函式
- 編寫 C#程式碼直接呼叫屬於 Android OS 的函式
為了與本機程式碼互動,Unity 提供了一些類和函式。
- AndroidJavaObject - 這是 Unity 提供的與本機程式碼互動的基類。幾乎從本機程式碼返回的任何物件都可以儲存為 AndroidJavaObject
- AndroidJavaClass - 從 AndroidJavaObject 繼承。這用於引用本機程式碼中的類
- 獲取 / 設定本機物件例項的值以及靜態 GetStatic / SetStatic版本
- Call / CallStatic 呼叫本機非靜態和靜態函式
概述建立外掛和術語
- 在 Android Studio 中編寫本機 Java 程式碼
- 匯出 JAR / AAR 檔案中的程式碼(此處為 JAR 檔案和 AAR 檔案的步驟 )
- 將 JAR / AAR 檔案複製到 Assets / Plugins / Android 的 Unity 專案中 ****
- 在 Unity 中編寫程式碼(C#一直是這裡的方法)來呼叫外掛中的函式
請注意,前三個步驟僅適用於你希望擁有本機外掛的情況!
從現在開始,我將 JAR / AAR 檔案稱為本機外掛,將 C#指令碼稱為 C#包裝器
在外掛建立方法之間進行選擇
很明顯,第一種建立外掛的方法是長期繪製的,所以選擇你的路線似乎沒有實際意義。但是,方法 1 是呼叫自定義程式碼的唯一方法。那麼,人們如何選擇?
簡單地說,你的外掛
- 涉及自定義程式碼 - 選擇方法 1
- 只呼叫原生 Android 功能? - 選擇方法 2
請不要試圖混合(即外掛的一部分使用方法 1,另一部分使用方法 2)這兩種方法! 雖然完全可能,但管理通常是不切實際和痛苦的。