一、OpenHarmony源碼中DPI配置
- 在源碼foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml中有rk3568的默認(rèn)配置
rk3568開發(fā)板默認(rèn)的DPI配置為240,范圍為80-640。
<dpi>240<span class="hljs-name"dpi>
以下為觸覺智能開發(fā)板在不同DPI時(shí)屏幕的顯示情況
- DPI為240時(shí)
- DPI為100時(shí)
- DPI為600時(shí)
二、更改開發(fā)板的DPI
方法一:更改源碼編譯燒錄固件
- 在源碼foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml文件中修改dpi,編譯后燒錄固件。
<dpi>240<span class="hljs-name"dpi>
方法二:發(fā)送display_manager_config.xml文件至設(shè)備etc/window/resources
- OpenHarmony固件編譯燒錄進(jìn)入設(shè)備后,display_manager_config.xml文件會(huì)被預(yù)編譯打包至設(shè)備端etc/window/resources目錄下,什么,為什么只有window/resources字段,因?yàn)閛hos_prebuilt_etc就是把文件放進(jìn)設(shè)備的etc文件夾
foundation/window/window_manager/resources/config/BULID.gn文件如下,
下面代碼的意思是源碼foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml會(huì)真正安裝在設(shè)備中的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"
}
- 步驟如下
# 進(jìn)入sdk版本號(hào) oolchain輸入cmd打開命令行,重新加載系統(tǒng)為可讀寫
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
然后重啟開發(fā)板讓設(shè)置生效
知識(shí)點(diǎn)附送
為ohos_prebuilt_XXX類目標(biāo)添加支持指定output屬性的能力
- 以該pr學(xué)習(xí) https://gitee.com/openharmony/build/pulls/822/files 為ohos_prebuilt_XXX類目標(biāo)添加支持指定output屬性的能力。
- ohos_prebuilt_XXX類目標(biāo)是指
ohos_prebuilt_executable
、ohos_prebuilt_shared_library
、ohos_prebuilt_static_library
、ohos_prebuilt_etc
。這類目標(biāo)只支持指定source屬性,拷貝到out目錄時(shí)目標(biāo)文件名與源文件名是一樣的,無法另行指定名字。該pr解決了此限制,添加了output這個(gè)可選屬性用于指定目標(biāo)文件名,不指定的情況下默認(rèn)與源文件名是一樣的(與原邏輯保持一致)。 - OpenHarmony編譯構(gòu)建子系統(tǒng)是基于Gn和ninja的,而gn本身是有原生模板(source_set,shared_library, static_library, action, executable,group)。gn也支持用戶自定義編譯模板,OpenHarmony編譯子系統(tǒng)提供了一系列自定義的模板(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
預(yù)編譯模板在prebuilt.gni中定義,它們通過調(diào)用ohos_copy模板實(shí)現(xiàn)。ohos_copy
模板實(shí)現(xiàn)了拷貝文件到設(shè)備具體位置的功能,它需要定義invoker.sources和invoker.outputs,即source和output屬性。例如
ohos_prebuilt_executable
、ohos_prebuilt_shared_library
、ohos_prebuilt_static_library
、ohos_prebuilt_etc
(下面用ohos_prebuilt_xxx代指)添加支持指定output屬性的能力的相關(guān)代碼如下
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屬性,文件名稱被另外指定。沒有則默認(rèn)為原名稱
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="
# 重啟設(shè)備
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="
# 重啟設(shè)備
hdc_std shell reboot
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
屏幕
+關(guān)注
關(guān)注
6文章
1196瀏覽量
55782 -
源碼
+關(guān)注
關(guān)注
8文章
639瀏覽量
29185 -
DPI
+關(guān)注
關(guān)注
0文章
36瀏覽量
11509 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3713瀏覽量
16254
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
OpenHarmony2.0 一站式編譯燒錄Hi3516標(biāo)準(zhǔn)系統(tǒng)
,進(jìn)入OpenHarmony2.0標(biāo)準(zhǔn)系統(tǒng)的開機(jī)桌面總結(jié)標(biāo)準(zhǔn)系統(tǒng)初次編譯較慢,后續(xù)增量編譯一般可以在幾分鐘之內(nèi)完成,加上燒錄10分鐘左右,標(biāo)準(zhǔn)系統(tǒng)的編譯燒錄一般為十多分鐘或者更少,基本
發(fā)表于 07-30 07:12
OpenHarmony 3.0 LTS 標(biāo)準(zhǔn)系統(tǒng)體驗(yàn)
本帖最后由 miccn 于 2021-10-2 08:03 編輯
9月30日,OpenHarmony 3.0 LTS版本發(fā)布,相比上一版,標(biāo)準(zhǔn)系統(tǒng)新增特性有:1.用戶程序框架支持服務(wù)能力
發(fā)表于 10-02 07:56
【直播回顧】OpenHarmony知識(shí)賦能第四期直播——標(biāo)準(zhǔn)系統(tǒng)HDF開發(fā)
3月10日晚上19點(diǎn),OpenHarmony開發(fā)者成長(zhǎng)計(jì)劃社群內(nèi),我們舉辦了知識(shí)賦能第四期直播課《OpenHarmony標(biāo)準(zhǔn)系統(tǒng)HDF框架介紹》,吸引了數(shù)千名開發(fā)者線上觀看學(xué)習(xí),并受到了大家的一致
發(fā)表于 03-11 17:29
OpenHarmony標(biāo)準(zhǔn)系統(tǒng)編譯如何單獨(dú)編譯某個(gè)組件?
在使用Hi3516DV300開發(fā)板時(shí),編譯OpenHarmony標(biāo)準(zhǔn)系統(tǒng)命令如下:源碼根目錄執(zhí)行: ./build.sh --product-name Hi3516DV300 --ccache請(qǐng)問下如果想單獨(dú)編譯某個(gè)組件,怎么操作?
發(fā)表于 04-15 10:22
直播預(yù)告丨OpenHarmony標(biāo)準(zhǔn)系統(tǒng)多媒體子系統(tǒng)之音頻解讀
社群直播間帶來干貨分享《OpenHarmony標(biāo)準(zhǔn)系統(tǒng)多媒體子系統(tǒng)之音頻解讀》,他將詳細(xì)介紹OpenHarmony音頻框架,和大家一起熟悉音頻開發(fā)接口。長(zhǎng)按下方海報(bào)掃碼,即可預(yù)約直播哦
發(fā)表于 05-12 11:31
直播預(yù)告丨OpenHarmony標(biāo)準(zhǔn)系統(tǒng)多媒體子系統(tǒng)之視頻解讀
OpenHarmony官方社群直播間帶來干貨分享《OpenHarmony標(biāo)準(zhǔn)系統(tǒng)多媒體子系統(tǒng)之視頻解讀》,他將為大家介紹OpenHarmony
發(fā)表于 05-18 10:16
DAYU200 OpenHarmony標(biāo)準(zhǔn)系統(tǒng)HDMI全屏顯示
1. 前言OpenHarmony標(biāo)準(zhǔn)系統(tǒng),master分支已經(jīng)支持HDMI,但是默認(rèn)的分辨率是采用MIPI的分辨率,所以會(huì)導(dǎo)致接上顯示器后畫面不完整。這里我們可以自己修改代碼,關(guān)閉MIPI,就可以
發(fā)表于 07-29 12:00
【潤(rùn)和軟件DAYU200開發(fā)板體驗(yàn)】移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)功能演示
該視頻已經(jīng)同步上傳至硬聲app,賬號(hào)名稱離北況歸移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)系列文章:【潤(rùn)和軟件DAYU200開發(fā)板體驗(yàn)】移植speexdsp到OpenHarmony標(biāo)
發(fā)表于 11-06 22:35
OpenHarmony內(nèi)核學(xué)習(xí)[1]--單獨(dú)編譯OpenHarmony標(biāo)準(zhǔn)系統(tǒng)內(nèi)核
內(nèi)核是操作系統(tǒng)的核心,學(xué)習(xí)掌握OpenHarmony內(nèi)核對(duì)于開發(fā)人員至關(guān)重要。筆者整理學(xué)習(xí)OpenHarmony標(biāo)準(zhǔn)系統(tǒng)內(nèi)核筆記如下:閱讀本文大約需要15分鐘。
發(fā)表于 02-03 10:46
OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開機(jī)時(shí)長(zhǎng)優(yōu)化
等待幾十秒后才能輸入導(dǎo)航目的地),在金融交易設(shè)備、電子商務(wù)服務(wù)器、實(shí)時(shí)通信設(shè)備同樣也有較高的應(yīng)用場(chǎng)景,那我們?cè)撊绾卧贠penAtom OpenHarmony(簡(jiǎn)稱OpenHarmony ) 標(biāo)準(zhǔn)系統(tǒng)現(xiàn)有
發(fā)表于 04-10 10:22
6步玩轉(zhuǎn)OpenHarmony標(biāo)準(zhǔn)芯片適配
HDI適配。
適配完成之后,修改系統(tǒng)采用CPU點(diǎn)亮屏幕。階段三 基礎(chǔ)硬件適配
----------------欲知詳情,請(qǐng)移步LAVAL社區(qū)OpenHarmony
發(fā)表于 08-22 09:10
OpenHarmony、輕量系統(tǒng)、小型系統(tǒng)、標(biāo)準(zhǔn)系統(tǒng)的差異
本文簡(jiǎn)單介紹OpenHarmony、輕量系統(tǒng)、小型系統(tǒng)、標(biāo)準(zhǔn)系統(tǒng)的差異,以及相關(guān)的官方資料和文檔。
移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)②
由于想要分享的內(nèi)容較多,為避免讀者姥爺們失去看下去的耐心,分享將以連載的方式進(jìn)行。 第一期請(qǐng)點(diǎn)擊查看《移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)① 》,本期為移植speexdsp到
移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的第③
由于想要分享的內(nèi)容較多,為避免讀者姥爺們失去看下去的耐心,分享將以連載的方式進(jìn)行。 前期回顧:《移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)② 》《移植speexdsp到
兩百元的OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開發(fā)板(軟硬件全部開源)
本文轉(zhuǎn)載于PurplePiOH開發(fā)愛好者,作者離北況歸大家好,我是離北況歸。最近入手了一塊OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開發(fā)板———觸覺智能PurplePiOH,2+16G售價(jià)僅249元。它
評(píng)論