前几天在Xen或者KVM的guest上运行Android emulator来模拟Android系统的运行。当时是使用64位的Ubuntu 12.10系统作为guest,在其中运行emulator或emulator-x86时遇到“-bash: ./emulator: No such file or directory”的错误提示,这个错误提示的有点莫名其妙,很难看明白到底发生了什么情况。后来,我发现是由于这两个二进制文件是32bit的它会依赖一些32bit的共享库文件,而该64位Ubuntu系统上刚好缺少所需的32位的库。所以,这个问题的解决方法是用“sudo apt-get install ia32-libs”命令安装32位的库。另外可以用“ldd emulator”命令查看一下,emulator执行文件说依赖的共享库有哪些,可能会出现一些是“not found”的情况,然后依次安装相应的共享库即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
linux@Ubuntu12.10:~/android-sdk-linux/tools$ ./emulator-x86 -avd test1 -bash: ./emulator-x86: No such file or directory linux@Ubuntu12.10:~/android-sdk-linux/tools$ ./emulator -avd test1 -bash: ./emulator: No such file or directory linux@Ubuntu12.10:~/android-sdk-linux/tools$ sudo apt-get install ia32-libs linux@Ubuntu12.10:~/android-sdk-linux/tools$ ldd emulator linux-gate.so.1 => (0xf7776000) libutil.so.1 => /lib/i386-linux-gnu/libutil.so.1 (0xf7757000) librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf774e000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7732000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7649000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf761d000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf75ff000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7455000) /lib/ld-linux.so.2 (0xf7777000) |
另外,使用KVM加速的Android emulator在x86平台上用起来还是真不错的。顺手记几个命令吧,下次如果使用时,我也可以方便参考。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
linux@Ubuntu12.10:~/android-sdk-linux/tools$ ./android list targets Available Android targets: ---------- ............ ---------- id: 3 or "android-16" Name: Android 4.1 Type: Platform API level: 16 Revision: 2 Skins: HVGA, WXGA800, WSVGA, WXGA800-7in, WQVGA432, QVGA, WVGA800 (default), WVGA854, WXGA720, WQVGA400 ABIs : armeabi-v7a, x86 linux@Ubuntu12.10:~/android-sdk-linux/tools$ ./android create avd -n test1 -t 3 -b x86 linux@Ubuntu12.10:~/android-sdk-linux/tools$ ./emulator-x86 -avd test1 -qemu -m 1024 -enable-kvm |
关于Android emulator的参考参考资料:
Android SDK下载地址:http://developer.android.com/sdk/index.html#download
emulator的使用:http://developer.android.com/tools/devices/emulator.html
命令行管理AVD文件:http://developer.android.com/tools/devices/managing-avds-cmdline.html
不是做开发的。。。纯支持:)
多谢支持~