Unity接入多個SDK的通用介面開發與資源管理(三)
接著上篇,介紹SDK資源的導入。首先介紹一下Android Studio工程。
AS工程可以由多個Module組成,我們可以把某個Module作為我們打包的Module,其他的Module當做資源導入到主Module中。我們unity導出的Gradle工程(有一篇介紹了unity出Gradle工程)其實就是一個Module,這裡叫TaiyouxiSDK。所以我們可以把其他SDK資源都做成一個Module,然後把資源分別存放到每個Module中,然後通過配置文件添加到我們需要打包的Module中。這就是資源管理的方式。
這裡我已經做好了buglylibrary和xglibrary,其實就是新建一個Module,把對應的資源文件拷進去,一般是有libs文件夾、res文件夾和Androidmanifest.xml文件。Module里的資源如下:
下面就來介紹一下從unity導出Gradle工程,然後添加SDK資源,到出包的過程。(事先把Android環境搭建好)
(1)從unity中導出Gradle工程。如圖叫TaiyouxiSDK。
(2)把兩個Module:buglylibrary和xglibrary拷進來,把gradle(這裡用的3.3)、build.gradle、gradle.properties、gradlew、gradlew.bat、local.properties、settings.gradle文件拷進來。如圖:(當你用Android Studio打開TaiyouxiSDK後會自動出現這些文件,這裡用命令行出包,沒有使用Android Studio)
然後修改setting.gradle文件內容如下:
include :TaiyouxiSDK, :buglylibrary, :xglibraryn
(2)依次進入TaiyouxiSDK,libs文件夾,把第二篇自己編寫並導出的jar包拷進來,這裡叫QuicksdkDemo。如圖。
(3)修改TaiyouxiSDK文件夾下build.gradle文件。第一處添加兩個依賴工程,第二處修改buildToolsVersion的版本。
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAINnallprojects {n repositories {n flatDir {n dirs libsn }n }n}nnapply plugin: com.android.applicationnndependencies {n compile fileTree(dir: libs, include: [*.jar])n compile project(:buglylibrary)//(1)添加依賴工程n compile project(:xglibrary)//添加依賴工程nn}nnandroid {n compileSdkVersion 26n buildToolsVersion 25.0.1//(2)修改版本nn defaultConfig {n targetSdkVersion 26n applicationId com.taiyouxi.quickn }nn lintOptions {n abortOnError falsen }nn buildTypes {n debug {n jniDebuggable truen }n release {n minifyEnabled falsen proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-unity.txtnn }n }nn}n
(3)需要注意TaiyouxiSDK>src>main文件夾下的AndroidManifest.xml文件,AS會自動合併此文件。和TaiyouxiSDK>src>main>res>values文件夾下的string.xml文件。我在string.xml里配置了申請SDK時給的APP Id 等參數,把所有申請SDK的key、Id等參數放在這裡,然後在java代碼中獲取。
(4)回到最外層文件夾下,Shift+右鍵打開命令行窗口,輸入gradlew assembleDebug,然後回車,如圖。
gradlew assembleDebug n
打包成功如圖:
(5)最後打出的包在Taiyouxi>build>outputs>apk文件夾下,如圖。
我們介紹了把每個SDK資源做成Module,導入時把對應的文件夾拷進來,進行出包。這樣就把每個SDK的資源用文件夾存起來,如果更新資源,把對應的文件夾資源替換掉就可以了。
最後,整篇文章從unity上的通用介面,到Android上的中間件jar包,再到資源統一存放,介紹了如何接入並管理SDK。總結一下,我們做完以上工作後,再接入相關SDK需要哪些步驟:
(1)在unity中調用SDKManager里的與SDK相關的方法。導出Android工程。
(2)把jar包、資源Module和其他文件拷貝到工程。jar包和資源Module是我們在之前就準備好的。
(3)修改主Module中的文件,然後出包。
所以,當我們把每個SDK這樣準備好後,接入還是很方便的。
推薦閱讀:
※Unity中的單例模式、回調函數、消息分發的使用區別?
※Unity接入多個SDK的通用介面開發與資源管理(二)
※教你做Unity第一個遊戲Roll A Ball(上)
※使用頂點投射的方法製作實時陰影
※一個簡單的探照燈shader