經(jīng)常地揽涮,我們需要使用unity來調(diào)用安卓的一些原生功能,比如toast的啊饿肺,或者其他的一些功能蒋困,這些在網(wǎng)上也可以找到許多。
但是敬辣。往往會有一些特殊的需求需要在安卓中調(diào)用unity雪标。具體是什么需求會用到呢?能找到這里的各位心里肯定有自己的答案溉跃。目前網(wǎng)絡(luò)上大多的資源都是使用的eclipse來調(diào)用村刨。但是如今AS已經(jīng)慢慢成為主流。新版本的unity都已經(jīng)支持將工程發(fā)布為AS支持的Gradle撰茎。
本文就主要講解了如何使用AS調(diào)用unity工程嵌牺。
1.unity的工程包名以及所支持的API版本需要和安卓程序相同(不要問我不相同可不可以,可以龄糊。但是誰知道會遇到什么坑逆粹。)
2.其次,要設(shè)置包的keystore炫惩。因為只有設(shè)置了keystore才可以發(fā)出工程文件而不是apk文件僻弹。
3.這樣就可以發(fā)布成AS可以使用的工程文件了
找到你發(fā)布出的工程文件,unity這部分就算是完成了他嚷。
AS
1.進入安卓工程中
通過導(dǎo)入模塊的方式把unity打包出的安卓工程包導(dǎo)入進來蹋绽。讓其作為一個模塊來調(diào)用。
可以看一下setting.gradle中的include是否包含了你的工程筋蓖,當(dāng)然正常情況下肯定是包含了卸耘。
這樣非常方便管理,而且對先前的安卓工程幾乎沒什么影響粘咖。其次我們要修改unity工程中的一些配置鹊奖。
首先是build.gradle中的。需要修改的我已經(jīng)用紅線和圈標出來涂炎。
1忠聚,首先就是將我們unity的工程修改為library设哗。因為我們的包只是作為附加模塊。
2.這個時候如果你build你會發(fā)現(xiàn)他出錯了两蟀。因為我們將其改為library后网梢。defaulyconfig中的appid已經(jīng)不需要了,所以要將他刪掉赂毯。圖中在花圈處已經(jīng)刪掉战虏。
其次,需要修改的是unity打出來包中的AndroidManifest.xml党涕。安卓在其編譯時會將所有的模塊中的Android manifest合并起來烦感,所以我們需要修改的只是多個manifest中相同的地方,因為不同的地方合并后不會沖突膛堤。
如圖所示手趣,我們注釋掉了其中intent-filter中的Main和Launcher這兩行,這兩行的意思是將該activity作為主頁和啟動頁肥荔,很顯然绿渣,我們需要將安卓的頁面作為主頁和啟動頁,所以這兩行需要刪掉燕耿。如果你unity工程中用到了很多第三方的插件中符,那么你就要注意一下,看一下是不是所有的標簽都正確沒有錯誤誉帅,我這邊可是遇到過淀散,因為使用插件過老,標簽過時了的情況蚜锨。
配置到此也就完了吧凉。
接下來就是代碼調(diào)用了。
簡單的調(diào)用如圖所示踏志。
通過在安卓中點擊按鈕然后跳轉(zhuǎn)的unity的場景阀捅。親測可用。
在此要特別感謝我的老友thorn针余。在安卓這塊給了我很多幫助饲鄙。
如果你有什么意見或者建議千萬不要吝嗇評論噢。