我能够编译AOSP +二进制文件并刷新我的Nexus 5设备。然后我意识到,进行更改并在模拟器上运行这些构建可能更实际,以便检查我正在做什么(我使用Nexus 5作为我的主要手机)。
我已经尝试通过输入"模拟器"来运行模拟器在构建之后。我收到以下错误:
ko:Invalid cache partition image type: yaffs2 (expected ext4)
我在Android工作室创建了一个Nexus 5 AVD并确认ANDROID_PRODUCT_OUT指向/ out / target / product / hammerhead,然后我在/ out / target / product / hammerhead目录中尝试了以下内容:
emulator -avd Nexus_5_API_21 -kernel ~/android-5.0.1_r1/prebuilts/qemu-kernel/x86/kernel-qemu -system ./system.img -ramdisk ./ramdisk.img -data ./userdata-qemu.img
仿真器似乎启动了,但我什么都没看到。
另一条可能有用的信息是,当我运行命令" android list"我看到以下内容:
可用的Android目标: 可用的Android虚拟设备:
The following Android Virtual Devices could not be loaded:
Name: Nexus_5_API_21
Path: ~/.android/avd/Nexus_5_API_21.avd
Error: Unknown target 'android-21' in /home/julio/.android/avd/Nexus_5_API_21.ini
它似乎不像目标android-21,并且似乎根本没有定义任何目标。
无论如何,有谁知道如何使这个工作?我想避免不断闪光我的手机。
由于
答案 0 :(得分:0)
为模拟器和真实设备构建是不同的东西。为了为模拟器构建AOSP,您无需下载任何其他二进制文件。您应该只在lunch
命令中选择适当的目标。您可以选择以下目标:
这些目标构建的映像可在不同的处理器体系结构(arm,x86,x86-64等)上运行。
您还可以选择不同的变体(user,userdebug,eng)。这些构建变体的细节解释为here。