unity android 分包,Unity以分包(obb)形式集成到安卓原生 我慢慢填坑
Unity以分包(obb)形式集成到安卓原生 我慢慢填坑
Unity以分包(obb)形式集成到安卓原生 我慢慢填坑
工作中有需要將unity項(xiàng)目集成到安卓原生中,隨著工作推進(jìn)需要分包去發(fā)布到google ,那么這時(shí)候就需要在unity出包時(shí)進(jìn)行分包(android project+ obb)。
使用方法也是將unity部分當(dāng)資源去調(diào)用,具體方法這里不講。只講分包后的注意點(diǎn)。(默認(rèn)有一定的as使用基礎(chǔ))
我是做unity開發(fā)的,那么第一次肯定出apk加obb形式進(jìn)行測試我們這邊功能是否正確。(經(jīng)過測試沒有問題)。第二步 出android project加obb模式,這時(shí)候obb和工程時(shí)在同一目錄下以 =》項(xiàng)目名稱.main.obb 命名。
如何正確使用obb呢?
1.將obb名稱修改成mian.[Bundle Version Code].[Package Name].obb 這里需要注意一下
2.將unity導(dǎo)出工程放入安卓項(xiàng)目中,理論只替換assets、jniLibs和libs
那么這時(shí)候點(diǎn)編譯將工程部署到測試機(jī)中(這里講一下我們是真機(jī)去調(diào)試沒用自帶的模擬器)
apk安裝成功之后是可以運(yùn)行但是會(huì)發(fā)現(xiàn)報(bào)錯(cuò),原因是原來引用的一些資源沒有被正確找到加載。obb就是存儲(chǔ)那些資源的一個(gè)壓縮包。關(guān)閉apk,將obb放入手機(jī)存儲(chǔ)目錄下 android/obb/[Package Name]/mian.[Bundle Version Code].[Package Name].obb 。重啟apk
注意!!!
這時(shí)候如果你是使用Application.streamingAssetsPath去讀取streamingassets文件夾下的某個(gè)文件時(shí)可能會(huì)出現(xiàn)找不到的問題!!輸出一下路徑大概是這個(gè)樣子 =》jar:file:///data/app/x’x’x’x’x’x’x’x’x’x/base.apk!/assets/config_plat.json
那這個(gè)意思可以理解為是獲取apk安卓包的安卓路徑 并不是我們放置obb的位置的東西??
Excuse me? 我放了你不用?搞我? (搞了我很久 可能我比較菜 安卓懂得太少了)
最開始懷疑路徑需要拼 ×
后來懷疑打包有問題 ×
插播一條舊聞=》
下面有unity對應(yīng)的安卓路徑給有需要的人
Application.dataPath : /data/app/xxx.xxx.xxx.apk
Application.streamingAssetsPath : jar:file:///data/app/xxx.xxx.xxx.apk/!/assets
Application.persistentDataPath : /data/data/xxx.xxx.xxx/files
Application.temporaryCachePath : /data/data/xxx.xxx.xxx/cache
obb有問題?那我就看看。修改后綴為zip 解壓! 其中就是資源目錄 巴拉巴拉一堆。也沒發(fā)現(xiàn)有特殊內(nèi)容。唯一特殊一點(diǎn)的就是一個(gè)0Kb文件(這個(gè)很重要!!!!!)。因?yàn)椴惶畹讓拥恼{(diào)用obb原理也沒有懷疑這個(gè)東西!大錯(cuò)特錯(cuò)!這個(gè)文件有用!!!大大地有用!!!emmmm確切的說是文件名字有用。
最開始有疑問的地方是自己出apk加obb可以用為啥??放到別的項(xiàng)目用就不行呢。查了一下androidmanifest文件,其中有個(gè)unity build.id 值記錄了一個(gè)和0kb文件名字類似的東西……
Androidmanifest.xml
莫非……嗯……果然……好了
到這里原生項(xiàng)目可以正常調(diào)用obb包內(nèi)的資源了。
謝謝!
不會(huì)排版 湊合看吧 有問題私信 (小聲bb一下 我可能也不常在)
如果有問題請加725608640 qq 群
原創(chuàng)轉(zhuǎn)發(fā)請帶鏈接!
Unity以分包(obb)形式集成到安卓原生 我慢慢填坑相關(guān)教程
總結(jié)
以上是生活随笔為你收集整理的unity android 分包,Unity以分包(obb)形式集成到安卓原生 我慢慢填坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 使用nullable_Java
- 下一篇: html文本改,编辑html格式文本可改