Android中/system/build.prop文件解读

在/system下的build.prop文件里,我们常看见以下语句。
ro.ril.hsdpa.category = 10
ro.ril.hsupa.category = 6
ro.ril.hsxpa = 2
ro.ril.enable.amr.wideband=1
wifi.supplicant_scan_interval=45
dalvik.vm.heapsize=24m
ro.ril.def.agps.mode = 2

这几行主要是设置网络数据、定位、语音、内存等方面的优化。

======================================================
根据上面的参数代码,下面列出不同数值对应代表的意义
ro.ril.hsdpa.category :
1 = 1.2 Mbit/s
2 = 1.2 Mbit/s
3 = 1.8 Mbit/s
4 = 1.8 Mbit/s
5 = 3.6 Mbit/s
6 = 3.6 Mbit/s
7 = 7.2 Mbit/s
8 = 7.2 Mbit/s
9 = 10.1 Mbit/s
10 = 14.0 Mbit/s
11 = 0.9 Mbit/s
12 = 1.8 Mbit/s
13 = 17.6 Mbit/s
14 = 21.1 Mbit/s
15 = 23.4 Mbit/s
16 = 27.9 Mbit/s
19 = 35.3 Mbit/s
20 = 42.2 Mbit/s
21 = 23.4 Mbit/s
22 = 27.9 Mbit/s
23 = 35.3 Mbit/s
24 = 42.2 Mbit/s
25 = 46.8 Mbit/s
26 = 55.9 Mbit/s
27 = 70.6 Mbit/s
28 = 84.4 Mbit/s
HSDPA(High Speed Downlink Packet Access):高速下行分组接入

ro.ril.hsupa.category :
1 = 0.73 Mbit/s
2 = 1.46 Mbit/s
3 = 1.46 Mbit/s
4 = 2.93 Mbit/s
5 = 2.00 Mbit/s
6 = 5.76 Mbit/s
7 = 11.5 Mbit/s
HSUPA (high speed uplink packet access):高速上行链路分组接入

ro.ril.hsxpa : 3G数据标准选择
0 – UMTS r99
1 – HSDPA
2 – HSDPA/HSUPA

ro.ril.enable.amr.wideband:
0 – 关闭对AMR wideband /HD Audio的支持
1 – 打开对AMR wideband /HD Audio的支持
    AMR WideBand,语音带宽范围,全称为“Adaptive Multi-rate - Wideband”,即“自适应多速率宽带编码”,
采样频率为16kHz,是一种同时被国际标准化组织 ITU-T和3GPP采用的宽带语音编码标准,也称 为G722.2标准。
AMR-WB提供语音带宽范围达到50~7000Hz,用户可主观感受到话音比以前更加自 然、舒适和易于分辨。
AMR-WB应用于EDGE、3G可充分体现其优势。足够的传输带宽保证AMR-WB可采用从6.6kb/s到23.85kb/s共九种编码,语音质量超越PSTN固定电话
PS:这里需要注意的是有些版本的Radio不支持AMR wideband,那样就算设置为1也支持不了这功能

wifi.supplicant_scan_interval:
wifi无线局域网扫描间隔时间,单位为秒。
调大这个值可节约耗电。

dalvik.vm.heapsize=24m:
虚拟内存大小,单位为Mb,调大这个可以略微提高性能,对于某些FC问题确实有用。
在hdpi下,不设置成24m以上,就会导致系统无法启动。

ro.ril.def.agps.mode:AGPS模式选择
0 – 关闭AGPS服务支持。可以节约耗电和网络流量,不过会延长GPS定位时间。
1 –
2 – 打开AGPS服务支持。
"打包结果:* What went wrong: UATHelper: 打包 (Android (ASTC)): Could not determine the dependencies of task ':app:buildDebugPreBundle'. UATHelper: 打包 (Android (ASTC)): > Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'. UATHelper: 打包 (Android (ASTC)): > Could not resolve com.google.android.gms:play-services-audience:[17.0.0]. UATHelper: 打包 (Android (ASTC)): Required by: UATHelper: 打包 (Android (ASTC)): project :app > com.google.android.gms:play-services-plus:17.0.0 UATHelper: 打包 (Android (ASTC)): > Failed to list versions for com.google.android.gms:play-services-audience. UATHelper: 打包 (Android (ASTC)): > Unable to load Maven meta-data from https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-audience/maven-metadata.xml. UATHelper: 打包 (Android (ASTC)): > Could not HEAD 'https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-audience/maven-metadata.xml'. UATHelper: 打包 (Android (ASTC)): > ��֪�������������� (dl.google.com) UATHelper: 打包 (Android (ASTC)): > Failed to list versions for com.google.android.gms:play-services-audience. UATHelper: 打包 (Android (ASTC)): > Unable to load Maven meta-data from https://repo.maven.apache.org/maven2/com/google/android/gms/play-services-audience/maven-metadata.xml. UATHelper: 打包 (Android (ASTC)): > Could not get resource 'https://repo.maven.apache.org/maven2/com/google/android/gms/play-services-audience/maven-metadata.xml'. UATHelper: 打包 (Android (ASTC)): > Could not GET 'https://repo.maven.apache.org/maven2/com/google/android/gms/play-services-audience/maven-metadata.xml'. UATHelper: 打包 (Android (ASTC)): > ��֪�������������� (repo.maven.apache.org) UATHelper: 打包 (Android (ASTC)): > Failed to list versions for com.google.android.gms:play-services-audience. UATHelper: 打包 (Android (ASTC)): > Unable to load Maven meta-data from https://jcenter.bintray.com/com/google/android/gms/play-services-audience/maven-metadata.xml. UATHelper: 打包 (Android (ASTC)): > Could not get resource 'https://jcenter.bintray.com/com/google/android/gms/play-services-audience/maven-metadata.xml'. UATHelper: 打包 (Android (ASTC)): > Could not GET 'https://jcenter.bintray.com/com/google/android/gms/play-services-audience/maven-metadata.xml'. UATHelper: 打包 (Android (ASTC)): > ��֪�������������� (jcenter.bintray.com) UATHelper: 打包 (Android (ASTC)): * Try: UATHelper: 打包 (Android (ASTC)): Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. UATHelper: 打包 (Android (ASTC)): * Get more help at https://help.gradle.org UATHelper: 打包 (Android (ASTC)): BUILD FAILED in 5s LogSlate: Last resort fallback font was requested. Font: '../../../Engine/Content/Slate/Fonts/DroidSansFallback.ttf', Character: '֪ (U+05aa)' LogSlate: Took 0.008434 seconds to synchronously load lazily loaded font '../../../Engine/Content/SlateDebug/Fonts/LastResort.ttf' (5269K) UATHelper: 打包 (Android (ASTC)): ERROR: cmd.exe failed with args /c ""F:\BaiduNetdiskDownload\Fire\Fire\Intermediate\Android\gradle\rungradle.bat"" :app:bundleDebug UATHelper: 打包 (Android (ASTC)): (see C:\Users\Administrator\AppData\Roaming\Unreal Engine\AutomationTool\Logs\F+UE5_2_1+UE_5.2\Log.txt for full exception trace) UATHelper: 打包 (Android (ASTC)): AutomationTool executed for 0h 43m 35s UATHelper: 打包 (Android (ASTC)): AutomationTool exiting with ExitCode=1 (Error_Unknown) UATHelper: 打包 (Android (ASTC)): BUILD FAILED PackagingResults: Error: Unknown Error" 分析ue5.2 打包安卓端报错原因
07-17
ninja: build stopped: subcommand failed. FAILED: [W][2025-07-25T14:38:41+0800][51549] void cmdline::logParams(nsjconf_t *)():250 Process will be UID/EUID=0 in the global user namespace, and will have user root-level access to files [W][2025-07-25T14:38:41+0800][51549] void cmdline::logParams(nsjconf_t *)():260 Process will be GID/EGID=0 in the global user namespace, and will have group root-level access to files 14:38:57 ninja failed with: exit status 1 #### failed to build some targets (04:39 (mm:ss)) #### cat: out/target/product/k50sv1_64_bsp/system/build.prop: 没有那个文件或目录 当前有默认屏参lcm.txt第一行默认:jd9365da_h3_hd_dsi_vdo_boe_n91 mkdir: 无法创建目录"/media/code2/Lpz/mtk6580_Q/alps/pack_out//": 文件已存在 cp: 无法获取'out/target/product/k50sv1_64_bsp/recovery-verified.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/md1img-verified.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/md1dsp-verified.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/md1arm7-verified.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/md3img-verified.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/boot-verified.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/odmdtbo-verified.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/vendor.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/system.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/cache.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/userdata.img' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/vendor/etc/mddb/MDDB.META_*.EDB' 的文件状态(stat): 没有那个文件或目录 cp: 无法获取'out/target/product/k50sv1_64_bsp/obj/PACKAGING/target_files_intermediates/*.zip' 的文件状态(stat): 没有那个文件或目录 zip error: Nothing to do! (.zip)
最新发布
07-26
<think>嗯,用户的问题是关于MTK平台编译时system/build.prop文件未更新的情况。这个问题在Android系统开发中挺常见的,需要仔细分析可能的原因。 用户可能是MTK平台的开发者或系统工程师,正在编译定制ROM时遇到了build.prop未更新的问题。用户可能已经尝试过重新编译但问题依旧存在,所以比较着急。深层需求应该是要彻底解决编译系统时的配置同步问题。 从技术角度看,build.prop文件生成涉及多个环节:Makefile调用buildinfo.sh脚本、叠加system.prop配置、设备特定配置追加等。引用1提到build.prop是由build/tools/buildinfo.sh生成,并会追加system.prop的配置。引用3提到权限问题可能导致文件写入失败,这提示我们需要检查SELinux策略。 常见原因可能有五个方面:首先是编译缓存问题,clean操作不彻底会导致残留旧文件;其次是配置覆盖逻辑,device/或vendor/下的定制配置可能覆盖了修改;第三是脚本执行错误,buildinfo.sh执行异常会影响文件生成;第四是文件权限问题,特别是SELinux策略限制;最后是编译环境问题,如Python版本不兼容等。 针对这些可能性,建议用户先执行最彻底的全量编译clean,然后检查device目录下的配置优先级。如果问题依旧,需要检查buildinfo.sh脚本是否正常输出,并查看编译日志中的avc denied提示。特别要注意vendor/mtk/proprietary/下的设备专属配置。 用户可能还需要检查几个关键点:build/core/main.mk中的PRODUCT_DEFAULT_PROPERTY_OVERRIDES设置,以及是否在BoardConfig.mk中错误设置了TARGET_SYSTEM_PROP。对于SELinux问题,可以临时切换为宽容模式测试。 如果用户需要更具体的帮助,建议提供编译日志片段,特别是"Generating build.prop"相关输出和任何错误信息。这类问题通常需要结合具体日志分析,因为不同MTK平台版本(如Android 8.0或11)的编译流程会有差异。</think>在MTK平台编译Android系统时遇到`system/build.prop`文件未更新的问题,通常由以下原因及解决方法导致: --- ### **常见原因与解决方法** #### 1. **编译缓存未清理** - **问题**:增量编译未正确应用修改。 - **解决**:执行全量清理后重新编译: ```bash make clean # 清理输出目录 rm -rf out/ # 彻底删除out目录 source build/envsetup.sh lunch <target> # 选择目标设备 make -j8 # 重新编译 ``` #### 2. **配置覆盖优先级错误** - **问题**:设备专属配置(`device/<vendor>/<device>/system.prop`)覆盖了全局修改。 - **解决**: 1. 检查优先级顺序: ```bash device/<vendor>/<device>/system.prop # 最高优先级 vendor/<vendor>/props/system.prop # 次优先级 build/tools/buildinfo.sh # 基础生成脚本 ``` 2. 修改对应设备目录下的`system.prop`文件,而非全局文件。 #### 3. **脚本生成逻辑异常** - **问题**:`build/tools/buildinfo.sh`未正确执行或输出被截断。 - **解决**: 1. 检查脚本权限: ```bash chmod a+x build/tools/buildinfo.sh ``` 2. 在`buildinfo.sh`中手动添加测试行验证: ```bash echo "# Debug: build.prop updated at $(date)" >> $OUT/system/build.prop ``` #### 4. **SELinux权限限制** - **问题**:编译过程因SELinux策略拒绝写入(参考引用[3]的`avc: denied { write }`错误)。 - **解决**: 1. 临时禁用SELinux检查: ```bash export SELINUX_IGNORE_NEVERALLOWS=true ``` 2. 检查`/file_contexts`中是否包含: ```text /system/build\.prop u:object_r:system_file:s0 ``` #### 5. **编译环境问题** - **问题**:Python版本或依赖库不兼容。 - **解决**: ```bash python --version # 确保为Python 2.7或3.6+ pip install protobuf pyyaml # 安装必需依赖 ``` --- ### **关键检查点** 1. **生成日志**:编译时搜索日志中的`Generating build.prop`,确认是否执行。 2. **文件路径**:检查最终生成的路径: ```bash out/target/product/<device>/system/build.prop ``` 3. **设备配置**:验证`BoardConfig.mk`中是否错误设置了: ```makefile TARGET_SYSTEM_PROP := device/<vendor>/<device>/system.prop ``` --- ### **引用分析** - 引用[1]说明`build.prop`由`build/tools/buildinfo.sh`生成,并叠加`system.prop`配置 [^1]。 - 引用[3]的权限错误提示需检查SELinux策略或文件节点权限 [^3]。 --- ### **操作流程建议** ```mermaid graph TD A[修改配置] --> B{清理缓存} B -->|make clean| C[全量编译] B -->|rm -rf out| C C --> D[检查生成日志] D -->|成功| E[验证out目录文件] D -->|失败| F[检查SELinux/权限] F --> G[更新file_contexts] G --> C ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值