我正在尝试编译 goldfish android 内核并使用模拟器运行它。我按照谷歌告诉我的做了一切。(Android内核编译和测试与Android模拟器,如何编译android goldfish 3.4内核并在模拟器上运行)。 昨天,我按照提示,成功地午餐了android-emulator。但是今天当我再次启动模拟器时,它不起作用。引导日志显示它卡在“QEMU Pipe Device:rw, wait_event error”中,谁能帮助我?在此先致谢。
环境:VMware10,ubuntu14.04,goldfish3.4,ASOP_arm,Android4.4
开机日志部分:
Freeing init memory: 148K
type=1403 audit(1445259070.600:2): policy loaded auid=4294967295 ses=4294967295
SELinux: Loaded policy from /sepolicy
type=1404 audit(1445259070.620:3): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295
init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
init: /dev/hw_random not found
init: cannot open '/initlogo.rle'
EXT4-fs (mtdblock0): mounted filesystem with ordered data mode. Opts: barrier=1
EXT4-fs (mtdblock1): VFS: Can't find ext4 filesystem
fs_mgr: Running /system/bin/e2fsck on /dev/block/mtdblock1
e2fsck: executing /system/bin/e2fsck failed: No such file or directory
e2fsck: e2fsck terminated by exit(255)
EXT4-fs (mtdblock1): VFS: Can't find ext4 filesystem
fs_mgr: Cannot mount filesystem on /dev/block/mtdblock1 at /data
init: fs_mgr_mount_all returned an error
init: /dev/hw_random not found
init: Unable to open persistent property directory /data/property errno: 2
type=1400 audit(1445259074.030:4): avc: denied { entrypoint } for pid=36 comm="init" path="/sbin/healthd" dev="rootfs" ino=1232 scontext=u:r:healthd:s0 tcontext=u:object_r:rootfs:s0 tclass=file
healthd: wakealarm_init: timerfd_create failed
healthd: BatteryVoltagePath not found
healthd: BatteryTemperaturePath not found
binder: 36:36 transaction failed 29189, size 0-0
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
type=1405 audit(1445259074.370:5): bool=in_qemu val=1 old_val=0 auid=4294967295 ses=4294967295
avc: received policyload notice (seqno=2)
init: property 'sys.powerctl' doesn't exist while expanding '${sys.powerctl}'
init: powerctl: cannot expand '${sys.powerctl}'
init: property 'sys.sysctl.extra_free_kbytes' doesn't exist while expanding '${sys.sysctl.extra_free_kbytes}'
init: cannot expand '${sys.sysctl.extra_free_kbytes}' while writing to '/proc/sys/vm/extra_free_kbytes'
type=1400 audit(1445259075.370:6): avc: denied { 0x10 } for pid=36 comm="healthd" capability=36 scontext=u:r:healthd:s0 tcontext=u:r:healthd:s0 tclass=capability2
eth0: link up
warning: `rild' uses 32-bit capabilities (legacy support in use)
shell@generic:/ $ QEMU Pipe Device:rw, wait_event error
QEMU Pipe Device:rw, wait_event error
QEMU Pipe Device:rw, wait_event error
QEMU Pipe Device:rw, wait_event error
QEMU Pipe Device:rw, wait_event error
最佳答案
我自己解决了。这个错误的原因是因为android-emulator的switch参数。所以如果你这样做:
root@virtual-machine:/work/android4.4/out/target/product/generic# mv userdata.img userdata.img.bak
然后重启模拟器,模拟器不能使用那个userdata.img。 都是因为 userdata.img。我不知道这件事的细节。也许将来会有人告诉我们。
关于Android 模拟器启动卡在 “QEMU Pipe Device:rw, wait_event error”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33226672/