AOSP tree基本上是3种通用设备类型。
base path
:PRODUCT_DEVICE
,PRODUCT_NAME
device/generic/<arch>
:<arch>
,mini_<arch>
device/generic/qemu
:generic_<arch>
,qemu_<arch>
device/generic/mini-emulator-<arch>
:mini-emulator-<arch>
,mini_emulator_<arch>
mini_
,qemu_
和mini_emulator_
之间有什么区别和用途?
修改
谷歌搜索后我没有找到详细的解释,但this blog post指出,还有三个“产品”既不是特定设备也不是通用产品:full
,aosp
和sdk
。这些做到了什么?
编辑2:
从不同的ROM(aosp,cyanogenmod,aospa)查看envsetup.sh似乎可以将TARGET_PRODUCT
设置为类似aosp_<arch>
或full_<arch>
的内容。这是mini_
,qemu_
或mini_emulator_
之一的别名还是其他内容?
答案 0 :(得分:2)
所以在深入挖掘android构建系统后,我想我现在已经得到了它:
允许使用以下TARGET_PRODUCT
:
aosp_
只是full_
的别名。它接受所有体系结构(arm
,x86
,mips
,arm64
,x86_64
和mips64
)并且也用于设备(例如{ {1}})aosp_flounder
指定设备,full_
是模拟器的全功能版本。它包括aosp_
。 (core_
没有full
骚扰_arch
)arm
只是sdk_
的别名。 (sdk_phone_
没有sdk
默认为_arch
)armv7
为特定架构构建Android SDK。它还包括sdk_phone_
core_
是基本的Android平台,不适用于任何主板。它可以为generic_
构建(默认情况下,如果未指定),arm
和x86
。我不认为这可以在设备或模拟器上启动。mips
是所有面向通信的Android设备(如手机和平板电脑)的基本配置。core_
以某种方式延伸mini_
。它似乎只是使用基本配置而不是全功能构建的模拟器构建。但我不确定这个。core_
将mini_emulator_
与金鱼和QEMU相关文件合并。它似乎也是一些基本的模拟器构建。mini_
是qemu(不是android模拟器)的绝对最小的android构建。它只有启动所需的东西和一些命令行实用程序/库和adb。