如何在Android Studio中的_EMULATOR_中以编程方式获取SD卡大小

时间:2015-03-28 12:29:35

标签: 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) stat.getAvailableBlocks();

但是,如果我尝试用AVD运行它,我得到的只是0字节。 工具| Android | AVD经理|您的虚拟设备|查看详情给了我这个:

  1. 姓名:Nexus_5_API_21_x86
  2. CPU / ABI:Google API Intel Atom(x86)
  3. 路径:C:\ Users \ Owner.android \ avd \ Nexus_5_API_21_x86.avd
  4. 目标:Google API(API级别21)
  5. 皮肤:nexus_5
  6. SD卡:200M
  7. 快照:没有
  8. hw.dPad:没有
  9. runtime.network.speed:full
  10. hw.accelerometer:是的
  11. hw.device.name:Nexus 5
  12. vm.heapSize:64
  13. skin.dynamic:没有
  14. hw.device.manufacturer:Google
  15. hw.gps:是
  16. hw.audioInput:是
  17. tag.id:google_apis
  18. hw.camera.back:emulated
  19. hw.mainKeys:没有
  20. AvdId:Nexus_5_API_21_x86
  21. hw.camera.front:emulated
  22. hw.lcd.density:480
  23. runtime.scalefactor:auto
  24. avd.ini.displayname:Nexus 5 API 21 x86
  25. snapshot.present:no
  26. hw.device.hash2:MD5:2fa0e16c8cceb7d385183284107c0c88
  27. hw.ramSize:1536
  28. hw.trackBall:没有
  29. hw.battery:是的
  30. hw.sdCard:没有
  31. tag.display:Google API
  32. runtime.network.latency:none
  33. hw.keyboard:no
  34. hw.sensors.proximity:是
  35. disk.dataPartition.size:200M
  36. hw.sensors.orientation:是的
  37. avd.ini.encoding:UTF-8
  38. hw.gpu.enabled:是的
  39. 第6行说我有一张200MB的SD卡;但是,第30行看起来很可疑。它是否与HAXM虚拟化有关?还有一个大问题:如何在运行时获取SD卡/外部存储大小?我真的很感激任何建议,因为我现在正处于亏损状态......:\


    修改 好的,现在我要回答我自己的问题。 从头开始重新构建AVD后,问题就解决了。现在我有我所有的MB。 滑稽。必须是一个小故障或smth ... 不,这与HAXM没有任何关系。在观看了David Gassner的Lynda.com视频教程之后,我感到很沮丧(他也使用了HAXM,没有任何问题。)

0 个答案:

没有答案