- 浏览: 214938 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (196)
- android (153)
- sqlite (1)
- java (3)
- os (4)
- tools (4)
- ResolveInfo 转 packageinf 取信息 (1)
- multimedia (2)
- fastboot (1)
- create user in samba (0)
- android qcn (0)
- windows (0)
- net (2)
- linux (1)
- git (0)
- proguard (0)
- android cpu (1)
- android gts (1)
- MySql (1)
- c/c++ (0)
- network (1)
- python (3)
- AI (1)
- Ultroedit (1)
- HarmonyOS NEXT (0)
Android属性之build.prop生成过程
此部分网上这篇文章分析的不错:
http://blog.csdn.net/thl789/article/details/7014300 转载过来
Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product/<board>/system/目录下。
在Android运行时刻可以通过property_get()[c/c++域] / SystemProperties_get*()[Java域]读取这些属性值。
build.prop的生成是由make系统解析build/core/Makefile完成。
1) Makefile中首先定义各种变量,这在下一步执行时会用到
比如:
PRODUCT_DEFAULT_LANGUAGE="$(calldefault-locale-language,$(PRODUCT_LOCALES))" \
PRODUCT_DEFAULT_REGION="$(calldefault-locale-region,$(PRODUCT_LOCALES))" \
...
2) Makefile中调用build/tools/buildinfo.sh执行脚本,并输出到build.prop
Buildinfo.sh很简单,只是echo一些属性,比如:
echo"ro.product.locale.language=$PRODUCT_DEFAULT_LANGUAGE"
echo"ro.product.locale.region=$PRODUCT_DEFAULT_REGION"
...
而,ro.product.locale.language/ ro.product.locale.region就是些属性,等号后面是值。 PRODUCT_DEFAULT_LANGUAGE这些都在其他.mk文件中定义的
3) Makefile中直接把$(TARGET_DEVICE_DIR)/system.prop的内容追加到build.prop中
是在很多目录下存在,都会收集追加到build.prop中,例如:
./device/samsung/maguro/system.prop
./device/samsung/crespo4g/system.prop
./device/samsung/crespo/system.prop
./device/qcom/msm8660_surf/system.prop
./device/qcom/msm7630_surf/system.prop
./device/qcom/msm8625/system.prop
./device/qcom/msm8960/system.prop
./device/qcom/msm7627a/system.prop
……
4)收集ADDITIONAL_BUILD_PROPERTIES中的属性,追加到build.prop中。
ADDITIONAL_BUILD_PROPERTIES又会收集PRODUCT_PROPERTY_OVERRIDES中定义的属性
ADDITIONAL_BUILD_PROPERTIES:= \
$(ADDITIONAL_BUILD_PROPERTIES)\
$(PRODUCT_PROPERTY_OVERRIDES)
PRODUCT_PROPERTY_OVERRIDES 在build/target/product/core.mk有:
PRODUCT_PROPERTY_OVERRIDES := \
ro.config.notification_sound=OnTheHunt.ogg \
ro.config.alarm_alert=Alarm_Classic.ogg
通过build.prop生成过程的分析,可知哪里可以修改原有的属性或加入自己定义属性,那就是
2) buildinfo.sh;
3) system.prop;
4) ADDITIONAL_BUILD_PROPERTIES或PRODUCT_PROPERTY_OVERRIDES。
不过个人建议改在system.prop或PRODUCT_PROPERTY_OVERRIDES,这对应于具体特定平台或产品的修改。
From:http://www.cnblogs.com/bastard/archive/2013/02/28/2937014.html
发表评论
-
Android SnappyDB
2018-05-15 11:23 965https://blog.csdn.net/qq_214305 ... -
使用UncaughtExceptionHandler保存全局异常(转)
2018-05-07 15:04 644From: https://blog.csdn.net/dre ... -
android udp
2018-04-10 19:47 605Android之Socket的基于UDP传输 接收方创建步骤: ... -
android DownloadManager
2018-04-10 12:52 597From: https://www.jianshu.com/p ... -
Snackbar 可以交互的Toast
2018-04-08 21:44 765Snackbar 是 Android design sup ... -
android 操作串口
2018-03-19 18:20 661http://blog.csdn.net/akunainian ... -
proguard对 android-support-v4.jar 的配置
2018-03-16 15:32 725-libraryjars libs/android-sup ... -
apk 多个dex
2018-03-16 10:05 1008android studio 配置应用生成多个dex ... -
ddmlib 解决android n file explorer 为空问题
2018-03-16 09:27 939百度云:http://pan.baidu.com/s/1sl4 ... -
android 代码混淆
2018-03-15 08:38 1056打开混淆开关 Android.mk ... -
menu item 显示icon
2018-03-07 09:32 686@Override public boolean onMenu ... -
ubuntu 脚本切换root用户,并执行其它脚本
2018-03-05 09:58 0#!/bin/bash expect -c" ... -
DrawerLayout 滑动侧边栏
2018-03-01 10:42 0// TODO -
jack-server 多用户编译问题
2018-02-27 10:44 14043),需要同时修改 $HOME/.jack-server/co ... -
更新eclipse 遇到两个问题 Oxygen.2 Release (4.7.2)
2018-02-26 14:28 12291. the file dx.jar was not load ... -
监听系统开关变化
2018-02-05 14:02 814// 转屏开关 /** * Content obse ... -
android 8.0 模块编译命令
2018-02-02 14:42 1172Invoke ". build/envsetup.s ... -
svn checkout 忽略某个文件夹
2018-01-26 11:14 1367android源码更新时, frameworks\compil ... -
eclipse jni
2018-01-19 16:10 494试过,可以运行 http://blog.csdn.net/sb ... -
opencv for android
2018-01-19 14:37 440http://blog.csdn.net/sbsujjbcy/ ...
相关推荐
### Android build.prop生成过程源码分析 #### 一、概览 `build.prop`是Android系统中的一个关键配置文件,它记录了系统构建时的重要属性信息,如屏幕密度(LCD density)、默认语言设置、编译时间等。这些信息对于...
以下是一些关键的`build.prop`属性及其含义: 1. `ro.build.id`: 这个字段标识了Android系统的版本ID,通常与特定的Android分支或定制ROM相关联。 2. `ro.build.display.id`: 显示设备的完整版本字符串,包括品牌和...
### Android OTA升级之三:生成recovery.img深入解析 在深入了解如何生成`recovery.img`之前,我们首先简要回顾一下Android OTA(Over-the-Air)升级的基本概念。OTA升级是移动设备上的一种常见更新方式,它允许...
首先,我们要明白的是,MTK系统编译的核心在于构建脚本,它们通常是基于Makefile或者自定义的构建系统,如build.mtk或PDK(Platform Development Kit)中的build.prop。这些脚本负责定义编译规则,如编译目标、依赖...
这个过程涉及多个步骤,包括创建应用程序、编译、签名以及打包到Android系统映像中。以下是一个简化的流程,用于在Android源码中添加一个最简单的系统应用DEMO。 1. **创建一个新的Android项目** 首先,你需要使用...
- **配置编译目标**:通过`.config`文件或`build.prop`文件定义编译的具体目标。 - **编译过程**:运行`make`命令或相应的脚本进行编译。 - **镜像打包**:编译完成后,将编译出的各种文件打包成最终的镜像文件。 #...
在`build/core/Makefile`文件中有提到`default.prop`文件,这个文件包含了系统的默认属性设置。在`main.mk`中有一段代码负责生成这个文件: ```make # build/core/main.mk 示例 ifneq ($(ro.debuggable),0) $(call...
首先,`ro.debuggable`是Android系统中的一个属性,存在于系统启动时生成的默认属性文件 `/system/build.prop` 中。`ro` 前缀代表 "read-only",意味着这个属性在系统启动后无法被修改。`debuggable` 属性的值决定了...
`build.prop` 文件是Android系统的配置文件,其中包含了设备的各种属性和设置。在4.2.2版本中,这些设置可能包括系统版本号、默认的语言、屏幕密度等,修改这些属性可以影响系统的运行行为。 `sdk.properties` 和 `...
4. **系统配置与适配**:Android的配置文件如build.prop和device.mk等需要根据硬件特性进行修改。自动适配技术可以通过分析硬件规格,生成相应的配置文件,或动态修改现有配置,以确保系统正确运行。 5. **错误检测...
3. 进入解压后的System文件夹,找到`build.prop`文件,用记事本打开。 4. 在`build.prop`中使用查找功能,搜索`ro.product.version=`。 5. 修改等号后面的产品版本信息,例如改为`GFan by CareyLui`,保存更改。 6. ...
- 解决方法:参考原生RK的`system.prop`文件(即`build.prop`),根据需要进行调整,并重新编译,以达到预期的显示效果。 #### 其他功能配置 - **开机动画**: - 编写脚本将相应的动画资源复制到指定位置。 - ...
你可以使用工具如“build.prop editor”来生成或修改这些信息。 5. 最后,将打包好的ROM文件通过adb或者专门的刷机工具刷入设备,完成整个流程。 需要注意的是,解包和打包Android ROM涉及的风险较高,错误操作...
这包括熟悉`build.prop`、`releasetools`目录下的脚本,以及如何使用`mmm`命令等。在解决这个问题时,可能还需要参考Android源码树中的文档,或者在社区论坛寻找类似问题的解决方案。务必谨慎操作,避免对设备造成...
6. **build.prop** 和其他配置文件:这些文件可能包含针对特定设备或版本的配置参数,有助于系统识别和处理更新。 7. **resources.arsc** 和 **apk files**:可能包含更新的应用程序或资源文件,用于升级特定的应用...
接下来,是构建Android系统映像的过程,这涉及到编译Android源码、配置build.prop文件、选择合适的编译目标等步骤。开发者需要熟悉Android的构建系统,如使用make工具链、编译选项等,以生成适合Tiny6410的系统映像...
编译过程会生成一个定制的Android镜像,包括系统映像、恢复映像和bootloader。 驱动程序开发是关键部分。对于嵌入式系统,可能需要编写或修改设备驱动以支持特定的硬件特性,如摄像头、触摸屏、无线网络等。这通常...
2. **编辑`build.prop`文件**: - `ro.build.display.id=xxx`:显示内部版本信息。 - `ro.product.model=ME501`:指定机型。 - `ro.product.locale.language=zh`:设置语言为中文。 - `ro.product.locale.region...
开发者需要配置Android源码的build.prop文件,指定目标平台信息,然后执行编译命令生成系统映像。 四、系统调试与优化 移植完成后,需要对系统进行功能测试和性能调试。这包括启动过程的检查、硬件驱动的验证、...