前幾天樓主接了android平臺的SDK,接入時的步驟基本上時按照Momo大神的Unity調(diào)用Android步驟去操作的厘线。
在這里就不再復述那些步驟了识腿。
詳細的接入方法可以查看:Unity3D調(diào)用Android?
在此,寫出我接這個SDK時的一些心得吧造壮!廢話不多說渡讼,細節(jié)在下文
1.在Eclipse平臺新建安卓工程的時候,除了Theme不需要太注意之外的其它地方都需要和Unity PlayerSetting對應上耳璧。
2.配置AndroidManisest.xml
3.打包.class 為 jar
在安卓工程中建議先清理clean一次成箫,然后再build一次工程會比較保險
進入工程的bin下面刪掉下面標記的內(nèi)容后在使用命令生成 jar?
生成jar包的命令 jar-cvf? class.jar *? ? ?
注意點:
1). class.jar 是你要生成的jar包的名稱,這個名稱在Untiy中沒有任何影響旨枯,可以任意取名
2). 打成的jar包可以用壓縮工具解壓縮看與包名的路徑是否能對應上蹬昌。建議直接進入到 cd class后使用生成命令
至此調(diào)用android命令就告一段落了。
到此結(jié)束了嗎召廷?當然沒有凳厢。
還有點常見的錯誤貢獻給大家
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不一致導致的
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ù)在這里追加遮精,請大家關注。