[英]Android mount obb to external SD card failed
我想將游戲的obb(1GB)移動到SD卡。 將obb文件復制到SD卡,並通過以下符號鏈接:
su
ln -sf /storage/sdcard1/Android/obb/com.game /sdcard/Android/obb/com.game
但失敗了“功能沒有實現”。
我用谷歌搜索它,並得到“一些文件系統不支持符號鏈接”。
所以我嘗試使用mount by命令:
su
mount -o bind /storage/sdcard1/Android/obb/com.game /sdcard/Android/obb/com.game
但我發現只有root才能看到文件夾中的文件。 然后我做:
cd /system/bin/
chmod 4777 ./toolbox #make anyone can use mount(in toolbox)
su u0_aXXX #the game's uid
mount -o bind /storage/sdcard1/Android/obb/com.game /sdcard/Android/obb/com.game
ls -l /sdcard/Android/obb/com.game
$ -rwxrwx--- u0_aXXX sdcard_r com.game.obb
但是當我
cat /sdcard/Android/obb/com.game/com.game.obb
$ cat: /sdcard/…ame.obb permission denied
我正在使用android5,任何解決方案? 謝謝。
(如果你正在尋找如何將obb移動到外部SD卡並將其重新安裝到內部,這里是正確的地方!)最后我自己找到了這個問題的解決方案! 應用程序無法自行訪問obb,它需要media_rw才能訪問它。 由lsof發現:
sdcard 340 media_rw 15 ??? ??? ??? ???
/data/media/obb/com.game/com.game.obb
sdcard 340 media_rw 17 ??? ??? ??? ???
/data/media/obb/com.game/com.game.obb
com.game 26335 u0_a266 36 ??? ??? ??? ???
/storage/emulated/0/Android/obb/com.game/com.game.obb
com.game 26335 u0_a266 37 ??? ??? ??? ???
/storage/emulated/0/Android/obb/com.game/com.game.obb
所以我必須將外部sdcard文件夾掛載到兩個地方,每個地方必須擁有正確的所有者:
owner folder
u0_a266 /storage/emulated/legacy/Android/obb/com.game
media_rw /data/media/obb/com.game
但如果我將/storage/sdcard1/Android/obb/com.game掛載到這兩個地方,它將成為:
owner folder
u0_a266 /storage/emulated/legacy/Android/obb/com.game
u0_a266 /data/media/obb/com.game
然后我發現如果我這樣做:
mount -o bind /storage/sdcard1/Android/obb/com.game /storage/emulated/legacy/Android/obb/com.game
mount -o bind /mnt/media_rw/sdcard1/Android/obb/com.game /data/media/obb/com.game
我發現這很好用,因為mount命令的源和目標是它們的原始所有者。 該應用程序可以運行得很好!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.