Android emulator
来源:互联网 发布:php中美元符号 编辑:程序博客网 时间:2024/04/30 15:26
使用 Android emulator 有两种方式,1) Android SDK , 2) 自己 repo sync Android 源代码,编译,运行 emulator.
1). SDK emulator
a). 将 一下路径加入到环境变量:
< android-sdk-linux >/tools
这是为了使用 android 和 emulator 这两个可执行文件,分别用于创建 emulator 和运行。
b). $ android list targets 列出所有可用的targets
android-sdk-linux$ android list targetsAvailable Android targets:----------id: 1 or "android-3" Name: Android 1.5 Type: Platform API level: 3 Revision: 4 Skins: HVGA (default), QVGA-L, QVGA-P, HVGA-P, HVGA-L ABIs : armeabi----------id: 2 or "android-4" Name: Android 1.6 Type: Platform API level: 4 Revision: 3 Skins: WVGA800 (default), HVGA, WVGA854, QVGA ABIs : armeabi----------id: 3 or "android-7" Name: Android 2.1 Type: Platform API level: 7 Revision: 3 Skins: WVGA800 (default), HVGA, WVGA854, WQVGA432, WQVGA400, QVGA ABIs : armeabi----------id: 4 or "android-8" Name: Android 2.2 Type: Platform API level: 8 Revision: 3 Skins: WVGA800 (default), HVGA, WVGA854, WQVGA432, WQVGA400, QVGA ABIs : armeabi----------id: 5 or "android-10" Name: Android 2.3.3 Type: Platform API level: 10 Revision: 2 Skins: WVGA800 (default), HVGA, WVGA854, WQVGA432, WQVGA400, QVGA ABIs : armeabi, x86----------id: 6 or "android-11" Name: Android 3.0 Type: Platform API level: 11 Revision: 2 Skins: WXGA (default) ABIs : armeabi----------id: 7 or "Google Inc.:Google APIs:11" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 1 Description: Android + Google APIs Based on Android 3.0 (API level 11) Libraries: * com.google.android.maps (maps.jar) API for Google Maps Skins: WXGA (default) ABIs : armeabi----------id: 8 or "android-12" Name: Android 3.1 Type: Platform API level: 12 Revision: 3 Skins: WXGA (default) ABIs : armeabi----------id: 9 or "Google Inc.:Google APIs:12" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 1 Description: Android + Google APIs Based on Android 3.1 (API level 12) Libraries: * com.android.future.usb.accessory (usb.jar) API for USB Accessories * com.google.android.maps (maps.jar) API for Google Maps Skins: WXGA (default) ABIs : armeabi----------id: 10 or "Google Inc.:Google TV Addon:12" Name: Google TV Addon Type: Add-On Vendor: Google Inc. Revision: 2 Based on Android 3.1 (API level 12) Skins: WXGA, 1080p-overscan, 1080p, 720p-overscan, 720p (default) ABIs : x86----------id: 11 or "android-13" Name: Android 3.2 Type: Platform API level: 13 Revision: 1 Skins: WXGA (default) ABIs : armeabi----------id: 12 or "Google Inc.:Google APIs:13" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 1 Description: Android + Google APIs Based on Android 3.2 (API level 13) Libraries: * com.android.future.usb.accessory (usb.jar) API for USB Accessories * com.google.android.maps (maps.jar) API for Google Maps Skins: WXGA (default) ABIs : armeabi----------id: 13 or "Google Inc.:Google TV Addon:13" Name: Google TV Addon Type: Add-On Vendor: Google Inc. Revision: 1 Based on Android 3.2 (API level 13) Skins: WXGA, 1080p-overscan, 1080p, 720p-overscan, 720p (default) ABIs : x86----------id: 14 or "android-14" Name: Android 4.0 Type: Platform API level: 14 Revision: 3 Skins: WVGA800 (default), HVGA, WXGA720, WVGA854, WSVGA, WQVGA432, WQVGA400, WXGA800, QVGA ABIs : armeabi-v7a----------id: 15 or "Google Inc.:Google APIs:14" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 2 Description: Android + Google APIs Based on Android 4.0 (API level 14) Libraries: * com.android.future.usb.accessory (usb.jar) API for USB Accessories * com.google.android.maps (maps.jar) API for Google Maps Skins: WQVGA400, WVGA854, WSVGA, WXGA720, HVGA, WQVGA432, QVGA, WVGA800 (default), WXGA800 ABIs : armeabi-v7a----------id: 16 or "android-15" Name: Android 4.0.3 Type: Platform API level: 15 Revision: 3 Skins: WVGA800 (default), HVGA, WXGA720, WVGA854, WSVGA, WQVGA432, WQVGA400, WXGA800, QVGA ABIs : armeabi-v7a, mips, x86----------id: 17 or "Google Inc.:Google APIs:15" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 2 Description: Android + Google APIs Based on Android 4.0.3 (API level 15) Libraries: * com.google.android.media.effects (effects.jar) Collection of video effects * com.android.future.usb.accessory (usb.jar) API for USB Accessories * com.google.android.maps (maps.jar) API for Google Maps Skins: WQVGA400, WVGA854, WSVGA, WXGA720, HVGA, WQVGA432, QVGA, WVGA800 (default), WXGA800 ABIs : armeabi-v7a----------id: 18 or "android-16" Name: Android 4.1.2 Type: Platform API level: 16 Revision: 4 Skins: WVGA800 (default), HVGA, WXGA720, WVGA854, WSVGA, WXGA800-7in, WQVGA432, WQVGA400, WXGA800, QVGA ABIs : armeabi-v7a, mips, x86----------id: 19 or "Google Inc.:Google APIs:16" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 3 Description: Android + Google APIs Based on Android 4.1.2 (API level 16) Libraries: * com.google.android.media.effects (effects.jar) Collection of video effects * com.android.future.usb.accessory (usb.jar) API for USB Accessories * com.google.android.maps (maps.jar) API for Google Maps Skins: WQVGA400, WVGA854, WSVGA, WXGA800-7in, WXGA720, HVGA, WQVGA432, QVGA, WVGA800 (default), WXGA800 ABIs : armeabi-v7a----------id: 20 or "android-17" Name: Android 4.2.2 Type: Platform API level: 17 Revision: 2 Skins: WVGA800 (default), HVGA, WXGA720, WVGA854, WSVGA, WXGA800-7in, WQVGA432, WQVGA400, WXGA800, QVGA ABIs : armeabi-v7a, mips, x86----------id: 21 or "Google Inc.:Google APIs:17" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 3 Description: Android + Google APIs Based on Android 4.2.2 (API level 17) Libraries: * com.google.android.media.effects (effects.jar) Collection of video effects * com.android.future.usb.accessory (usb.jar) API for USB Accessories * com.google.android.maps (maps.jar) API for Google Maps Skins: WQVGA400, WVGA854, WSVGA, WXGA800-7in, WXGA720, HVGA, WQVGA432, QVGA, WVGA800 (default), WXGA800 ABIs : armeabi-v7a
这一步主要是获得 target id
c).$ android create avd -n android-arm-emulator -t 21 创建 emulator
android-sdk-linux$ android create avd -n android-arm-emulator -t 21Auto-selecting single ABI armeabi-v7aCreated AVD 'android-arm-emulator' based on Google APIs (Google Inc.), ARM (armeabi-v7a) processor,with the following hardware config:hw.lcd.density=240vm.heapSize=48hw.ramSize=512
创建好的emulator 位于~/.android 路径下面。
d). 运行 emulator
android-sdk-linux$ emulator -avd android-arm-emulator
e). $ android delete avd -n android-arm-emulator 删除 emulator
android-sdk-linux$ android delete avd -n android-arm-emulatorDeleting file /home/qiang/.android/avd/android-arm-emulator.iniDeleting folder /home/qiang/.android/avd/android-arm-emulator.avdAVD 'android-arm-emulator' deleted.
参考Android 官方Guide:
http://developer.android.com/tools/devices/managing-avds-cmdline.html
http://developer.android.com/tools/devices/emulator.html
2). 使用 source build emulator
a). 编译 emulator generic
$ . build/envsetup.sh && lunch full-eng && make -j 4
如果刚刚编译完,可以直接在编译的那个shell 中直接执行 $ emulator 运行 emulator
当然你不可能每次为了运行个emulator 都编译代码,所以可以按照下面的操作运行
b). $ . build/envsetup.sh && lunch full-eng && emulator
如果想自己指定 system.img/userdata.img/ramdisk.img/kernel-qemu, etc 可以使用下面的命令:
$ . build/envsetup.sh && lunch full-eng && emulator -sysdir out/target/product/generic/ -system out/target/product/generic/system.img -ramdisk out/target/product/generic/ramdisk.img -data out/target/product/generic/userdata.img -kernel prebuilts/qemu-kernel/arm/kernel-qemu-armv7 -memory 512
参考 Android emulator help 信息:
$ emulator -help-build-images |less
$ emulator -help-build-images The emulator detects that you are working from the Android build system by looking at the ANDROID_PRODUCT_OUT variable in your environment. If it is defined, it should point to the product-specific directory that contains the generated system images. In this case, the emulator will look by default for the following image files there: - system.img : the *initial* system image. - ramdisk.img : the ramdisk image used to boot the system. - userdata.img : the *initial* user data image (see below). - kernel-qemu : the emulator-specific Linux kernel image. If the kernel image is not found in the out directory, then it is searched in <build-root>/prebuilts/qemu-kernel/. Skins will be looked in <build-root>/development/tools/emulator/skins/ You can use the -sysdir, -system, -kernel, -ramdisk, -datadir, -data options to specify different search directories or specific image files. You can also use the -cache and -sdcard options to indicate specific cache partition and SD Card image files. For more details, see the corresponding -help-<option> section. Note that the following behaviour is specific to 'build mode': - the *initial* system image is copied to a temporary file which is automatically removed when the emulator exits. There is thus no way to make persistent changes to this image through the emulator, even if you use the '-image <file>' option. - unless you use the '-cache <file>' option, the cache partition image is backed by a temporary file that is initially empty and destroyed on program exit. SPECIAL NOTE: If you are using the emulator with the Android SDK, the information above doesn't apply. See -help-sdk-images for more details.
emulator 默认是 arm 模拟器, 如果自己编译 linux kernel 的话,需要
$ git clone https://android.googlesource.com/kernel/goldfish.git
- Android-Emulator
- Android emulator
- Android emulator
- Android Emulator
- Android-Emulator
- android emulator( android模拟器)
- 【Android】Android Emulator初探
- Android Emulator 学习
- Proxy with Android Emulator
- android emulator找不到avd
- android emulator使用指南
- android 手动配置 emulator
- android emulator 命令详解
- 定制Android emulator
- 如何旋转Android Emulator
- Android Emulator 模拟器使用方法
- android emulator disconnected error
- Android Emulator的常用命令
- 设计模式之解释器模式(Interpreter)
- 使用apachetop来分析apache实时日志
- iOS7 Sprite Kit 学习
- 从数据库读取图片输出到页面中
- git下添加新项目及用户
- Android emulator
- 学习数组时要注意的地方
- 数字游戏
- Strut1和Spring的整合
- 开发者必备的 6 款源码搜索引擎
- activity的生命周期
- USB无线网卡驱动移植(2)
- JSTL详解(一)
- 如何在360短信拦截之前拦截短信