Android编译时TARGET_OUT_ROOT/TARGET_OUT变量的由来
2015-08-05 20:07
525 查看
TARGET_ROOT_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ROOT)TARGET_COPY_OUT_ROOT := root
则首先确定PROUDCT_OUT = $(TARGET_PRODUCT_OUT_ROOT)/$(TARGET_DEVICE);TARGET_DEVIC是我们check出来的目标设备full_xxxTARGET_PRODUCT_OUT_ROOT= $(TARGET_OUT_ROOT)/product;TARGET_OUT_ROOT = $(TARGET_OUT_ROOT_$(TARGET_BUILD_TYPE))TARGET_BUILD_TYPE = release则TARGET_OUT_ROOT = $(TARGET_OUT_ROOT_release)而TARGET_OUT_ROOT_release := $(OUT_DIR)/target则TARGET_OUT_ROOT = $(OUT_DIR)/target一般OUT_DIR默认是out目录则可以说吗TARGET_PRODUCT_OUT_ROOT = out/target/product最后可以得到PROUDCT_OUT = out/target/product/xxx/$(TARGET_COPY_OUT_ROOT)
最终可得到最终的TARGET_OUT_ROOT = out/target/product/xxx/root/也就是ramdisk文件系统root的所有内容,都放在这里。一般在Android.mk中制定模块编译时的输出路径为LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
此外可以发现TARGET_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM)且一般没有指定LOCAL_MODULE_PATH 时,模块编译输出默认到TARGET_OUT。本质就是out/target/product/xxx/system/所在,也就是打包后的system.img所在,把system镜像所在的块分区在init进程中会被挂载到root/system下面( mount ext4 /dev/block/mmcblk1p16 /system)。root根目录下部分文件链接到system内部,如etc等。
以上核心变量均在build/core/envsetup.mk中建立
则首先确定PROUDCT_OUT = $(TARGET_PRODUCT_OUT_ROOT)/$(TARGET_DEVICE);TARGET_DEVIC是我们check出来的目标设备full_xxxTARGET_PRODUCT_OUT_ROOT= $(TARGET_OUT_ROOT)/product;TARGET_OUT_ROOT = $(TARGET_OUT_ROOT_$(TARGET_BUILD_TYPE))TARGET_BUILD_TYPE = release则TARGET_OUT_ROOT = $(TARGET_OUT_ROOT_release)而TARGET_OUT_ROOT_release := $(OUT_DIR)/target则TARGET_OUT_ROOT = $(OUT_DIR)/target一般OUT_DIR默认是out目录则可以说吗TARGET_PRODUCT_OUT_ROOT = out/target/product最后可以得到PROUDCT_OUT = out/target/product/xxx/$(TARGET_COPY_OUT_ROOT)
最终可得到最终的TARGET_OUT_ROOT = out/target/product/xxx/root/也就是ramdisk文件系统root的所有内容,都放在这里。一般在Android.mk中制定模块编译时的输出路径为LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
此外可以发现TARGET_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM)且一般没有指定LOCAL_MODULE_PATH 时,模块编译输出默认到TARGET_OUT。本质就是out/target/product/xxx/system/所在,也就是打包后的system.img所在,把system镜像所在的块分区在init进程中会被挂载到root/system下面( mount ext4 /dev/block/mmcblk1p16 /system)。root根目录下部分文件链接到system内部,如etc等。
以上核心变量均在build/core/envsetup.mk中建立
相关文章推荐
- Android Adapter以及getView()方法的理解
- Android InputMethodManager输入法简介
- Android获取联系人示例,从数据库加载,带首字母标签
- Android ListView中点击单行实现RadioButton的单选功能,自定义Item布局文件
- 深入分析android5.1 healthd
- ANDROID中去掉ACTIONBAR或TABWIDGET的分隔线
- android timessquare日期控件
- Android 自定义日历控件
- Android中的onActivityResult和setResult方法的使用
- Android Sqlite 导入CSV文件
- Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0
- Android、iPhone和Java三个平台一致的加密工具
- android如何获取以太网mac地址
- 解决android studio编译很慢(整合解决方案)
- windows下用cygwin编译android版ijkplayer
- Android Fragment 真正的完全解析(上)
- Android Fragment 真正的完全解析(下)
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
- Android学习5——控件分类
- Android侧滑菜单实现