Android之build.prop

来源:互联网 发布:查看数据库版本 oracle 编辑:程序博客网 时间:2024/06/05 16:41
从Build类获取到的系统信息来源可以看到,大多数Build中的常量都是从/system/build.prop文件中获取到的。因此,修改这个配置文件可以达到修改Build中某些常量值的目的。 
/system/build.prop文件默认权限为644,修改此文件需要root权限。可以在root后的手机上通过RE文件管理器来修改。 

由于build.prop只在开机时读取,修改完成后配置并不会立刻生效,只有重启系统才会生效。

imx_android/device/fsl/sabresd_6dq/build_id.mk

export BUILD_ID=2.1.0-ga-rc3
export BUILD_NUMBER=20151218

Build 系统中最主要的处理逻辑都在 Make 文件中,而其他的脚本文件只是起到一些辅助作用,由于篇幅所限,本文只探讨 Make 文件中的内容。

整个 Build 系统中的 Make 文件可以分为三类

第一类是 Build 系统核心文件,此类文件定义了整个 Build 系统的框架,而其他所有 Make 文件都是在这个框架的基础上编写出来的。

图 1 是 Android 源码树的目录结构,Build 系统核心文件全部位于 /build/core(本文所提到的所有路径都是以 Android 源码树作为背景的,“/”指的是源码树的根目录,与文件系统无关)目录下。

图 1. Android 源码树的目录结构
图 1. Android 源码树的目录结构

第二类是针对某个产品(一个产品可能是某个型号的手机或者平板电脑)的 Make 文件,这些文件通常位于 device 目录下,该目录下又以公司名以及产品名分为两级目录,图 2 是 device 目录下子目录的结构。对于一个产品的定义通常需要一组文件,这些文件共同构成了对于这个产品的定义。例如,/device/sony/it26 目录下的文件共同构成了对于 Sony LT26 型号手机的定义。

图 2. device 目录下子目录的结构
图 2. device 目录下子目录的结构

第三类是针对某个模块(关于模块后文会详细讨论)的 Make 文件。整个系统中,包含了大量的模块,每个模块都有一个专门的 Make 文件,这类文件的名称统一为“Android.mk”,该文件中定义了如何编译当前模块。Build 系统会在整个源码树中扫描名称为“Android.mk”的文件并根据其中的内容执行模块的编译

Build 结果的目录结构

所有的编译产物都将位于 /out 目录下,该目录下主要有以下几个子目录:

  • /out/host/:该目录下包含了针对主机的 Android 开发工具的产物。即 SDK 中的各种工具,例如:emulator,adb,aapt 等。
  • /out/target/common/:该目录下包含了针对设备的共通的编译产物,主要是 Java 应用代码和 Java 库。
  • /out/target/product/<product_name>/:包含了针对特定设备的编译结果以及平台相关的 C/C++ 库和二进制文件。其中,<product_name>是具体目标设备的名称。
  • /out/dist/:包含了为多种分发而准备的包,通过“make disttarget”将文件拷贝到该目录,默认的编译目标不会产生该目录。

参考:点击打开链接


原创粉丝点击