Unity與Android相互通信

環(huán)境介紹:

? Android Studio 3.0?

? ?Gradle ? 3.0.0

?? Unity 2017.3.0b10 personal


1、使用AS構(gòu)建一個app工程


2、導入相關(guān)Unity jar到Studio

????????????Unity 能打包在Android 平臺運行是基于UnityPlayerActivity.java 這個Activity的 ? 源碼路徑E:\Program Files\Unity 2017.3.0b10\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player

? ? ? ? ? ? 我們stuido 代碼中需要繼承它 ?那么就需要引入Unity的classes.jar包 ?路徑地址E:\Program Files\Unity 2017.3.0b10\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes

? ? ? ? ? ? ? ? 將Classes.jar 放入studio項目中


3、刪掉Studio中多余的不需要的文件并主MainActivity繼承 UnityPlayerActivity










4、將Android AAR集成到Unity中

aar是不能直接放到Unity中的 ? 我們需要將aar轉(zhuǎn)成rar ?找到libs中的classes.jar文件刪掉,因為它是unity中拷貝過來的 ? 不能跟著一起再到unity中去不然就報沖突了, 我們將它刪掉之后 然后將AndroidManifest.xml單獨拷貝出來


弄好之后放到unity中

Unity 新建一個Canvas ?放個button ?寫上腳本給Canvas我們來試試 ?腳本名稱androidScripte (隨便起)

AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

AndroidJavaObject jo = jc.GetStatic("currentActivity");

jo.Call("showCurrentTime");


5、打包



最終效果

完畢, ?點擊顯示則顯示時間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容