我想添加OBB文件的支持,我遇到了bizare的情况。当我拨打getExternalStorageDirectory()
时,它会返回我的设备上不存在的路径。Android的getExternalStorageDirectory()返回无效的目录
我把这个在我的应用程序的启动:
Log.i(LOG_ID, "XXXXXXXXXXXXXXXX <--- "+Environment.getExternalStorageDirectory().getAbsolutePath());
它返回:
XXXXXXXXXXXXXXXX <--- /storage/emulated/0
但是当我通过adb -d shell
连接和运行ls -al /storage/emulated
我得到:
lrwxrwxrwx root root 2013-12-04 15:17 legacy -> /mnt/shell/emulated/0
正如你所看到的,返回的路径getExternalStorageDirectory()
在我的de上无效副。任何想法,为什么这将是我怎么能找到没有硬编码的OBB文件/mnt/sdcard/
?
编辑:
我刚刚运行一些进一步的测试:
Works - stat("/sdcard/Android/obb");
Fails - stat("/sdcard/Android/obb/uk.co.mycomp.myapp");
[email protected]:/mnt/shell $ ls -ald /sdcard/Android/obb/
drwxrwxr-x root sdcard_rw 2013-12-18 16:42
[email protected]:/mnt/shell $ ls -ald /sdcard/Android/obb/uk.co.mycomp.myapp
drwxrwxr-x root sdcard_rw 2013-12-18 18:36
正如你可以看到两个目录是相同的但我只能访问父。这可能与我的问题没有任何关系......
您是否在您的清单中声明了所需的权限? –
您是否真的尝试过使用代码来访问文件?或者你只是假设它不起作用 – dymmeh
我认为我有正确的权限,但要清楚哪些应该找我? –