parent
be56fd8d9f
commit
c07ff27a2a
|
@ -63,7 +63,7 @@ make -j8
|
||||||
|
|
||||||
表 1. build/envsetup.sh 中定义的常用函数
|
表 1. build/envsetup.sh 中定义的常用函数
|
||||||
|
|
||||||
| 名称 | 说明 |
|
| Name | Descriptions |
|
||||||
|-----------------|-------------------|
|
|-----------------|-------------------|
|
||||||
| croot | 切换到源码树的根目录 |
|
| croot | 切换到源码树的根目录 |
|
||||||
| m | 在源码树的根目录执行 make |
|
| m | 在源码树的根目录执行 make |
|
||||||
|
@ -117,8 +117,8 @@ Makefile 文件的内容只有一行:“include build/core/main.mk”。该行
|
||||||
|
|
||||||
表 2. 主要的 Make 文件的说明
|
表 2. 主要的 Make 文件的说明
|
||||||
|
|
||||||
| 文件名 | 说明 |
|
| Name | Descriptions |
|
||||||
|-------|------|
|
|----------------------|--------------|
|
||||||
| main.mk | 最主要的 Make 文件,该文件中首先将对编译环境进行检查,同时引入其他的 Make 文件。另外,该文件中还定义了几个最主要的 Make 目标,例如 droid,sdk,等(参见后文“Make 目标说明”)。 |
|
| main.mk | 最主要的 Make 文件,该文件中首先将对编译环境进行检查,同时引入其他的 Make 文件。另外,该文件中还定义了几个最主要的 Make 目标,例如 droid,sdk,等(参见后文“Make 目标说明”)。 |
|
||||||
| help.mk | 包含了名称为 help 的 Make 目标的定义,该目标将列出主要的 Make 目标及其说明。 |
|
| help.mk | 包含了名称为 help 的 Make 目标的定义,该目标将列出主要的 Make 目标及其说明。 |
|
||||||
| pathmap.mk | 将许多头文件的路径通过名值对的方式定义为映射表,并提供 include-path-for 函数来获取。例如,通过 $(call include-path-for, frameworks-native)便可以获取到 framework 本地代码需要的头文件路径。 |
|
| pathmap.mk | 将许多头文件的路径通过名值对的方式定义为映射表,并提供 include-path-for 函数来获取。例如,通过 $(call include-path-for, frameworks-native)便可以获取到 framework 本地代码需要的头文件路径。 |
|
||||||
|
@ -196,14 +196,14 @@ droid 目标将编译出整个系统的镜像。从源代码到编译出系统
|
||||||
|
|
||||||
表 4. droid 所依赖的其他 Make 目标的说明
|
表 4. droid 所依赖的其他 Make 目标的说明
|
||||||
|
|
||||||
| 名称 | 说明 |
|
| Name | Descriptions |
|
||||||
|-----------|-----------------------------------|
|
|--------------------------------------|---------------------------------------------------------------------------------------------|
|
||||||
| apps_only | 该目标将编译出当前配置下不包含 user,userdebug,eng 标签(关于标签,请参见后文“添加新的模块”)的应用程序。 |
|
| apps_only | 该目标将编译出当前配置下不包含 user,userdebug,eng 标签(关于标签,请参见后文“添加新的模块”)的应用程序。 |
|
||||||
| droidcore | 该目标仅仅是所依赖的几个目标的组合,其本身不做更多的处理。 |
|
| droidcore | 该目标仅仅是所依赖的几个目标的组合,其本身不做更多的处理。 |
|
||||||
| dist_files | 该目标用来拷贝文件到 /out/dist 目录。 |
|
| dist_files | 该目标用来拷贝文件到 /out/dist 目录。 |
|
||||||
| files | 该目标仅仅是所依赖的几个目标的组合,其本身不做更多的处理。 |
|
| files | 该目标仅仅是所依赖的几个目标的组合,其本身不做更多的处理。 |
|
||||||
| prebuilt | 该目标依赖于 $(ALL_PREBUILT),$(ALL_PREBUILT)的作用就是处理所有已编译好的文件。 |
|
| prebuilt | 该目标依赖于 $(ALL_PREBUILT),$(ALL_PREBUILT)的作用就是处理所有已编译好的文件。 |
|
||||||
| $(modules_to_install) | modules_to_install 变量包含了当前配置下所有会被安装的模块(一个模块是否会被安装依赖于该产品的配置文件,模块的标签等信息),因此该目标将导致所有会被安装的 |模| 块的编译。 |
|
| $(modules_to_install) | modules_to_install 变量包含了当前配置下所有会被安装的模块(一个模块是否会被安装依赖于该产品的配置文件,模块的标签等信息),因此该目标将导致所有会被安装的模块的编译。 |
|
||||||
| $(modules_to_check) | 该目标用来确保我们定义的构建模块是没有冗余的。 |
|
| $(modules_to_check) | 该目标用来确保我们定义的构建模块是没有冗余的。 |
|
||||||
| $(INSTALLED_ANDROID_INFO_TXT_TARGET) | 该目标会生成一个关于当前 Build 配置的设备信息的文件,该文件的生成路径是:out/target/product/<product_name>/android-info.txt |
|
| $(INSTALLED_ANDROID_INFO_TXT_TARGET) | 该目标会生成一个关于当前 Build 配置的设备信息的文件,该文件的生成路径是:out/target/product/<product_name>/android-info.txt |
|
||||||
| systemimage | 生成 system.img。 |
|
| systemimage | 生成 system.img。 |
|
||||||
|
@ -267,8 +267,8 @@ $(LOCAL_DIR)/generic_stingray.mk
|
||||||
|
|
||||||
表 6. 产品版本定义文件中的变量及其说明
|
表 6. 产品版本定义文件中的变量及其说明
|
||||||
|
|
||||||
| 常量 | 说明 |
|
| Const | Descriptions |
|
||||||
|--------------|----------------------------------------------|
|
|----------------------------|-----------------------------------------------|
|
||||||
| PRODUCT_NAME | 最终用户将看到的完整产品名,会出现在“关于手机”信息中。 |
|
| PRODUCT_NAME | 最终用户将看到的完整产品名,会出现在“关于手机”信息中。 |
|
||||||
| PRODUCT_MODEL | 产品的型号,这也是最终用户将看到的。 |
|
| PRODUCT_MODEL | 产品的型号,这也是最终用户将看到的。 |
|
||||||
| PRODUCT_LOCALES | 该产品支持的地区,以空格分格,例如:en_GB de_DE es_ES fr_CA。 |
|
| PRODUCT_LOCALES | 该产品支持的地区,以空格分格,例如:en_GB de_DE es_ES fr_CA。 |
|
||||||
|
@ -345,8 +345,8 @@ include $(CLEAR_VARS)
|
||||||
|
|
||||||
表 7. 编译类型的说明
|
表 7. 编译类型的说明
|
||||||
|
|
||||||
|名称 | 说明 |
|
| Name | Descriptions |
|
||||||
|-----|-----|
|
|-----------|--------------|
|
||||||
| eng | 默认类型,该编译类型适用于开发阶段。当选择这种类型时,编译结果将:1.安装包含 eng, debug, user,development 标签的模块;2.安装所有没有标签的非 APK 模块;3.安装所有产品定义文件中指定的 APK 模块。 |
|
| eng | 默认类型,该编译类型适用于开发阶段。当选择这种类型时,编译结果将:1.安装包含 eng, debug, user,development 标签的模块;2.安装所有没有标签的非 APK 模块;3.安装所有产品定义文件中指定的 APK 模块。 |
|
||||||
| user | 该编译类型适合用于最终发布阶段。当选择这种类型时,编译结果将:1.安装所有带有 user 标签的模块;2.安装所有没有标签的非 APK 模块;3.安装所有产品定义文件中指定的 APK 模块,APK 模块的标签将被忽略。 |
|
| user | 该编译类型适合用于最终发布阶段。当选择这种类型时,编译结果将:1.安装所有带有 user 标签的模块;2.安装所有没有标签的非 APK 模块;3.安装所有产品定义文件中指定的 APK 模块,APK 模块的标签将被忽略。 |
|
||||||
| userdebug | 该编译类型适合用于 debug 阶段。该类型和 user 一样,除了:1.会安装包含 debug 标签的模块;2.编译出的系统具有 root 访问权限。 |
|
| userdebug | 该编译类型适合用于 debug 阶段。该类型和 user 一样,除了:1.会安装包含 debug 标签的模块;2.编译出的系统具有 root 访问权限。 |
|
||||||
|
|
Loading…
Reference in New Issue