2014-03-12 47 views
3

我正在使用GenyMotion仿真器(link)。 我的应用程序需要下载并保存一些文件在SD卡中。这行代码返回/storage/emulated/0/作为外部存储路径:Genymotion中外部SD的默认路径

String filePath = Environment.getExternalStorageDirectory().getAbsolutePath(); 

问题是,/storage/emulated/0/目录不可写,我不能保存下载文件这个文件夹中。当我查看DDMS文件资源管理器视图时,/storage/emulated/路径中没有0文件夹,我无权手动创建目录或在此处放置文件。

/mnt/shell/emulated/0/有目录似乎是SD卡(它包含所有默认的安卓目录,并且是可写的),但不会由Environment.getExternalStorageDirectory().getAbsolutePath()方法返回。

为什么这个目录是写保护的? 准确的SD卡存储位置在哪里?

回答

-1

请看/mnt/sdcard文件夹。为我的录音应用程序工作。我能够成功保存SD卡中的录像。使用Environment.getExternalStorageDirectory().getPath()获取sd卡的路径。

+0

我也使用GenyMotion模拟器。 –

+2

好吧,万岁的硬编码信息...不。你怎么看'Environment.getExternalStorageDirectory()'。问题是,为什么框架在实际设备上通常不会失败的情况下返回错误或不可用的信息。 – Bondax

4

不在我的/ mnt/sdcard下。发现它在/ mnt/shell /模拟

+0

谢谢!在代码中,getAbsolutePath()返回/ storage/emulated/0/...,但我无法通过ADM的文件浏览器找到它。感谢你的提示,我在mnt/shell/emulated/0 /中看到它。我相信你的答案是正确的。 – Hong