衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【OpenHarmony標準系統】修改屏幕 DPI(像素密度)

OpenHarmony開發經驗 ? 來源:OpenHarmony開發經驗 ? 作者:OpenHarmony開發經驗 ? 2023-05-16 10:21 ? 次閱讀

一、OpenHarmony源碼中DPI配置

rk3568開發板默認的DPI配置為240,范圍為80-640。

<dpi>240<span class="hljs-name"dpi>

以下為觸覺智能開發板在不同DPI時屏幕的顯示情況

  • DPI為240時
    snapshot_20230227_222808.png
  • DPI為100時
    snapshot_20230227_222044.png
  • DPI為600時
    snapshot_20230227_222534.png

二、更改開發板的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_executableohos_prebuilt_shared_libraryohos_prebuilt_static_libraryohos_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_executableohos_prebuilt_shared_libraryohos_prebuilt_static_libraryohos_prebuilt_etc預編譯模板在prebuilt.gni中定義,它們通過調用ohos_copy模板實現。
    • ohos_copy模板實現了拷貝文件到設備具體位置的功能,它需要定義invoker.sources和invoker.outputs,即source和output屬性。例如image.png
  • ohos_prebuilt_executableohos_prebuilt_shared_libraryohos_prebuilt_static_libraryohos_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
    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

    OpenHarmony、輕量系統、小型系統標準系統的差異

    本文簡單介紹OpenHarmony、輕量系統、小型系統標準系統的差異,以及相關的官方資料和文檔。
    的頭像 發表于 01-24 14:47 ?6822次閱讀
    <b class='flag-5'>OpenHarmony</b>、輕量<b class='flag-5'>系統</b>、小型<b class='flag-5'>系統</b>、<b class='flag-5'>標準系統</b>的差異

    移植speexdsp到OpenHarmony標準系統

    由于想要分享的內容較多,為避免讀者姥爺們失去看下去的耐心,分享將以連載的方式進行。 第一期請點擊查看《移植speexdsp到OpenHarmony標準系統① 》,本期為移植speexdsp到
    的頭像 發表于 11-30 09:10 ?964次閱讀

    移植speexdsp到OpenHarmony標準系統的第③

    由于想要分享的內容較多,為避免讀者姥爺們失去看下去的耐心,分享將以連載的方式進行。 前期回顧:《移植speexdsp到OpenHarmony標準系統② 》《移植speexdsp到
    的頭像 發表于 12-01 12:35 ?1235次閱讀

    OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發板演示

    開源鴻蒙OpenHarmony系統下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發板演示,搭載了瑞芯微RK3566四核處
    的頭像 發表于 12-24 11:46 ?259次閱讀
    <b class='flag-5'>OpenHarmony</b>怎么<b class='flag-5'>修改</b><b class='flag-5'>DPI</b><b class='flag-5'>密度</b>值?觸覺智能RK3566鴻蒙開發板演示
    百家乐园sun811.com| 威尼斯人娱乐下载平台| 总统百家乐的玩法技巧和规则| 奇博网上娱乐| 百家乐官网出千的方法| 百家乐服务区| 久盛国际娱乐城| 百家乐官网赌博代理合作| 百家乐赌场合作| 彩票预测| 百家乐官网怎么玩会| 万达百家乐娱乐城| 百家乐官网公式球打法| 澳门百家乐开户投注| 唐人博彩| 百家乐庄闲必胜手段| 易胜博国际娱乐| 网络百家乐官网会输钱的多吗| 大发888排行| 粤港澳百家乐官网娱乐平台| 网上玩百家乐的玩法技巧和规则| 百家乐官网数学规律| 百家乐电话投注多少| 绥阳县| 风水学24山看水法| ,大发扑克下载| 杨公先师24山秘密全书| 最好的棋牌游戏大厅| 芝加哥百家乐官网的玩法技巧和规则| 百家乐博弈之赢者理论| 百家乐官网赌博是否违法| 威尼斯人娱乐城赌博网站| 皋兰县| 澳门百家乐信誉| 澳门百家乐官网投注法| 钱隆百家乐智能| 如何玩百家乐官网扑克| 百家乐单机破解版| 南京百家乐官网赌博现场被抓 | 马洪刚百家乐技巧| 百家乐官网百家乐官网视频游戏世界|