前幾天在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”的情況,然後依次安裝相應的共用庫即可。
| 代碼如下 |
複製代碼 |
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平台上用起來還是真不錯的。順手記幾個命令吧,下次如果使用時,我也可以方便參考。
| 代碼如下 |
複製代碼 |
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