在Android模拟器设备中无法使用SD卡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android模拟器设备中无法使用SD卡相关的知识,希望对你有一定的参考价值。

我正在尝试使用默认的android AVD模拟器。它工作正常,但我有使用外部存储/ SD卡的问题。

似乎根本没有安装SD卡图像。

Environment.getExternalStorageState()
External: removed

这是我的配置

enter image description here

和配置文件本身

avd.ini.encoding=UTF-8
AvdId=Nexus_4_API_16
PlayStore.enabled=false
abi.type=x86
avd.ini.displayname=Nexus 4 API 16
disk.dataPartition.size=800M
hw.accelerometer=yes
hw.audioInput=yes
hw.battery=yes
hw.camera.back=emulated
hw.camera.front=emulated
hw.cpu.arch=x86
hw.cpu.ncore=4
hw.dPad=no
hw.device.hash2=MD5:6930e145748b87e87d3f40cabd140a41
hw.device.manufacturer=Google
hw.device.name=Nexus 4
hw.gps=yes
hw.gpu.enabled=yes
hw.gpu.mode=auto
hw.initialOrientation=Portrait
hw.keyboard=yes
hw.lcd.density=320
hw.mainKeys=no
hw.ramSize=1536
hw.sdCard=yes
hw.sensors.orientation=yes
hw.sensors.proximity=yes
hw.trackBall=no
image.sysdir.1=system-images/android-16/google_apis/x86/
runtime.network.latency=none
runtime.network.speed=full
sdcard.size=1000M
showDeviceFrame=yes
skin.dynamic=yes
skin.name=nexus_4
skin.path=/Users/user/Library/Android/sdk/skins/nexus_4
tag.display=Google APIs
tag.id=google_apis
vm.heapSize=80

请帮忙解决这个问题。我试图重新创建一个虚拟设备,但这并没有解决问题

UPDATE

这不起作用

  ./emulator -avd Nexus_4_API_16 -sdcard ~/Temp/mainSdCard.img
答案

我发现的唯一解决方案就是测试不同的仿真器。目前我正在使用Nexus 5x with Android 4.3,它工作正常。

另一个可能帮助某人的解决方案是在您创建模拟器之后,停止它并更改Android Studio默认生成的SD卡的大小。

我希望这将有所帮助。

另一答案

在运行较旧的Android版本时,似乎是某些(当前最新的)模拟器版本Android Studio 2.3+的已知错误,例如API 15-18。

https://issuetracker.google.com/issues/37138030

我在使用Android Studio 3.0.1的模拟器27.1.10-4607264(撰写时的最新版本)上发生了这种情况。我目前无法使用任何解决方法,也没有想出如何运行旧的仿真器版本。

使用API​​ 19(Android 4.4)或更新的工作,但如果你想测试旧的Android版本的操作,显然不是一个很好的解决方案。

以上是关于在Android模拟器设备中无法使用SD卡的主要内容,如果未能解决你的问题,请参考以下文章

为从 Android 源代码构建的模拟器创建 SD 卡

android模拟器sd卡中使用

USB忙时捕获LogCat(到SD卡)

如何编程设置android模拟器 sd卡的读写权限

模拟器上 SD 文件夹的 Android ACTION_PICK

在 AVD 模拟器中如何查看 sdcard 文件夹并将 APK 安装到 AVD?