一、OpenHarmony源码中DPI配置
rk3568开发板默认的DPI配置为240,范围为80-640。
<dpi>240<span class="hljs-name"dpi>
以下为触觉智能开发板在不同DPI时屏幕的显示情况
- DPI为240时
- DPI为100时
- DPI为600时
二、更改开发板的DPI
方法一:更改源码编译烧录固件
- 在源码foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml文件中修改dpi,编译后烧录固件。
<dpi>240<span class="hljs-name"dpi>
方法二:发送display_manager_config.xml文件至设备etc/window/resources
- OpenHarmony固件编译烧录进入设备后,display_manager_config.xml文件会被预编译打包至设备端etc/window/resources目录下,什么,为什么只有window/resources字段,因为ohos_prebuilt_etc就是把文件放进设备的etc文件夹
foundation/window/window_manager/resources/config/BULID.gn文件如下,
下面代码的意思是源码foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml会真正安装在设备中的etc/window/resources文件位置,
ohos_prebuilt_etc("display_manager_config") {
if (device_name == "rk3568") {
source = "//foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml"
install_enable = true
···
···
relative_install_dir = "window/resources"
}
- 步骤如下
# 进入sdk版本号 oolchain输入cmd打开命令行,重新加载系统为可读写
D:DevEco Studiosdk9 oolchains>hdc_std shell mount -o remount,rw /
# 替换/etc/window/resources中的display_manager_config.xml文件
D:DevEco Studiosdk9 oolchains>hdc_std file send C:Usersjjhdisplay_manager_config.xml /etc/window/resources
然后重启开发板让设置生效
知识点附送
为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属性的能力的相关代码如下
templates/common/copy.gni文件中:
template("ohos_copy") {
assert(defined(invoker.sources),
"sources must be defined for ${target_name}.")
assert(defined(invoker.outputs),
"outputs must be defined for ${target_name}.")
...
if (_is_prebuilt) {
_outputs = invoker.outputs
module_source = string_replace(_outputs[0], "${target_out_dir}/", "", 1)
}
prebuilt = _is_prebuilt
···
templates/cxx/prebuilt.gni文件中:
template("ohos_prebuilt_xxx") {
···
# 如果.gn文件中为ohos_prebuilt_xxx指定了out属性,文件名称被另外指定。没有则默认为原名称
if (defined(invoker.output)) {
_copy_output = "${target_out_dir}/${invoker.output}"
} else {
_copy_output = "${target_out_dir}/${invoker.source}"
}
···
outputs = [ _copy_output ]
}
使能/禁用selinux
- 禁用selinux
hdc_std shell mount -o rw,remount /
hdc_std shell "sed -i 's/enforcing/permissive/g' /system/etc/selinux/config"
hdc_std shell "cat /system/etc/selinux/config |grep SELINUX="
# 重启设备
hdc_std shell reboot
- 使能selinux
hdc_std shell mount -o rw,remount /
hdc_std shell "sed -i 's/permissive/enforcing/g' /system/etc/selinux/config"
hdc_std shell "cat /system/etc/selinux/config |grep SELINUX="
# 重启设备
hdc_std shell reboot
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
屏幕
+关注
关注
6文章
1196浏览量
55780 -
源码
+关注
关注
8文章
638浏览量
29184 -
DPI
+关注
关注
0文章
36浏览量
11509 -
OpenHarmony
+关注
关注
25文章
3712浏览量
16248
发布评论请先 登录
相关推荐
OpenHarmony2.0 一站式编译烧录Hi3516标准系统
,进入OpenHarmony2.0标准系统的开机桌面总结标准系统初次编译较慢,后续增量编译一般可以在几分钟之内完成,加上烧录10分钟左右,标准系统的编译烧录一般为十多分钟或者更少,基本
发表于 07-30 07:12
OpenHarmony 3.0 LTS 标准系统体验
本帖最后由 miccn 于 2021-10-2 08:03 编辑
9月30日,OpenHarmony 3.0 LTS版本发布,相比上一版,标准系统新增特性有:1.用户程序框架支持服务能力
发表于 10-02 07:56
【直播回顾】OpenHarmony知识赋能第四期直播——标准系统HDF开发
3月10日晚上19点,OpenHarmony开发者成长计划社群内,我们举办了知识赋能第四期直播课《OpenHarmony标准系统HDF框架介绍》,吸引了数千名开发者线上观看学习,并受到了大家的一致
发表于 03-11 17:29
OpenHarmony标准系统编译如何单独编译某个组件?
在使用Hi3516DV300开发板时,编译OpenHarmony标准系统命令如下:源码根目录执行: ./build.sh --product-name Hi3516DV300 --ccache请问下如果想单独编译某个组件,怎么操作?
发表于 04-15 10:22
直播预告丨OpenHarmony标准系统多媒体子系统之音频解读
社群直播间带来干货分享《OpenHarmony标准系统多媒体子系统之音频解读》,他将详细介绍OpenHarmony音频框架,和大家一起熟悉音频开发接口。长按下方海报扫码,即可预约直播哦
发表于 05-12 11:31
直播预告丨OpenHarmony标准系统多媒体子系统之视频解读
OpenHarmony官方社群直播间带来干货分享《OpenHarmony标准系统多媒体子系统之视频解读》,他将为大家介绍OpenHarmony
发表于 05-18 10:16
DAYU200 OpenHarmony标准系统HDMI全屏显示
1. 前言OpenHarmony标准系统,master分支已经支持HDMI,但是默认的分辨率是采用MIPI的分辨率,所以会导致接上显示器后画面不完整。这里我们可以自己修改代码,关闭MIPI,就可以
发表于 07-29 12:00
【润和软件DAYU200开发板体验】移植speexdsp到OpenHarmony标准系统功能演示
该视频已经同步上传至硬声app,账号名称离北况归移植speexdsp到OpenHarmony标准系统系列文章:【润和软件DAYU200开发板体验】移植speexdsp到OpenHarmony标
发表于 11-06 22:35
OpenHarmony内核学习[1]--单独编译OpenHarmony标准系统内核
内核是操作系统的核心,学习掌握OpenHarmony内核对于开发人员至关重要。笔者整理学习OpenHarmony标准系统内核笔记如下:阅读本文大约需要15分钟。
发表于 02-03 10:46
OpenHarmony标准系统开机时长优化
等待几十秒后才能输入导航目的地),在金融交易设备、电子商务服务器、实时通信设备同样也有较高的应用场景,那我们该如何在OpenAtom OpenHarmony(简称OpenHarmony ) 标准系统现有
发表于 04-10 10:22
6步玩转OpenHarmony标准芯片适配
HDI适配。
适配完成之后,修改系统采用CPU点亮屏幕。阶段三 基础硬件适配
----------------欲知详情,请移步LAVAL社区OpenHarmony
发表于 08-22 09:10
移植speexdsp到OpenHarmony标准系统②
由于想要分享的内容较多,为避免读者姥爷们失去看下去的耐心,分享将以连载的方式进行。 第一期请点击查看《移植speexdsp到OpenHarmony标准系统① 》,本期为移植speexdsp到
移植speexdsp到OpenHarmony标准系统的第③
由于想要分享的内容较多,为避免读者姥爷们失去看下去的耐心,分享将以连载的方式进行。 前期回顾:《移植speexdsp到OpenHarmony标准系统② 》《移植speexdsp到
两百元的OpenHarmony标准系统开发板(软硬件全部开源)
本文转载于PurplePiOH开发爱好者,作者离北况归大家好,我是离北况归。最近入手了一块OpenHarmony标准系统开发板———触觉智能PurplePiOH,2+16G售价仅249元。它
评论