国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

服務器資訊|IT/互聯網|云計算|區塊鏈|軟件資訊|操作系統|手機數碼|百科知識|免費資源|頭條新聞|

服務器之家 - 新聞資訊 - 操作系統 - OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

2023-12-12 17:04未知服務器之家 操作系統

想了解更多關于開源的內容,請訪問: 本站開源基礎軟件社區 概述 文檔環境 開發環境:Windows 11 編譯環境:Ubuntu 22.04 開發板型號:DAYU 200(RK3568) 系統版本:OpenHarmony-3.2-Release 涉及倉庫: applications_launcher 功能簡介 在OpenHarmony系

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

想了解更多關于開源的內容,請訪問:

本站開源基礎軟件社區

概述

文檔環境

  • 開發環境:Windows 11
  • 編譯環境:Ubuntu 22.04
  • 開發板型號:DAYU 200(RK3568)
  • 系統版本:OpenHarmony-3.2-Release
  • 涉及倉庫:applications_launcher

功能簡介

  • 在OpenHarmony系統中預安裝應用的hap包會隨系統編譯打包到鏡像中,目前有兩種編譯預安裝應用hap包的方式,一種為隨系統編譯時,編譯應用源碼生成hap包的方式,另一種是將已生成的hap包放入系統源碼中,再進行打包的方式。后者需要開發者使用DevEco Studio或其它途徑,把應用源碼編譯構建為hap包,再將hap放入系統源碼中。
  • 本文檔以系統應用Launcher為例,帶大家了解如何通過系統源碼編譯應用的方式來打包預安裝應用。

3.2-Release系統編譯Launcher

刪除或注釋系統中默認的Launcher應用hap包編譯方式。

文件位置:applications/standard/hap/BUILD.gn

group("hap") {
  deps = [
    	...
      # "http://applications/standard/hap:launcher_hap", // 直接刪除或注釋,不參與編譯
      # "http://applications/standard/hap:launcher_settings_hap",  // 直接刪除或注釋,不參與編譯
    	...
  ]
 }

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

在applications/standard/launcher/product/phone目錄中增加BUILD.gn文件。

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

內容如下:

import("http://build/ohos.gni")

ohos_hap("launcher_hap") {
  hap_profile = "src/main/module.json"
  deps = [
    ":launcher_js_assets",
    ":launcher_resources",
  ]
  certificate_profile = "../../signature/launcher.p7b"
  hap_name = "Launcher_OS"
  part_name = "prebuilt_hap"
  subsystem_name = "applications"
  js_build_mode = "release"
  module_install_dir = "app/com.ohos.launcher"
}

ohos_js_assets("launcher_js_assets") {
  ets2abc = true
  source_dir = "src/main/ets"
}

ohos_resources("launcher_resources") {
  sources = [ "src/main/resources", "../../common/src/main/resources" ]
  deps = [ ":launcher_app_profile" ]
  hap_profile = "src/main/module.json"
}

ohos_app_scope("launcher_app_profile") {
  app_profile = "../../AppScope/app.json"
  sources = [ "../../AppScope/resources" ]
}

說明:

  • 此處把產物名稱hap_name定義為Launcher_OS是為了區分原系統源碼中默認的hap包名稱,實際可以填寫為Launcher。
  • 因為launcher_hap中使用了其它har(common)中的資源,所以launcher_resources中的sources需要添加依賴的resources資源目錄,在步驟3中launcher_settings_hap
    中的配置也是如此。

在applications/standard/launcher/feature/settings目錄中增加BUILD.gn文件。

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

內容如下:

import("http://build/ohos.gni")

ohos_hap("launcher_settings_hap") {
  hap_profile = "src/main/module.json"
  deps = [
    ":launcher_settings_js_assets",
    ":launcher_settings_resources",
  ]
  certificate_profile = "../../signature/launcher.p7b"
  hap_name = "Launcher_Settings_OS"
  part_name = "prebuilt_hap"
  subsystem_name = "applications"
  js_build_mode = "release"
  module_install_dir = "app/com.ohos.launcher"
}

ohos_js_assets("launcher_settings_js_assets") {
  ets2abc = true
  source_dir = "src/main/ets"
}

ohos_resources("launcher_settings_resources") {
  sources = [ "src/main/resources", "../../common/src/main/resources" ]
  deps = [ ":launcher_settings_app_profile" ]
  hap_profile = "src/main/module.json"
}

ohos_app_scope("launcher_settings_app_profile") {
  app_profile = "../../AppScope/app.json"
  sources = [ "../../AppScope/resources" ]
}

說明:

  • 此處把產物名稱hap_name定義為Launcher_Settings_OS是為了區分原系統源碼中默認的hap包名稱,實際可以填寫為Launcher_Settings

因為系統編譯只可讀取json后綴的配置文件,所以需要把應用源碼中的app.json5和module.json5文件復制,并改名為app.json和module.json文件。

復制applications/standard/launcher/AppScope/app.json5文件為app.json。

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

復制applications/standard/launcher/product/phone/src/main/module.json5文件為module.json。

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

復制applications/standard/launcher/feature/settings/src/main/module.json5文件為module.json。

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

在applications/standard/hap/ohos.build文件module_list中增加launcher_hap模塊和launcher_settings_hap模塊編譯。

{
  "subsystem": "applications",
  "parts": {
    "prebuilt_hap": {
	  	...
      "module_list": [
       	...
        "http://applications/standard/launcher/product/phone:launcher_hap",
        "http://applications/standard/launcher/feature/settings:launcher_settings_hap",
        ...
      ]
    }
  }
}

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

修改預編譯配置build/prebuilts_download_config.json文件,把launcher依賴增加到npm_install_path列表中。

{
  "prebuilts_download_dir": "../OpenHarmony_canary_prebuilts",
  "npm_install_path": [
    "developtools/ace_ets2bundle/compiler",
    "developtools/ace_js2bundle/ace-loader",
    "third_party/jsframework",
    "arkcompiler/ets_frontend/ts2panda",
    "arkcompiler/ets_frontend/legacy_bin/api8",
    "interface/sdk-js/build-tools",
    "applications/standard/launcher/common",
    "applications/standard/launcher/feature/appcenter",
    "applications/standard/launcher/feature/bigfolder",
    "applications/standard/launcher/feature/form",
    "applications/standard/launcher/feature/gesturenavigation",
    "applications/standard/launcher/feature/numbadge",
    "applications/standard/launcher/feature/pagedesktop",
    "applications/standard/launcher/feature/recents",
    "applications/standard/launcher/feature/smartdock",
    "applications/standard/launcher/feature/settings",
    "applications/standard/launcher/product/phone"
  ],
  ...
}

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

執行預編譯指令。

bash build/prebuilts_download.sh --skip-ssl

可以在應用源碼中看到應用內的依賴已經被正確的加載。

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

執行源碼編譯指令。如果以下2個目錄產物正確,則說明應用源碼編譯方式修改成功。

在out/rk3568/obj/applications/standard/launcher目錄中,會生成2個hap的編譯產物。

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

在out/rk3568/packages/phone/system/app/com.ohos.launcher目錄中,是實際系統環境中的hap包產物。

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

燒錄系統驗證功能。

Launcher正常啟動:

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

系統應用目錄文件正確:

OpenHarmony應用編譯 - 如何在源碼中編譯復雜應用(3.2-Release)

想了解更多關于開源的內容,請訪問:

本站開源基礎軟件社區

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 在线观看视频91 | 爱干视频 | 一本色道久久综合狠狠躁篇的优点 | 国产日韩欧美在线 | 欧美日韩亚洲成人 | 日韩成人精品在线 | 国产美女精品视频免费观看 | 久久久久久中文字幕 | 亚州中文字幕蜜桃视频 | 久久99国产精品久久99大师 | 天天爽夜夜爽夜夜爽精品视频 | 国产亚洲精品美女久久久久久久久久 | 免费一区 | 欧美日在线 | 久久99精品久久久久久园产越南 | 国产免费一区二区三区 | 亚洲精品www久久久久久广东 | 中文字幕成人在线 | 久久国产精品无码网站 | 欧美黄色片免费观看 | 亚洲成人黄色 | 国产精品毛片一区二区三区 | 中文字幕日韩欧美一区二区三区 | 国产一区二区免费 | 亚洲欧美激情精品一区二区 | 91视频网址 | 色网站在线 | 成人精品一区亚洲午夜久久久 | 一本大道综合伊人精品热热 | 欧美精品一区二区三区四区 | 欧美成人一区二区 | 国产精品无码久久久久 | 欧美日韩中文在线观看 | 中文字幕一区二区三区在线观看 | 在线观看亚洲 | 99久久精品免费看国产一区二区三区 | 成人欧美一区二区三区在线播放 | 国产精品一区一区三区 | 亚洲精品一区二区三区在线观看 | 我要看a级毛片 | 国产成人综合一区二区三区 |