生成源后正在加载模拟器



我根据这里提到的说明下载并构建了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$ 

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

只需重新获取构建环境,速度很快。有两种方法:

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

通过这种方式,Android将自动搜索系统.img/userdata.img/ramdisk.img/kernel-qemu等。如果您需要使用2)方法自行指定system.img/userdata.img等。

2)$。build/envsetup.sh&午餐全eng&模拟器-sysdir out/target/product/generic/-系统out/targel/product/general/system.img-ramdisk out/target/product/generic/ramdisk.img-数据输出/target-product/general/userdata.img-内核预编译/qemu内核/arm/kernel-qemu-armv7-内存512

在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

您可以将这些添加到.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

在Ubuntu 10.04/11.10 32位上进行了几次重建后,我终于可以在11.10 64位上编译源代码(master),但我想做以下更改:

  1. 内部版本/core/commo/HOST_linux-x86.mk+HOST_GLOBAL_CFLAGS+=-U_FORTIFY_SOURCE-D_france_SOURCE=0

  2. external/mesa3d/src/glsl/linker.cpp+'#include'

  3. external/oprofile/lipp/format_output.h:94:22:error:引用"count"不能声明为"mutable"[-fpermission]-可变计数;计数;+counts_t&计数;

  4. external/gtest/include/gtest/internal/gtest param util.h+#包括

  5. external/llvm/llvm-host-build.mk:+"LOCAL_LDLIBS:=-lpthread-ldl"

我在各种论坛上读到,谷歌将停止支持32位主机,所以,如果你开始构建代码,请使用64位。

旧帖子,但问题是AOSP更改了一些东西(包括预构建内核的位置),当你进行源代码构建/envsetup.sh时,这应该会修复它,但它没有,无论如何,以下是修复它的方法:

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版本并在尝试使用命令模拟器运行它时遇到麻烦的人来说,这可能会很有用。

最新更新