构建源代码后加载模拟器

时间:2012-03-21 20:50:09

标签: android emulation android-source

我根据此处提到的说明下载并构建了Android源:但我无法启动模拟器。以下是我的PATH,我不得不手动添加模拟器路径:

$ echo $PATH
/usr/lib/jvm/java-6-sun/bin:/home/anil_ubuntu/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/s    bin:/usr/bin:/sbin:/bin:/usr/games:/home/anil_ubuntu/androidsrc/out/host/linux-x86/bin:/home/anil_ubuntu/androidsrc/prebuilt/linux-x86/toolchain/arm-linux-androideabi- 4.4.x/bin:/home/anil_ubuntu/androidsrc/development/emulator/qtools:/home/anil_ubuntu/android    src/prebuilt/linux-x86/toolchain/arm-linux-androideabi-   4.4.x/bin:/home/anil_ubuntu/androidsrc/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
anil_ubuntu@work:~/androidsrc$ 

5 个答案:

答案 0 :(得分:2)

我认为更简单的方法如下:

再次重新构建构建环境,它很快。 有两种方法:

1) $。 build / envsetup.sh&&午餐全英和&模拟器

这样Android会自动搜索system.img / userdata.img / ramdisk.img / kernel-qemu等。 如果您需要自己指定system.img / userdata.img等,请使用2)方法。

2) $。 build / envsetup.sh&&午餐全英和&模拟器-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

答案 1 :(得分:1)

在android源项目的根文件夹中使用以下代码创建一个脚本文件,并在构建后运行它。在我的情况下,它完美地工作,但您可能需要更改一些参数:

out/host/linux-x86/bin/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 prebuilt/android-arm/kernel/kernel-qemu -sdcard sdcard.img -skindir sdk/emulator/skins -skin WVGA800 -scale 0.7 -memory 512 -partition-size 1024

答案 2 :(得分:1)

您可以将这些内容添加到 .bashrc 文件

  

export ANDROID_PRODUCT_OUT = $ ANDROID_SRC / out / target / product / generic

     

export ANDROID_BIN = $ ANDROID_SRC / out / host / linux-x86 / bin

     

PATH = $ ANDROID_BIN:$ PATH

答案 3 :(得分:0)

在Ubuntu 10.04 / 11.10 32位上进行多次重建之后,我终于可以在11.10 64位上编译源(主)但我要进行以下更改:

  1. 构建/核心/组合/ HOST_linux-x86.mk + HOST_GLOBAL_CFLAGS + = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE = 0

  2. 外部/ mesa3d / SRC / GLSL / linker.cpp +'#include'

  3. external / oprofile / libpp / format_output.h:94:22:错误:引用'counts'不能声明为'mutable'[-fpermissive] -mutable counts_t&计数; + counts_t&计数;

  4. 外部/ GTEST /包含/ GTEST /内部/ GTEST-PARAM-util.h + #include

  5. 外部/ LLVM / llvm-host-build.mk: +“LOCAL_LDLIBS:= -lpthread -ldl”

  6. 我在各种论坛上看到Google将停止支持32位主机,因此,如果您要开始构建代码,请使用64位。

答案 4 :(得分:0)

旧帖但问题是AOSP改变了一些东西(包括预构建内核的位置),当你做一个源代码构建/ envsetup.sh时,这应该修复它,但它不会,无论如何这里&#39 ;你是如何解决的:

emulator -kernel prebuilt/android-arm/kernel/kernel-qemu-armv7

我在版本较小或相同的ICS中发现了这种错误。我的模拟器正在寻找

prebuilts/qemu-kernel/arm/kernel-qemu-armv7

实际上它在

中的内核
prebuilt/android-arm/kernel/kernel-qemu-armv7

所以,也许对于那些需要像我一样构建一个androd_4.0.1版本并且在尝试使用模拟器命令运行时遇到麻烦的人来说,这可能很有用。