我必须测试一个使用 Google 地图的现有 android 应用程序。我能够在带有 Google API(API 17)的模拟器 AVD 中运行它。我必须在三星 Galaxy S4 (1920x1080) 等高分辨率设备上对其进行测试。然后我更新了 SDK,现在所有带有 Google API 的 AVD(旧的和新创建的)的行为方式都相同:它启动但在启动后,一个发生分段错误(核心转储)并崩溃。DDMS 监视器显示最后一个错误与 EGL 有关。
我正在使用 2GB RAM 和 AMD Turion64 1.6Ghz 处理器的 linux 机器(Fedora,内核 2.6.35)运行模拟器。
尝试使用 API 16、17 和 18 运行它,仍然出现相同的错误。带有普通 SDK 的 AVD 工作正常,问题在于启用 Play、地图服务等的 Google API。也尝试了 emulator-arm 但它甚至无法启动。
在这个( Android 模拟器分段错误)中尝试了提示,但这不起作用。这是运行 Nexus10 (2560x1600) 的 AVD 时的输出:
[rajeesh@localhost ~]$ emulator -avd N10APINew -verbose -scale .3
emulator: found SDK root at /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit
emulator: Android virtual device file at: /home/rajeesh/.android/avd/N10APINew.ini
emulator: virtual device content at /home/rajeesh/.android/avd/N10APINew.avd
emulator: virtual device config file: /home/rajeesh/.android/avd/N10APINew.avd/config.ini
emulator: using core hw config path: /home/rajeesh/.android/avd/N10APINew.avd/hardware-qemu.ini
emulator: Found AVD target API level: 16
emulator: 'magic' skin format detected: 2560x1600
emulator: autoconfig: -skin 2560x1600
emulator: autoconfig: -skindir (null)
emulator: keyset loaded from: /home/rajeesh/.android/default.keyset
emulator: found SDK root at /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit
emulator: trying to load skin file '/media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/tools/lib/emulator/skins/dynamic//layout'
emulator: loaded dynamic skin width=2560 height=1600 bpp=16
emulator: autoconfig: -kernel /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/system-images/android-16/armeabi-v7a//kernel-qemu
emulator: autoconfig: -ramdisk /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/add-ons/addon-google_apis-google-16/images/armeabi-v7a//ramdisk.img
emulator: Using initial system image: /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/add-ons/addon-google_apis-google-16/images/armeabi-v7a//system.img
emulator: autoconfig: -data /home/rajeesh/.android/avd/N10APINew.avd/userdata-qemu.img
emulator: autoconfig: -initdata /home/rajeesh/.android/avd/N10APINew.avd/userdata.img
emulator: autoconfig: -cache /home/rajeesh/.android/avd/N10APINew.avd/cache.img
emulator: Physical RAM size: 1024MB
Content of hardware configuration file:
hw.cpu.arch = arm
hw.cpu.model = cortex-a8
hw.ramSize = 1024
hw.screen = touch
hw.mainKeys = no
hw.trackBall = no
hw.keyboard = yes
hw.keyboard.lid = no
hw.keyboard.charmap = qwerty2
hw.dPad = no
hw.gsmModem = yes
hw.gps = yes
hw.battery = yes
hw.accelerometer = yes
hw.audioInput = yes
hw.audioOutput = yes
hw.sdCard = no
disk.cachePartition = yes
disk.cachePartition.path = /home/rajeesh/.android/avd/N10APINew.avd/cache.img
disk.cachePartition.size = 66m
hw.lcd.width = 2560
hw.lcd.height = 1600
hw.lcd.depth = 16
hw.lcd.density = 320
hw.lcd.backlight = yes
hw.gpu.enabled = yes
hw.camera.back = none
hw.camera.front = none
vm.heapSize = 128
hw.sensors.proximity = no
hw.sensors.magnetic_field = yes
hw.sensors.orientation = yes
hw.sensors.temperature = yes
hw.useext4 = no
kernel.path = /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/system-images/android-16/armeabi-v7a//kernel-qemu
kernel.parameters = android.checkjni=1
disk.systemPartition.initPath = /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/add-ons/addon-google_apis-google-16/images/armeabi-v7a//system.img
disk.systemPartition.size = 200m
disk.dataPartition.path = /home/rajeesh/.android/avd/N10APINew.avd/userdata-qemu.img
disk.dataPartition.size = 200m
avd.name = N10APINew
.
QEMU options list:
emulator: argv[00] = "/home/rajeesh/droid-kit/tools/emulator-arm"
emulator: argv[01] = "-android-hw"
emulator: argv[02] = "/home/rajeesh/.android/avd/N10APINew.avd/hardware-qemu.ini"
Concatenated QEMU options:
/home/rajeesh/droid-kit/tools/emulator-arm -android-hw /home/rajeesh/.android/avd/N10APINew.avd/hardware-qemu.ini
emulator: registered 'boot-properties' qemud service
emulator: nand_add_dev: system,size=0xc800000,initfile=/media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/add-ons/addon-google_apis-google-16/images/armeabi-v7a//system.img
emulator: mapping 'system' NAND image to /tmp/android-rajeesh/emulator-Tt0j9K
emulator: rounding devsize up to a full eraseunit, now c810000
emulator: nand_add_dev: userdata,size=0xc800000,file=/home/rajeesh/.android/avd/N10APINew.avd/userdata-qemu.img
emulator: rounding devsize up to a full eraseunit, now c810000
emulator: registered 'boot-properties' qemud service
emulator: Adding boot property: 'dalvik.vm.heapsize' = '128m'
emulator: Adding boot property: 'qemu.sf.lcd_density' = '320'
emulator: Adding boot property: 'qemu.hw.mainkeys' = '0'
emulator: Adding boot property: 'qemu.sf.fake_camera' = 'none'
emulator: nand_add_dev: cache,size=0x4200000,file=/home/rajeesh/.android/avd/N10APINew.avd/cache.img
emulator: Initializing hardware OpenGLES emulation support
failed to create drawable
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
failed to create drawable
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
emulator: Kernel parameters: qemu.gles=1 qemu=1 console=ttyS0 android.qemud=ttyS1 android.checkjni=1 ndns=1
emulator: Trace file name is not set
emulator: Could not open file: (null)/system/build.prop: No such file or directory
emulator: control console listening on port 5554, ADB on port 5555
emulator: sent '0012host:emulator:5555' to ADB server
emulator: ping program: /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/tools/ddms
emulator: ping command: /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/tools/ddms ping emulator 22.2.1.0 "Mesa Project" "Software Rasterizer" "2.1 Mesa 7.9"
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
[2]+ Done android avd
Segmentation fault (core dumped)
[rajeesh@localhost ~]$