網上已經有很多關於Unity與Android之間的交互,教程基本都一樣,但是裏面有個都強調的重點是創建安卓工程時包名要和unity的bundle id要一致,這樣我就比較疑惑,如果一些通用的功能換個unity工程那不就每次都得建安卓工程導出插件包不就很麻煩?!!所以我特地整理了一下如何做一個通用的給unity使用的安卓插件包,如果有不足,請大家留言指正。
-
創建安卓工程(我使用的是AndroidStudio 2.3.2 和 Unity 5.6)
首先創建安卓工程,我這邊的做法是這個包名可以隨便取得,當然肯定取得有意義最好。
然後一路下一步,到這裏選擇如下
去unity的安裝路徑取出classes.jar包導入到libs文件夾裏,並且右鍵選擇Add As library
然後新建一個Java Class。這裏我建了一個showToast類
編寫代碼,注意紅框裏的
找到build.gradle 文件 :
apply plugin: ‘com.android.application’ 修改爲 apply plugin: ‘com.android.library’
刪除 applicationId 這一行然後點擊“Build -> Build APK”,生成aar文件,用壓縮軟件打開aar文件刪除lib文件夾下的classe.jar
-
導入到Unity中
新建文件夾Plugins/Android,將aar文件導入進來,找到unity安裝路徑下的AndroidManifest.xmi文件導入進來 一般在如下路徑PlaybackEngines/AndroidPlayer/Apk/
修改xml文件
編寫調用c#代碼。這個調用方法非常重要,不用依賴於當前的bunlde id。換個工程導進去一樣也行
壓包運行,發現壓包出錯。根據提示我又刪除了 aar文件裏的res文件夾.重新壓包,一切ok。下面截圖我發現我單詞好像寫錯了……