从Source运行Android上修改过的Goldfish内核

时间:2016-01-05 13:00:25

标签: android android-emulator android-source android-kernel

我正在尝试通过加载金鱼内核以及我的一些配置更改来从Android源运行模拟器。虽然我发现了很多问题,但找不到我的答案。 1.我下载了android源码。 我也成功地建造了我的金鱼仁。现在我可以在/ goldfish / arch / arm / boot文件夹中看到zImage。 在此之后,我尝试通过参考许多类似的问题来运行这个模拟器。 Building Android from source - emulator and AVDsRunning emulator after building Android from sourceHow to compile android goldfish 3.4 kernel and run on emulator。但不幸的是没有解决我的问题。当我尝试使用:

运行模拟器时
./emulator -debug init -kernel Thepath/goldfish/arch/arm/boot/zImage -avd firstAvd -wipe-data

我收到错误,找不到AVD。然后我找到了这个博客https://yaapb.wordpress.com/2012/09/22/build-a-custom-android-emulator-image/,它首先通过以下命令从源树创建模拟器:

$ source build/envsetup.sh
$ lunch full-eng
$ make -j4
$ emulator -wipe-data &

然后用我修改过的内核运行模拟器,我需要运行:

$ cd ${ANDROID_BUILD_TOP}
$ emulator -kernel ~/workspace/android/goldfish/arch/arm/boot/zImage -wipe-data &

虽然我尝试这样做,但使用make命令创建模拟器的过程需要数小时。到目前为止90分钟内有7%。所以在同一时间我想知道是否有人可以告诉我使用我的内核运行模拟器,我是否需要首先从源创建一个模拟器?另外,我在android源代码树中找不到system.img,ramdisk.img文件。它是正常的还是我在创建模拟器时使用它们?

**

修改

** 我还想知道我是否可以在没有make -j4的情况下运行模拟器。 Android源代码树还包含SDK。我可以从SDK运行模拟器吗?如果有,怎么样?谷歌官方文档说,从sdk中的/ tools文件夹运行以下命令。但是sdk文件夹中没有工具文件夹。

1 个答案:

答案 0 :(得分:0)

构建源代码后,不应再次运行构建过程以使用模拟器。只需使用您的AOSP代码转到该文件夹​​并运行以下命令:

$ cd ${ANDROID_BUILD_TOP}
$ source build/envsetup.sh
$ emulator -kernel ~/workspace/android/goldfish/arch/arm/boot/zImage -wipe-data &

命令source build/envsetup.sh将向shell添加其他命令,您应该能够运行模拟器,而无需再从头开始构建它。