一、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 = "http://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文章
1200瀏覽量
55969 -
源碼
+關注
關注
8文章
652瀏覽量
29450 -
DPI
+關注
關注
0文章
37瀏覽量
11542 -
OpenHarmony
+關注
關注
25文章
3744瀏覽量
16577
發布評論請先 登錄
相關推薦
迅為RK3588開發板Android 系統修改屏幕分辨率和 density
)如下圖所示:
wm size 1080x1920
wm size
輸入以下命令查詢像素密度,如下圖所示:
wm density
輸入以下命令修改像素
發表于 12-27 11:07
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
移植speexdsp到OpenHarmony標準系統②
由于想要分享的內容較多,為避免讀者姥爺們失去看下去的耐心,分享將以連載的方式進行。 第一期請點擊查看《移植speexdsp到OpenHarmony標準系統① 》,本期為移植speexdsp到
移植speexdsp到OpenHarmony標準系統的第③
由于想要分享的內容較多,為避免讀者姥爺們失去看下去的耐心,分享將以連載的方式進行。 前期回顧:《移植speexdsp到OpenHarmony標準系統② 》《移植speexdsp到
OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發板演示
開源鴻蒙OpenHarmony系統下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發板演示,搭載了瑞芯微RK3566四核處
評論