Java 如何在Android Studio的EMULATOR_uu中以编程方式获取SD卡大小
在调试模式下,这在通过USB线连接的真实小工具上运行良好:Java 如何在Android Studio的EMULATOR_uu中以编程方式获取SD卡大小,java,android-studio,android-sdcard,avd,Java,Android Studio,Android Sdcard,Avd,在调试模式下,这在通过USB线连接的真实小工具上运行良好: StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); long bytesTotal = (long) stat.getBlockSize() * (long) stat.getBlockCount(); long bytesAvail = (long) stat.getBlockSize() * (long)
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesTotal = (long) stat.getBlockSize() * (long) stat.getBlockCount();
long bytesAvail = (long) stat.getBlockSize() * (long) stat.getAvailableBlocks();
然而,如果我尝试用AVD运行它,我得到的只是0字节。工具| Android | AVD管理器|您的虚拟设备|查看详细信息给了我以下信息:
名称:Nexus_5_API_21_x86
CPU/ABI:Google API英特尔Atom x86
路径:C:\Users\Owner.android\avd\Nexus\u 5\u API\u 21\u x86.avd
目标:谷歌API 21级
皮肤:nexus_5
SD卡:200米
快照:没有
hw.dPad:没有
runtime.network.speed:满
是的
硬件设备名称:Nexus 5
vm.heapSize:64
皮肤动力学:没有
硬件设备制造商:谷歌
是的
hw.audioInput:是
tag.id:google\u API
hw.camera.back:仿真
hw.mainKeys:否
AvdId:Nexus_5_API_21_x86
hw.camera.front:仿真
hw.lcd.密度:480
runtime.scalefactor:自动
avd.ini.displayname:Nexus 5 API 21 x86
快照。当前:否
hw.device.hash2:MD5:2fa0e16c8cceb7d385183284107c088
hw.ramSize:1536
hw.轨迹球:没有
电池:是的
硬件SD卡:没有
tag.display:googleapi
runtime.network.latency:无
键盘:没有
hw.sensors.Proximition:是
disk.dataPartition.size:200M
硬件传感器方向:是
avd.ini.编码:UTF-8
hw.gpu.enabled:是
第6行说我有一张200MB的SD卡;不过,第30行看起来相当可疑。它是否与HAXM虚拟化有关?还有一个大问题:如何在运行时获得SD卡/外部存储器的大小?我真的很感激任何建议,因为我现在有点不知所措\
编辑:
好的,现在我来回答我自己的问题。
重新构建AVD后,问题自行解决。现在我有了我所有的MBs。
有趣的一定是小故障或smth。。。
不,和HAXM没有任何关系。我不明白,在观看了David Gassner的Lynda.com视频教程后,他也使用了HAXM,没有问题。回答自己的问题时,通常最好使用下面的“回答自己的问题”按钮来回答自己的问题,这样其他人就会看到你的问题得到了回答。@JonasCz:明白了。TNX。