在Android Emulator上运行自定义ROM



我下载了一个第三方ROM,在将其闪存到手机中之前,我想先在模拟器上运行它。以下是cm-11-20140911-NIGHTLY-p3110.zip:的内容

 1. boot.img
 2. file_contexts
 3. META-INF/
 4. recovery/
 5. system/

我使用unpack-bootimg.pl脚本对boot.img进行了解压缩,得到了boot.img-kernelboot.img-ramdisk.cpio.gz.。然后,我使用make_ext4fs对系统进行了重新打包,得到了system.img

我创建了一个AVD并执行:

emulator -system ~/cm11/system_new.img -ramdisk ~/cm11/boot.img-ramdisk.cpio.gz -kernel ~/cm11/boot.img-kernel -avd and442

但我什么都没有得到,模拟器屏幕只是黑色的。没有来自adb -s emulator-5554的日志消息。

现在我很困惑:

  • 模拟器能测试第三方ROM吗
  • 我的做法正确吗

是的,为什么不呢。

我们可以在安卓AVD上闪存第三方ROM但首先你必须知道以下几点:

1.Android Emulator本身就是一个设备,就像您的Moto G或Xperia一样

2.每个ROM都是设备特定的(支持设备特定的内核)

(在许多网站/博客上,你得到的信息是,你必须替换.android\avd\avdname.avd中的system.img文件,但这在技术上是不正确的,因为你还需要ramdisk.img。)

要做到这一点,您需要通过下载特定的存储库来创建自己的AOSP存储库,并且必须构建自己的.img文件)

  • 您可以通过两种方式实现:
  1. 从位置.android\avd\avdname.avd替换文件system.imgramdisk.img

  2. 建立您自己的AOSP。之前制造";午餐;选择目标为:Emulator(如:genericX86),即生成所有模拟器特定的.img文件

我试过很多东西。这有点挑剔,但很有趣。以下链接可能会对您有所帮助:

要在Emulator上运行您煮熟的ROM(链接关闭。试试这个,从archive.org)。

创建AOSP项目

最新更新