2017-04-05 7 views
4

나는 테스트를 위해 sd 카드가있는 4.1 kitkat x86 안드로이드 에뮬레이터를 사용했습니다. Android Studio를 2.3으로 업그레이드 한 후에는 더 이상 제공되는 sdcard에 액세스 할 수 없으며 안드로이드 테스트가 불가능합니다. Google은이 문제에 대한 답변을 얻지 못했고 에뮬레이터 또는 adb 로그에 실마리를 찾지 못했습니다. avd가 새롭게 만들어졌습니다. (낡은 폴더를 삭제하여 goop이 더러워지는 것을 막습니다.) 더 이상 작동하지 않습니다. 모든 단서가 많은이 진짜 쇼 스토퍼 상태가되어 주시면 감사하겠습니다4.1 안드로이드 에뮬레이터가 sd 카드를 감지하지 못했습니다.

$ LD_LIBRARY_PATH=/data1/usr/local/android-sdk/emulator/lib64/qt/lib:/data1/usr/local/android-sdk/emulator/lib64/libstdc++:/data1/usr/local/android-sdk/emulator/lib64:/data1/usr/local/android-studio/bin: /data1/usr/local/android-sdk/emulator/qemu/linux-x86_64/qemu-system-i386 -netdelay none -netspeed full -verbose -avd and4.1 
emulator: Android virtual device file at: /data1/home2/mario/.android/avd/and4.1.ini 
emulator: virtual device content at /data1/home2/mario/.android/avd/and4.1.avd 
emulator: virtual device config file: /data1/home2/mario/.android/avd/and4.1.avd/config.ini 
emulator: using core hw config path: /data1/home2/mario/.android/avd/and4.1.avd/hardware-qemu.ini 
emulator: Found AVD target API level: 16 
emulator: Read property file at /usr/local/android-sdk/system-images/android-16/google_apis/x86//build.prop 
emulator: No boot.prop property file found. 
emulator: Warning: config.ini contains invalid skin.path entry: _no_skin 
emulator: autoconfig: -skin 480x800 
emulator: autoconfig: -skindir (null) 
emulator: autoconfig: -kernel /usr/local/android-sdk/system-images/android-16/google_apis/x86//kernel-ranchu 
emulator: Target arch = 'x86' 
emulator: Auto-config: -qemu -cpu qemu32 
emulator: Auto-detect: Kernel image requires new device naming scheme. 
emulator: Auto-detect: Kernel does support YAFFS2 partitions. 
emulator: autoconfig: -ramdisk /usr/local/android-sdk/system-images/android-16/google_apis/x86//ramdisk.img 
emulator: Using initial system image: /usr/local/android-sdk/system-images/android-16/google_apis/x86//system.img 
emulator: autoconfig: -data /data1/home2/mario/.android/avd/and4.1.avd/userdata-qemu.img 
emulator: autoconfig: -initdata /data1/home2/mario/.android/avd/and4.1.avd/userdata.img 
emulator: autoconfig: -cache /data1/home2/mario/.android/avd/and4.1.avd/cache.img 
emulator: autoconfig: -sdcard /data1/home2/mario/.android/avd/and4.1.avd/sdcard.img 
emulator: Physical RAM size: 1024MB 

emulator: System image is read only 
emulator: GPU emulation enabled using 'mesa' mode 
emulator: Found 1 DNS servers: 127.0.0.1 
emulator: found magic skin width=480 height=800 bpp=16 

emulator: WARNING: encryption is off 
emulator: CPU Acceleration: working 
emulator: CPU Acceleration status: KVM (version 12) is installed and usable. 
emulator: Using default value for kernel Contiguous Memory Allocation. 
sh: 1: glxinfo: not found 
emulator: Found 1 DNS servers: 127.0.0.1 
Content of hardware configuration file: 
hw.cpu.arch = x86 
hw.cpu.model = qemu32 
hw.cpu.ncore = 1 
hw.ramSize = 1024 
hw.screen = multi-touch 
hw.mainKeys = true 
hw.trackBall = true 
hw.keyboard = true 
hw.keyboard.lid = false 
hw.keyboard.charmap = qwerty2 
hw.dPad = false 
hw.gsmModem = true 
hw.gps = true 
hw.battery = true 
hw.accelerometer = true 
hw.audioInput = true 
hw.audioOutput = true 
hw.sdCard = true 
hw.sdCard.path = /data1/home2/mario/.android/avd/and4.1.avd/sdcard.img 
disk.cachePartition = true 
disk.cachePartition.path = /data1/home2/mario/.android/avd/and4.1.avd/cache.img 
disk.cachePartition.size = 66m 
hw.lcd.width = 480 
hw.lcd.height = 800 
hw.lcd.depth = 16 
hw.lcd.density = 240 
hw.lcd.backlight = true 
hw.gpu.enabled = true 
hw.gpu.mode = mesa 
hw.gpu.blacklisted = no 
hw.initialOrientation = Portrait 
hw.camera.back = none 
hw.camera.front = emulated 
vm.heapSize = 256 
hw.sensors.light = true 
hw.sensors.pressure = true 
hw.sensors.humidity = true 
hw.sensors.proximity = true 
hw.sensors.magnetic_field = true 
hw.sensors.orientation = false 
hw.sensors.temperature = true 
hw.useext4 = true 
kernel.path = /usr/local/android-sdk/system-images/android-16/google_apis/x86//kernel-ranchu 
kernel.newDeviceNaming = yes 
kernel.supportsYaffs2 = yes 
disk.ramdisk.path = /usr/local/android-sdk/system-images/android-16/google_apis/x86//ramdisk.img 
disk.systemPartition.initPath = /usr/local/android-sdk/system-images/android-16/google_apis/x86//system.img 
disk.systemPartition.size = 550m 
disk.dataPartition.path = /data1/home2/mario/.android/avd/and4.1.avd/userdata-qemu.img 
disk.dataPartition.size = 2g 
avd.name = and4.1 
. 
QEMU options list: 
emulator: argv[00] = "/data1/usr/local/android-sdk/emulator/qemu/linux-x86_64/qemu-system-i386" 
emulator: argv[01] = "-dns-server" 
emulator: argv[02] = "127.0.0.1" 
emulator: argv[03] = "-serial" 
emulator: argv[04] = "null" 
emulator: argv[05] = "-cpu" 
emulator: argv[06] = "android32" 
emulator: argv[07] = "-enable-kvm" 
emulator: argv[08] = "-m" 
emulator: argv[09] = "1024" 
emulator: argv[10] = "-lcd-density" 
emulator: argv[11] = "240" 
emulator: argv[12] = "-kernel" 
emulator: argv[13] = "/usr/local/android-sdk/system-images/android-16/google_apis/x86//kernel-ranchu" 
emulator: argv[14] = "-initrd" 
emulator: argv[15] = "/usr/local/android-sdk/system-images/android-16/google_apis/x86//ramdisk.img" 
emulator: argv[16] = "-object" 
emulator: argv[17] = "iothread,id=disk-iothread" 
emulator: argv[18] = "-drive" 
emulator: argv[19] = "if=none,overlap-check=none,cache=unsafe,index=0,id=system,file=/data1/home2/mario/.android/avd/and4.1.avd/system.img.qcow2,read-only" 
emulator: argv[20] = "-device" 
emulator: argv[21] = "virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify" 
emulator: argv[22] = "-drive" 
emulator: argv[23] = "if=none,overlap-check=none,cache=unsafe,index=1,id=cache,file=/data1/home2/mario/.android/avd/and4.1.avd/cache.img.qcow2,l2-cache-size=1048576" 
emulator: argv[24] = "-device" 
emulator: argv[25] = "virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify" 
emulator: argv[26] = "-drive" 
emulator: argv[27] = "if=none,overlap-check=none,cache=unsafe,index=2,id=userdata,file=/data1/home2/mario/.android/avd/and4.1.avd/userdata-qemu.img.qcow2,l2-cache-size=1048576" 
emulator: argv[28] = "-device" 
emulator: argv[29] = "virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify" 
emulator: argv[30] = "-drive" 
emulator: argv[31] = "if=none,overlap-check=none,cache=unsafe,index=3,id=sdcard,file=/data1/home2/mario/.android/avd/and4.1.avd/sdcard.img.qcow2,l2-cache-size=1048576" 
emulator: argv[32] = "-device" 
emulator: argv[33] = "virtio-blk-pci,drive=sdcard,iothread=disk-iothread,modern-pio-notify" 
emulator: argv[34] = "-netdev" 
emulator: argv[35] = "user,id=mynet" 
emulator: argv[36] = "-device" 
emulator: argv[37] = "virtio-net-pci,netdev=mynet" 
emulator: argv[38] = "-netdev" 
emulator: argv[39] = "user,id=mynet2,net=10.0.3.0/24" 
emulator: argv[40] = "-device" 
emulator: argv[41] = "virtio-net-pci,netdev=mynet2" 
emulator: argv[42] = "-show-cursor" 
emulator: argv[43] = "-L" 
emulator: argv[44] = "/data1/usr/local/android-sdk/emulator/lib/pc-bios" 
emulator: argv[45] = "-soundhw" 
emulator: argv[46] = "hda" 
emulator: argv[47] = "-vga" 
emulator: argv[48] = "none" 
emulator: argv[49] = "-append" 
emulator: argv[50] = "qemu=1 androidboot.hardware=ranchu clocksource=pit android.qemud=1 console=0 console=0 android.checkjni=1 qemu.gles=1" 
emulator: argv[51] = "-android-hw" 
emulator: argv[52] = "/data1/home2/mario/.android/avd/and4.1.avd/hardware-qemu.ini" 
Concatenated QEMU options: 
/data1/usr/local/android-sdk/emulator/qemu/linux-x86_64/qemu-system-i386 -dns-server 127.0.0.1 -serial null -cpu android32 -enable-kvm -m 1024 -lcd-density 240 -kernel /usr/local/android-sdk/system-images/android-16/google_apis/x86//kernel-ranchu -initrd /usr/local/android-sdk/system-images/android-16/google_apis/x86//ramdisk.img -object iothread,id=disk-iothread -drive if=none,overlap-check=none,cache=unsafe,index=0,id=system,file=/data1/home2/mario/.android/avd/and4.1.avd/system.img.qcow2,read-only -device virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify -drive if=none,overlap-check=none,cache=unsafe,index=1,id=cache,file=/data1/home2/mario/.android/avd/and4.1.avd/cache.img.qcow2,l2-cache-size=1048576 -device virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify -drive if=none,overlap-check=none,cache=unsafe,index=2,id=userdata,file=/data1/home2/mario/.android/avd/and4.1.avd/userdata-qemu.img.qcow2,l2-cache-size=1048576 -device virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify -drive if=none,overlap-check=none,cache=unsafe,index=3,id=sdcard,file=/data1/home2/mario/.android/avd/and4.1.avd/sdcard.img.qcow2,l2-cache-size=1048576 -device virtio-blk-pci,drive=sdcard,iothread=disk-iothread,modern-pio-notify -netdev user,id=mynet -device virtio-net-pci,netdev=mynet -netdev user,id=mynet2,net=10.0.3.0/24 -device virtio-net-pci,netdev=mynet2 -show-cursor -L /data1/usr/local/android-sdk/emulator/lib/pc-bios -soundhw hda -vga none -append 'qemu=1 androidboot.hardware=ranchu clocksource=pit android.qemud=1 console=0 console=0 android.checkjni=1 qemu.gles=1' -android-hw /data1/home2/mario/.android/avd/and4.1.avd/hardware-qemu.ini 
emulator: Starting QEMU main loop 
emulator: registered 'boot-properties' qemud service 
emulator: Adding boot property: 'qemu.sf.fake_camera' = 'front' 
emulator: Initializing hardware OpenGLES emulation support 
emulator: Adding boot property: 'ro.opengles.version' = '131072' 
emulator: Adding boot property: 'dalvik.vm.heapsize' = '256m' 
emulator: Adding boot property: 'qemu.hw.mainkeys' = '1' 
emulator: Adding boot property: 'qemu.sf.lcd_density' = '240' 
emulator: goldfish_events.have-dpad: false 
emulator: goldfish_events.have-trackball: true 
emulator: goldfish_events.have-camera: true 
emulator: goldfish_events.have-keyboard: true 
emulator: goldfish_events.have-lidswitch: false 
emulator: goldfish_events.have-touch: false 
emulator: goldfish_events.have-multitouch: true 
emulator: control console listening on port 5554, ADB on port 5555 
Not using any http proxy 
emulator: android_hw_fingerprint_init: fingerprint qemud listen service initialized 

emulator: OpenGL Vendor=[Google (Intel Open Source Technology Center)] 
emulator: OpenGL Renderer=[Android Emulator OpenGL ES Translator (Mesa DRI Mobile Intel® GM45 Express Chipset)] 
emulator: OpenGL Version=[OpenGL ES 2.0 (2.1 Mesa 10.1.3)] 
emulator: onGuestSendCommand: [0x7f72fc224f20] Adb connected, start proxing data 

쿠분투 14.04 AMD64에서 에뮬레이터를 시작할 때

여기에 출력합니다.

+0

이 ** 안드로이드 에뮬레이터 - 26.0.0를 사용하고 **, ** SDK - 도구 - 26.0 .1 ** 및 ** 플랫폼 도구 -25.0.4 **. ** sdk-tools-25.2.5 **로 다운 그레이드하여 또 다른 gradle 빌드 문제를 해결할 수 있었으며 에뮬레이터 다운 그레이드가 동일한 작업을 수행하는지 궁금해했습니다. 하지만 낡은 우편 번호를 찾을 수 없기 때문에 오늘 밤에 백업을 참조해야합니다. 이 업그레이드는 이제 2 일 동안 먹었습니다. –

+0

"브라우저에서 제공하는 sdcard를 안드로이드에 액세스"하면 출력 스트림을 만들고 코드에서 파일을 쓰는 것과 같은 의미가 있습니다. – Gero

+0

결코 멀리 가지 않았습니다. 안드로이드는 단순히 SD 카드를 보지 못했습니다. –

답변

4

이제 출혈이 많은 이마가 자신의 질문에 답변 할 수 있습니다.

에뮬레이터를 다운 그레이드하면 문제가 해결됩니다. 답이 맞는지는 모르지만 누군가가 대안을 제공 할 때까지해야 할 것입니다.

에뮬레이터의 이전 버전이 sdk-tools 패키지 밖으로 이동 되었기 때문에 찾지 못했습니다. 나는 이미 sdk-tools를 25.2.5로 다운 그레이드 했으므로 간단히 에뮬레이터 패키지를 삭제해야했습니다. 안드로이드 스튜디오 업데이트 이후 내가 수동으로 같은 에뮬레이터를 시작했습니다 :

LD_LIBRARY_PATH=/usr/local/android-sdk/tools/lib64/qt/lib:/usr/local/android-sdk/tools/lib64/libstdc++:/usr/local/android-sdk/tools/lib64:/usr/local/android-studio/bin: /usr/local/android-sdk/tools/qemu/linux-x86_64/qemu-system-i386 -netdelay none -netspeed full -avd and4.1 

하는 and4.1 내 킷캣 이미지였다 곳. 공유 라이브러리를로드하는 동안 오류가 발생했습니다 : libQt5Widgets.so.5

LD_LIBRARY_PATH는 다음과 같은 오류를

/usr/지방/안드로이드 SDK/도구/QEMU/리눅스 x86_64에/QEMU 시스템-i386을 방지 : 공유 객체 파일을 열 수 없습니다. 해당 파일이나 디렉토리가 없습니다.

다른 가난한 영혼을 위해 시간을 낭비 할 경우이 기능을 추가하십시오.

BTW. 다운 그레이드하기 전에 경로이었다 :

/usr/local/android-sdk/emulator/qemu/linux-x86_64/qemu-system-i386

대신 :

/usr/local/android-sdk/tools/qemu/linux-x86_64/qemu-system-i386

+0

나는 이것을 두 번 upvote 할 수 있으면 좋겠다.이처럼 에뮬레이터를 다운 그레이드 할 수는 없었지만 (라이브러리를 포함하면 분명히 다르게 작동 함) 궁극적으로이 전체 Q & A에서 수행 할 수있는 방법을 찾기 위해 투자하지 않았습니다. * 괜찮아요. 26.0.0 에뮬레이터가 문제가 될 수 있습니다 (이전 Android 버전, Icecream Sandwich로 실행). 이제 기기 동작이 정상인지 여부를 확인하기 위해 이전 태블릿을 찾으려면 ... – Gero

관련 문제