【OpenHarmony 设备开发】修改屏幕 DPI(像素密度)
一、OpenHarmony 源码中 DPI 配置
在源码foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml中有 rk3568 的默认配置
rk3568 开发板默认的 DPI 配置为 240,范围为 80-640。
以下为触觉智能开发板在不同 DPI 时屏幕的显示情况
DPI 为 240 时
DPI 为 100 时
DPI 为 600 时
二、更改开发板的 DPI
方法一:更改源码编译烧录固件
在源码 foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml 文件中修改 dpi,编译后烧录固件。
方法二:发送 display_manager_config.xml 文件至设备 etc/window/resources
OpenHarmony 固件编译烧录进入设备后,display_manager_config.xml 文件会被预编译打包至设备端 etc/window/resources 目录下,什么,为什么只有 window/resources 字段,因为 ohos_prebuilt_etc 就是把文件放进设备的 etc 文件夹
步骤如下
知识点附送
为 ohos_prebuilt_XXX 类目标添加支持指定 output 属性的能力
以该 pr 学习 https://gitee.com/openharmony/build/pulls/822/files 为 ohos_prebuilt_XXX 类目标添加支持指定 output 属性的能力。
ohos_prebuilt_XXX 类目标是指
ohos_prebuilt_executable
、ohos_prebuilt_shared_library
、ohos_prebuilt_static_library
、ohos_prebuilt_etc
。这类目标只支持指定 source 属性,拷贝到 out 目录时目标文件名与源文件名是一样的,无法另行指定名字。该pr解决了此限制,添加了 output 这个可选属性用于指定目标文件名,不指定的情况下默认与源文件名是一样的(与原逻辑保持一致)。OpenHarmony 编译构建子系统是基于 Gn 和 ninja 的,而 gn 本身是有原生模板(source_set,shared_library, static_library, action, executable,group)。gn 也支持用户自定义编译模板,OpenHarmony 编译子系统提供了一系列自定义的模板(ohos_shared_library、ohos_prebuilt_executable、ohos_prebuilt_shared_library 等)
自定义模板的源码位于 https://gitee.com/openharmony/build/tree/master/templates
ohos_prebuilt_executable
、ohos_prebuilt_shared_library
、ohos_prebuilt_static_library
、ohos_prebuilt_etc
预编译模板在prebuilt.gni中定义,它们通过调用ohos_copy模板实现。ohos_copy
模板实现了拷贝文件到设备具体位置的功能,它需要定义 invoker.sources 和 invoker.outputs,即 source 和 output 属性。例如ohos_prebuilt_executable
、ohos_prebuilt_shared_library
、ohos_prebuilt_static_library
、ohos_prebuilt_etc
(下面用 ohos_prebuilt_xxx 代指)添加支持指定 output 属性的能力的相关代码如下
使能/禁用 selinux
禁用 selinux
使能 selinux
版权声明: 本文为 InfoQ 作者【离北况归】的原创文章。
原文链接:【http://xie.infoq.cn/article/b2d15896a2de781237da88509】。文章转载请联系作者。
评论