在Android Emulator上运行自定义ROM

Mik*_*nix 15 android android-emulator

我下载了第三方ROM,我想先将它在模拟器上运行,然后再将其刷入手机.这是以下内容cm-11-20140911-NIGHTLY-p3110.zip:

 1. boot.img
 2. file_contexts
 3. META-INF/
 4. recovery/
 5. system/
Run Code Online (Sandbox Code Playgroud)

boot.img使用脚本解压缩unpack-bootimg.pl并获取boot.img-kernel,boot.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吗?
  • 我做得对吗?

San*_*bhu 6

是的,为什么不呢. 我们可以在Android 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.img和ramdisk.img

    2. 建立自己的AOSP.之前.. make in"lunch"选择target as:Emulator(如:genericX86)即生成所有模拟器特定的.img文件

我尝试了很多东西.这有点关键但有趣.以下链接可以帮助您:

在模拟器上运行煮熟的Rom(链接下来.试试这个,来自archive.org).

创建AOSP项目