Unity 接入 Android

前幾天樓主接了android平臺的SDK,接入時的步驟基本上時按照Momo大神的Unity調(diào)用Android步驟去操作的。

在這里就不再復(fù)述那些步驟了。

詳細的接入方法可以查看:Unity3D調(diào)用Android?


在此,寫出我接這個SDK時的一些心得吧!廢話不多說,細節(jié)在下文

1.在Eclipse平臺新建安卓工程的時候,除了Theme不需要太注意之外的其它地方都需要和Unity PlayerSetting對應(yīng)上。


2.配置AndroidManisest.xml

3.打包.class 為 jar

在安卓工程中建議先清理clean一次,然后再build一次工程會比較保險

進入工程的bin下面刪掉下面標記的內(nèi)容后在使用命令生成 jar?



生成jar包的命令 jar-cvf? class.jar *? ? ?

注意點:

1). class.jar 是你要生成的jar包的名稱,這個名稱在Untiy中沒有任何影響,可以任意取名

2). 打成的jar包可以用壓縮工具解壓縮看與包名的路徑是否能對應(yīng)上。建議直接進入到 cd class后使用生成命令



至此調(diào)用android命令就告一段落了。

到此結(jié)束了嗎?當(dāng)然沒有。

還有點常見的錯誤貢獻給大家


1.Unity調(diào)用android提示找不到方法

這種情況是比較多是出現(xiàn)在

1).調(diào)用的方法所在的類沒有繼承UnityActivity

2).Unity工程中路徑錯了,檢查下名字吧

3).方法簽名對不上

eg:

android code:public void getPos();

c# code: jo.Call("getPos",null);? //這段代碼會調(diào)用有 getPos(Object obj) 的方法。


2. 游戲閃退

在登錄游戲時出現(xiàn)閃退并且是移除掉SDK就正常的情況,絕大部分的可能性是android的配置文件 AndroidManisest.xml
?與Unity的PlayerSetting不一致導(dǎo)致的


3.Unity調(diào)用Android時游戲報錯

錯誤信息如下:V/MainActivity Error(30714): Attempt to read from field 'android.os.MessageQueue android.os.Looper.mQueue' on a null object reference

報錯的原因是在非Looper線程中獲取Looper,如果需要深入研究可以去看Android的Handler機制

解決辦法是:把執(zhí)行代碼段使用runOnUiThread方法 (這個方法可以直接在繼承于UnityPlayerActivity的類中調(diào)用)

?至此分享就結(jié)束了。如果有新內(nèi)容我會繼續(xù)在這里追加,請大家關(guān)注。

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

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

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