android qcom Setting 语言列表

解决语言设置不显示问题
本文介绍了解决设备上已支持但未在设置菜单中显示的语言选项的方法。通过修改 common.mk 文件中的 PRODUCT_LOCALES 列表来添加所需的语言。

前提,语言已经支持,但Setting中语言列表中不显示:

在device/qcom/common/common.mk 中

PRODUCT_LOCALES := en_US ... 行

添加要支持的语言


odrefresh: ART APEX version 360910040 02-20 04:37:24.288055 1660 1660 I odrefresh: Updated ART APEX mounted 02-20 04:37:24.288543 1660 1660 I odrefresh: APEX (com.android.art) version code mismatch (before: 360729160, now: 360910040) 02-20 04:37:24.288611 1660 1660 I odrefresh: Checking boot images /data (arm64) 02-20 04:37:24.378279 1660 1660 I odrefresh: Compiling boot classpath (arm64, primary): /apex/com.android.art/bin/dex2oat64 --android-root=out/empty --no-abort-on-hard-verifier-error --no-abort-on-soft-verifier-error --compilation-reason=boot --image-format=lz4 --force-determinism --resolve-startup-const-strings=true --avoid-storing-invocation --generate-mini-debug-info --strip --instruction-set=arm64 --instruction-set-features=default --instruction-set-variant=kryo300 --cache-info-fd=9 --dex-file=/apex/com.android.art/javalib/core-oj.jar --dex-fd=10 --dex-file=/apex/com.android.art/javalib/core-libart.jar --dex-fd=11 --dex-file=/apex/com.android.art/javalib/okhttp.jar --dex-fd=12 --dex-file=/apex/com.android.art/javalib/bouncycastle.jar --dex-fd=13 --dex-file=/apex/com.android.art/javalib/apache-xml.jar --dex-fd=14 --dex-file=/system/framework/framework.jar --dex-fd=15 --dex-file=/system/framework/framework-graphics.jar --dex-fd=16 --dex-file=/system/framework/framework-location.jar --dex-fd=17 --dex-file=/system/framework/ext.jar --dex-fd=18 --dex-file=/system/framework/telephony-common.jar --dex-fd=19 --dex-file=/system/framework/voip-common.jar --dex-fd=20 --dex-file=/system/framework/ims-common.jar --dex-fd=21 --dex-file=/system/framework/framework-ondeviceintelligence-platform.jar --dex-fd=22 --dex-file=/system/framework/framework-nfc.jar --dex-fd=23 --dex-file=/system/framework/tcmiface.jar --dex-fd=24 --dex-file=/system/framework/qcom.fmradio.jar --dex-fd=25 --dex-file=/system/framework/QPerformance.jar --dex-fd=26 --dex-file=/system/framework/UxPerformance.jar --dex-fd=27 --dex-file=/system/framework/WfdCommon.jar --dex-fd=28 --dex-file=/system/framework/oplus-framework.jar --dex-fd=29 --dex-file=/system/framework/subsystem-framework.jar --dex-fd=30 --dex-file=/apex/com.android.i18n/javalib/core-icu4j.jar --dex-fd=31 --runtime-arg -Xbootclasspath:/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/framework-location.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/framework-ondeviceintelligence-platform.jar:/system/framework/framework-nfc.jar:/system/framework/tcmiface.jar:/system/framework/qcom.fmradio.jar:/system/framework/QPerformance.jar:/system/framework/UxPerformance.jar:/system/framework/WfdCommon.jar:/system/framework/oplus-framework.jar:/system/framework/subsystem-framework.jar:/apex/com.android.i18n/javalib/core-icu4j.jar --runtime-arg -Xbootclasspathfds:-1:-1:-1:-1:-1:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:-1 --image-fd=48 --oat-fd=49 --output-vdex-fd=50 --single-image --profile-file-fd=4 --profile-file-fd=5 --compiler-filter=speed-profile --base=0x70000000 --dirty-image-objects-fd=6 --dirty-image-objects-fd=7 --preloaded-classes-fds=8 --oat-location=/data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat --runtime-arg -Xms64m --runtime-arg -Xmx64m [timeout 120s] 02-20 04:37:24.422362 1661 1661 I dex2oat64: /apex/com.android.art/bin/dex2oat64 --android-root=out/empty --no-abort-on-hard-verifier-error --no-abort-on-soft-verifier-error --compilation-reason=boot --image-format=lz4 --force-determinism --resolve-startup-const-strings=true --avoid-storing-invocation --generate-mini-debug-info --strip --instruction-set=arm64 --instruction-set-features=default --instruction-set-variant=kryo300 --cache-info-fd=9 --dex-file=/apex/com.android.art/javalib/core-oj.jar --dex-fd=10 --dex-file=/apex/com.android.art/javalib/core-libart.jar --dex-fd=11 --dex-file=/apex/com.android.art/javalib/okhttp.jar --dex-fd=12 --dex-file=/apex/com.android.art/javalib/bouncycastle.jar --dex-fd=13 --dex-file=/apex/com.android.art/javalib/apache-xml.jar --dex-fd=14 --dex-file=/system/framework/framework.jar --dex-fd=15 --dex-file=/system/framework/framework-graphics.jar --dex-fd=16 --dex-file=/system/framework/framework-location.jar --dex-fd=17 --dex-file=/system/framework/ext.jar --dex-fd=18 --dex-file=/system/framework/telephony-common.jar --dex-fd=19 --dex-file=/system/framework/voip-common.jar --dex-fd=20 --dex-file=/system/framework/ims-common.jar --dex-fd=21 --dex-file=/system/framework/framework-ondeviceintelligence-platform.jar --dex-fd=22 --dex-file=/system/framework/framework-nfc.jar --dex-fd=23 --dex-file=/system/framework/tcmiface.jar --dex-fd=24 --dex-file=/system/framework/qcom.fmradio.jar --dex-fd=25 --dex-file=/system/framework/QPerformance.jar --dex-fd=26 --dex-file=/system/framework/UxPerformance.jar --dex-fd=27 --dex-file=/system/framework/WfdCommon.jar --dex-fd=28 --dex-file=/system/framework/oplus-framework.jar --dex-fd=29 --dex-file=/system/framework/subsystem-framework.jar --dex-fd=30 --dex-file=/apex/com.android.i18n/javalib/core-icu4j.jar --dex-fd=31 --runtime-arg -Xbootclasspath:/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/framework-location.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/framework-ondeviceintelligence-platform.jar:/system/framework/framework-nfc.jar:/system/framework/tcmiface.jar:/system/framework/qcom.fmradio.jar:/system/framework/QPerformance.jar:/system/framework/UxPerformance.jar:/system/framework/WfdCommon.jar:/system/framework/oplus-framework.jar:/system/framework/subsystem-framework.jar:/apex/com.android.i18n/javalib/core-icu4j.jar --runtime-arg -Xbootclasspathfds:-1:-1:-1:-1:-1:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:-1 --image-fd=48 --oat-fd=49 --output-vdex-fd=50 --single-image --profile-file-fd=4 --profile-file-fd=5 --compiler-filter=speed-profile --base=0x70000000 --dirty-image-objects-fd=6 --dirty-image-objects-fd=7 --preloaded-classes-fds=8 --oat-location=/data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat --runtime-arg -Xms64m --runtime-arg -Xmx64m 02-20 04:37:24.441691 1661 1661 I dex2oat64: setting boot class path to /apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/framework-location.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/framework-ondeviceintelligence-platform.jar:/system/framework/framework-nfc.jar:/system/framework/tcmiface.jar:/system/framework/qcom.fmradio.jar:/system/framework/QPerformance.jar:/system/framework/UxPerformance.jar:/system/framework/WfdCommon.jar:/system/framework/oplus-framework.jar:/system/framework/subsystem-framework.jar:/apex/com.android.i18n/javalib/core-icu4j.jar 02-20 04:37:24.928504 1661 1661 I dex2oat64: Using CollectorTypeCMC GC. 壮哥是什么为什么一开机就进行dex2oat
最新发布
11-11
<think>嗯,用户想学习Android QCOM显示相关的知识。从用户的问题来看,ta应该是嵌入式开发或Android系统开发的工程师,需要深入了解高通平台的显示子系统。 用户可能刚接触这个领域,需要系统性的学习路径。考虑到Android显示系统本身就很复杂,加上高通平台的私有实现,学习曲线会比较陡峭。我应该帮ta梳理清楚知识框架,避免一开始就陷入细节。 从提供的引用材料来看,内容涉及显示架构、MDP处理器、DRM模块、开机logo加载机制等。这些确实是QCOM显示的核心模块,但引用比较零散,需要我重新组织成逻辑连贯的体系。 特别注意到用户引用的章节提到了UEFI环境下的显示初始化,这个通常是在bootloader阶段完成的。看来用户的学习需求可能覆盖从底层驱动到上层框架的全栈知识。 在组织回答时,应该按从整体到局部、从抽象到具体的顺序: 先说明Android显示系统的通用架构,再突出高通的特有组件 重点解释MDP和SDE这些专属硬件模块的作用 补充开机流程中显示初始化的特殊机制 最后给出具体的学习资源路径 用户可能最关心的是实际开发中的重点难点,比如: 如何调试屏幕闪烁问题 怎样优化显示功耗 开机logo定制化的方法 这些实操性内容应该放在知识框架中适当位置 考虑到用户是工程师,回答要兼顾理论性和实践性。既要讲清楚技术原理,也要给出查看代码的具体路径(比如内核驱动位置、HAL接口文件等) 最后生成的问题要能引导用户深化学习,比如关于DRM框架的深入原理,或是MDP的带宽优化技巧。这些问题应该覆盖用户可能遇到的典型工作场景。</think>以下是Android QCOM显示系统的学习路径与核心知识梳理,结合高通平台特性整理: --- ### **一、Android显示系统分层架构** ```mermaid graph TD A[应用层] -->|SurfaceFlinger| B[Android框架层] B -->|HWC/HAL| C[硬件抽象层HAL] C -->|MDP/SDE驱动| D[内核驱动层] D -->|DSI/DP接口| E[物理显示设备] ``` --- ### **二、高通显示核心组件** 1. **MDP/SDE (Display Processor)** - 高通专属显示处理单元,负责图层合成、色彩管理、分辨率转换 - 关键能力: $$ \text{Throughput} = \sum_{i=1}^{n} (LayerWidth_i \times LayerHeight_i \times RefreshRate) $$ *需满足总线带宽限制* 2. **DRM/KMS (Direct Rendering Manager)** - 内核级显示资源管理框架 - 高通实现:`msm_drm` 驱动模块 - 控制流程: ```c drmModeSetCrtc(crtc_id, buffer_id, x, y, &connector_id, 1, mode); ``` 3. **显示流水线 (Display Pipeline)** ```plaintext AP → MDP → DSI控制器 → PHY → LCD面板 ↘ DP接口 → Type-C ``` --- ### **三、关键学习模块** 1. **显示初始化流程** - Bootloader阶段加载Logo(参考引用[3]): ```c DisplayUtilsRenderLogo() → LoadFile("logo_720x1280.bmp") ``` - UEFI显示协议:`gQcomDisplayUtilsProtocolGuid` 2. **HAL层实现** - 源码位置:`hardware/qcom/display/` - 核心接口: - `hwc_composer_device_1_t` :合成策略控制 - `qService->getDisplayConfig()` :获取EDID数据 3. **面板驱动调试** - DSI时序配置: ```c struct dsi_display_mode timing = { .h_active = 1080, .v_active = 2400, .refresh_rate = 120 // Hz }; ``` - 背光控制:`PWM或WLED驱动` --- ### **四、实战调试技巧** 1. **日志过滤命令** ```bash adb logcat | grep -E "SDE|MDP|DSI" ``` 2. **关键内核节点** - 显示状态:`/d/dri/0/debug/dump` - 带宽监测:`/sys/kernel/debug/dri/0/perf` 3. **功耗优化点** - 动态刷新率(DFS):`sys/class/drm/card0/display_*` - 区域刷新(ROI):通过`SDE_UPDATE_DIRTY_REGIONS`启用 --- ### **五、学习资源建议** 1. **官方文档** - [高通显示架构白皮书](https://www.qualcomm.com) (需NDA账号) 2. **代码路径** - 驱动核心:`kernel/msm-xxx/drivers/gpu/drm/msm/` - HAL实现:`vendor/qcom/opensource/display/` 3. **调试工具** - QPST工具套件中的Display Analyzer ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值