我想将游戏的obb(1GB)移动到SD卡。 将obb文件复制到SD卡,并通过符号链接:
su
ln -sf /storage/sdcard1/Android/obb/com.game /sdcard/Android/obb/com.game
但未通过"功能未实施"。
我用谷歌搜索了,并得到了#34;某些文件系统不支持符号链接"。
所以我尝试使用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,任何解决方案? 感谢。
答案 0 :(得分:0)
(如果您正在寻找如何将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命令的源和目标是它们的原始所有者。 该应用程序可以运行得很好!