在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙OpenHarmony開(kāi)發(fā)板解析:【 模塊配置規(guī)則】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-10 14:39 ? 次閱讀

模塊

模塊配置規(guī)則

編譯子系統(tǒng)通過(guò)模塊、部件和產(chǎn)品三層配置來(lái)實(shí)現(xiàn)編譯和打包。模塊就是編譯子系統(tǒng)的一個(gè)目標(biāo),包括(動(dòng)態(tài)庫(kù)、靜態(tài)庫(kù)、配置文件、預(yù)編譯模塊等)。模塊要定義屬于哪個(gè)部件,一個(gè)模塊只能歸屬于一個(gè)部件。OpenHarmony使用定制化的Gn模板來(lái)配置模塊規(guī)則,Gn語(yǔ)法相關(guān)的基礎(chǔ)知識(shí)請(qǐng)參考

以下是常用的模塊配置規(guī)則:

# C/C++模板
ohos_shared_library
ohos_static_library
ohos_executable
ohos_source_set

# 預(yù)編譯模板:
ohos_prebuilt_executable
ohos_prebuilt_shared_library
ohos_prebuilt_static_library

#hap模板
ohos_hap
ohos_app_scope
ohos_js_assets
ohos_resources

#rust模板
ohos_rust_executable
ohos_rust_shared_library
ohos_rust_static_library
ohos_rust_proc_macro
ohos_rust_shared_ffi
ohos_rust_static_ffi
ohos_rust_cargo_crate
ohos_rust_systemtest
ohos_rust_unittest
ohos_rust_fuzztest

#其他常用模板
#配置文件
ohos_prebuilt_etc

#sa配置
ohos_sa_profile

ohos開(kāi)頭的模板與內(nèi)建模板的差異主要在于:推薦使用ohos定制模板。

C/C++模板示例

開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

ohos開(kāi)頭的模板對(duì)應(yīng)的.gni文件路徑在:openharmony/build/templates/cxx/cxx.gni。

ohos_shared_library示例

import("http://build/ohos.gni")
ohos_shared_library("helloworld") {
  sources = ["file"]
  include_dirs = []             # 如有重復(fù)頭文件定義,優(yōu)先使用前面路徑頭文件。
  cflags = []                   # 如重復(fù)沖突定義,后面的參數(shù)優(yōu)先生效,也就是該配置項(xiàng)中優(yōu)先生效。
  cflags_c = []
  cflags_cc = []
  ldflags = []                  # 如重復(fù)沖突定義,前面參數(shù)優(yōu)先生效,也就是ohos_template中預(yù)制參數(shù)優(yōu)先生效。
  configs = []
  deps = []                     # 部件內(nèi)模塊依賴

  external_deps = [             # 跨部件模塊依賴定義
  "part_name:module_name",      # 定義格式為 "部件名:模塊名稱"。
  ]                             # 這里依賴的模塊必須是依賴的部件聲明在inner_kits中的模塊。

  output_name = [string]        # 模塊輸出名
  output_extension = []         # 模塊名后綴
  module_install_dir = ""       # 模塊安裝路徑,缺省在/system/lib64或/system/lib下; 模塊安裝路徑從system/,vendor/后開(kāi)始指定。
  relative_install_dir = ""     # 模塊安裝相對(duì)路徑,相對(duì)于/system/lib64或/system/lib;如果有module_install_dir配置時(shí),該配置不生效。

  part_name = ""                # 必選,所屬部件名稱
  output_dir

  # Sanitizer配置,每項(xiàng)都是可選的,默認(rèn)為false/空。
  sanitize = {
    # 各個(gè)Sanitizer開(kāi)關(guān)
    cfi = [boolean]               # 控制流完整性檢測(cè)
    cfi_cross_dso = [boolean]     # 開(kāi)啟跨so調(diào)用的控制流完整性檢測(cè)
    integer_overflow = [boolean]  # 整數(shù)溢出檢測(cè)
    boundary_sanitize = [boolean] # 邊界檢測(cè)
    ubsan = [boolean]             # 部分ubsan選項(xiàng)
    all_ubsan = [boolean]         # 全量ubsan選項(xiàng)
    ...

    debug = [boolean]             # 調(diào)測(cè)模式
    blocklist = [string]          # 屏蔽名單路徑
  }

  testonly = [boolean]
  license_as_sources = []
  license_file = []               # 后綴名是.txt的文件
  remove_configs = []
  no_default_deps = []
  install_images = []
  install_enable = [boolean]
  symlink_target_name = []
  version_script = []
  use_exceptions = []
}

ohos_static_library示例

import("http://build/ohos.gni")
ohos_static_library("helloworld") {
  sources = ["file"]            # 后綴名是.c的相關(guān)文件
  include_dirs = ["dir"]        # 包含目錄
  configs = []                  # 配置
  deps = []                     # 部件內(nèi)模塊依賴
  part_name = ""                # 部件名稱
  subsystem_name = ""           # 子系統(tǒng)名稱
  cflags = []

  external_deps = [             # 跨部件模塊依賴定義,
  "part_name:module_name",      # 定義格式為 "部件名:模塊名稱"
  ]                             # 這里依賴的模塊必須是依賴的部件聲明在inner_kits中的模塊。

  lib_dirs = []
  public_configs = []

  # Sanitizer配置,每項(xiàng)都是可選的,默認(rèn)為false/空
  sanitize = {
    # 各個(gè)Sanitizer開(kāi)關(guān)
    cfi = [boolean]               # 控制流完整性檢測(cè)
    cfi_cross_dso = [boolean]     # 開(kāi)啟跨so調(diào)用的控制流完整性檢測(cè)
    integer_overflow = [boolean]  # 整數(shù)溢出檢測(cè)
    boundary_sanitize = [boolean] # 邊界檢測(cè)
    ubsan = [boolean]             # 部分ubsan選項(xiàng)
    all_ubsan = [boolean]         # 全量ubsan選項(xiàng)
    ...

    debug = [boolean]             # 調(diào)測(cè)模式
    blocklist = [string]          # 屏蔽名單路徑
  }

  remove_configs = []
  no_default_deps = []
  license_file = []               # 后綴名是.txt的文件
  license_as_sources = []
  use_exceptions = []
}

ohos_executable示例

import("http://build/ohos.gni")
ohos_executable("helloworld") {
  configs = []                       # 配置  
  part_name = ""                     # 部件名稱 
  subsystem_name = ""                # 子系統(tǒng)名稱
  deps = []                          # 部件內(nèi)模塊依賴

  external_deps = [                  # 跨部件模塊依賴定義,
  "part_name:module_name",           # 定義格式為 "部件名:模塊名稱"
  ]                                  # 這里依賴的模塊必須是依賴的部件聲明在inner_kits中的模塊。
  ohos_test = []
  test_output_dir = []

  # Sanitizer配置,每項(xiàng)都是可選的,默認(rèn)為false/空
  sanitize = {
    # 各個(gè)Sanitizer開(kāi)關(guān)
    cfi = [boolean]               # 控制流完整性檢測(cè)
    cfi_cross_dso = [boolean]     # 開(kāi)啟跨so調(diào)用的控制流完整性檢測(cè)
    integer_overflow = [boolean]  # 整數(shù)溢出檢測(cè)
    boundary_sanitize = [boolean] # 邊界檢測(cè)
    ubsan = [boolean]             # 部分ubsan選項(xiàng)
    all_ubsan = [boolean]         # 全量ubsan選項(xiàng)
    ...

    debug = [boolean]             # 調(diào)測(cè)模式
    blocklist = [string]          # 屏蔽名單路徑
  }

  testonly = [boolean]
  license_as_sources = []
  license_file = []                  # 后綴名是.txt的文件
  remove_configs = []
  static_link = []
  install_images = []
  module_install_dir = ""            # 模塊安裝路徑,從system/,vendor/后開(kāi)始指定
  relative_install_dir = ""
  symlink_target_name = []
  output_dir = [directory]           # 存放輸出文件的目錄
  install_enable = [boolean]
  version_script = []
  use_exceptions = []
}

ohos_source_set示例

import("http://build/ohos.gni")
ohos_source_set("helloworld") {
  sources = ["file"]              # 后綴名是.c的相關(guān)文件
  include_dirs = []               # 包含目錄
  configs = []                    # 配置
  public = []                     # .h類型頭文件
  defines = []
  public_configs = []
  part_name = ""                  # 部件名稱
  subsystem_name = ""             # 子系統(tǒng)名稱
  deps = []  # 部件內(nèi)模塊依賴

  external_deps = [               # 跨部件模塊依賴定義,
  "part_name:module_name",        # 定義格式為 "部件名:模塊名稱"
  ]                               # 這里依賴的模塊必須是依賴的部件聲明在inner_kits中的模塊

  # Sanitizer配置,每項(xiàng)都是可選的,默認(rèn)為false/空
  sanitize = {
    # 各個(gè)Sanitizer開(kāi)關(guān)
    cfi = [boolean]               # 控制流完整性檢測(cè)
    cfi_cross_dso = [boolean]     # 開(kāi)啟跨so調(diào)用的控制流完整性檢測(cè)
    integer_overflow = [boolean]  # 整數(shù)溢出檢測(cè)
    boundary_sanitize = [boolean] # 邊界檢測(cè)
    ubsan = [boolean]             # 部分ubsan選項(xiàng)
    all_ubsan = [boolean]         # 全量ubsan選項(xiàng)
    ...

    debug = [boolean]             # 調(diào)測(cè)模式
    blocklist = [string]          # 屏蔽名單路徑
  }

  testonly = [boolean]
  license_as_sources = []
  license_file = []
  remove_configs = []
  no_default_deps = []
  license_file = []               # 后綴名是.txt的文件
  license_as_sources = []
  use_exceptions = []
}

icon-note.gif注意

  • 只有sources和part_name是必選,其他都是可選的;
  • Sanitizer配置詳見(jiàn):[Sanitizer使用說(shuō)明]

預(yù)編譯模板示例

預(yù)編譯模板的.gni相關(guān)文件路徑在:openharmony/build/templates/cxx/prebuilt.gni。

ohos_prebuilt_executable示例

import("http://build/ohos.gni")
ohos_prebuilt_executable("helloworld") {
  source = "file"                         # 源
  output = []
  install_enable = [boolean]         

  deps = []                               # 部件內(nèi)模塊依賴
  public_configs = []
  subsystem_name = ""                     # 子系統(tǒng)名
  part_name = ""                          # 部件名

  testonly = [boolean]
  visibility = []

  install_images = []
  module_install_dir = ""                 # 模塊安裝路徑,從system/,vendor/后開(kāi)始指定
  relative_install_dir = ""               # 模塊安裝相對(duì)路徑,相對(duì)于system/etc;如果有module_install_dir配置時(shí),該配置不生效。
  symlink_target_name = []


  license_file = []                       # 后綴名是.txt的文件
  license_as_sources = []
}

ohos_prebuilt_shared_library示例

import("http://build/ohos.gni")
ohos_prebuilt_shared_library("helloworld") {
  source = "file"                      # 一般是后綴為.so的文件
  output = []
  install_enable = [boolean]

  deps = []                            # 部件內(nèi)模塊依賴
  public_configs = []
  subsystem_name = ""                  # 子系統(tǒng)名
  part_name = ""                       # 部件名

  testonly = [boolean]
  visibility = []

  install_images = []
  module_install_dir = ""              # 模塊安裝路徑,從system/,vendor/后開(kāi)始指定
  relative_install_dir = ""            # 模塊安裝相對(duì)路徑,相對(duì)于system/etc;如果有module_install_dir配置時(shí),該配置不生效。
  symlink_target_name = [string]


  license_file = [string]              # 后綴名是.txt的文件
  license_as_sources = []
}

ohos_prebuilt_static_library示例

import("http://build/ohos.gni")
ohos_prebuilt_static_library("helloworld") {
  source = "file"                  # 一般是后綴為.so的文件
  output = []

  deps = []                        # 部件內(nèi)模塊依賴
  public_configs = []
  subsystem_name = ""              # 子系統(tǒng)名
  part_name = ""                   # 部件名

  testonly = [boolean]
  visibility = []

  license_file = [string]          # 后綴名是.txt的文件
  license_as_sources = []
}

icon-note.gif注意 :只有sources和part_name是必選,其他都是可選的。

Hap模板

hap模板詳見(jiàn):[ HAP編譯構(gòu)建指導(dǎo)]

Rust模板

rust模板詳見(jiàn):[ Rust模塊配置規(guī)則和指導(dǎo)]

其他常用模板

ohos_prebuilt_etc示例:

import("http://build/ohos.gni")
ohos_prebuilt_etc("helloworld") {
  # ohos_prebuilt_etc模板最常用屬性:
  source = "file"                          # 指定單個(gè)原文件
  module_install_dir = ""                  # 模塊安裝路徑,從system/,vendor/后開(kāi)始指定
  subsystem_name = ""                      # 子系統(tǒng)名
  part_name = ""                           # 必選,所屬部件名稱
  install_images = []
  relative_install_dir = ""                # 模塊安裝相對(duì)路徑,相對(duì)于system/etc;如果有module_install_dir配置時(shí),該配置不生效。
  
  # ohos_prebuilt_etc模板不常用屬性:
  deps = []                                # 部件內(nèi)模塊依賴
  testonly = [boolean]
  visibility = []
  public_configs = []
  symlink_target_name = [string]
  license_file = [string]
  license_as_sources = []
}

ohos_sa_profile示例:

import("http://build/ohos.gni")
ohos_sa_profile("helloworld") {
  sources = [".xml"]                   # xml文件
  part_name = ""                       # 部件名
  subsystem_name = ""                  # 子系統(tǒng)名
}

icon-note.gif注意 :只有sources和part_name是必選,其他都是可選的。

新增并編譯模塊

新建模塊可以分為以下三種情況。主要的添加邏輯如下面的流程圖所示,若沒(méi)有子系統(tǒng)則需新建子系統(tǒng)并在該子系統(tǒng)的部件下添加模塊,若沒(méi)有部件則需新建部件并在其中添加模塊,否則直接在原有部件中添加模塊即可,需要注意的是芯片解決方案作為特殊部件是沒(méi)有對(duì)應(yīng)子系統(tǒng)的。

  • 在原有部件中添加一個(gè)模塊
  • 新建部件并在其中添加模塊
  • 新建子系統(tǒng)并在該子系統(tǒng)的部件下添加模塊
    模塊添加流程

在原有部件中添加一個(gè)模塊

  1. 在模塊目錄下配置BUILD.gn,根據(jù)模板類型選擇對(duì)應(yīng)的gn模板。

  2. 修改bundle.json配置文件。

    {
       "name": "@ohos/< component_name >",                         # HPM部件英文名稱,格式"@組織/部件名稱"
       "description": "xxxxxxxxxxxxxxxxxxx",                     # 部件功能一句話描述
       "version": "3.1",                                         # 版本號(hào),版本號(hào)與OpenHarmony版本號(hào)一致
       "license": "MIT",                                         # 部件License
       "publishAs": "code-segment",                              # HPM包的發(fā)布方式,當(dāng)前默認(rèn)都為code-segment
       "segment": {
           "destPath": "third_party/nghttp2"
       },                                                        # 發(fā)布類型為code-segment時(shí)為必填項(xiàng),定義發(fā)布類型code-segment的代碼還原路徑(源碼路徑)。
       "dirs": {},                                               # HPM包的目錄結(jié)構(gòu),字段必填內(nèi)容可以留空
       "scripts": {},                                            # HPM包定義需要執(zhí)行的腳本,字段必填,值非必填
       "licensePath": "COPYING",
       "readmePath": {
           "en": "README.rst"
       },
       "component": {                                            # 部件屬性
           "name": "< component_name >",                           # 部件名稱
           "subsystem": ,                                        # 部件所屬子系統(tǒng)
           "syscap": [],                                         # 部件為應(yīng)用提供的系統(tǒng)能力
           "features": [],                                       # 部件對(duì)外的可配置特性列表,一般與build中的sub_component對(duì)應(yīng),可供產(chǎn)品配置。
           "adapted_system_type": [],                            # 輕量(mini)小型(small)和標(biāo)準(zhǔn)(standard),可以是多個(gè)
           "rom": "xxxKB"                                        # ROM基線,沒(méi)有基線寫(xiě)當(dāng)前值
           "ram": "xxxKB",                                       # RAM基線,沒(méi)有基線寫(xiě)當(dāng)前值
           "deps": {
               "components": [],                                 # 部件依賴的其他部件
               "third_party": []                                 # 部件依賴的三方開(kāi)源軟件
           },
    
           "build": {                                            # 編譯相關(guān)配置
               "sub_component": [
                   "http://foundation/arkui/napi:napi_packages",      # 原有模塊1
                   "http://foundation/arkui/napi:napi_packages_ndk"   # 原有模塊2
                   "http://foundation/arkui/napi:new"                 # 新增模塊new
               ],                                                # 部件編譯入口,模塊在此處配置
               "inner_kits": [],                                 # 部件間接口
               "test": []                                        # 部件測(cè)試用例編譯入口
           }
       }
    }
    

    icon-note.gif注意 :無(wú)論哪種方式該bundle.json文件均在對(duì)應(yīng)子系統(tǒng)所在文件夾下。

  3. 成功添加驗(yàn)證:編譯完成后打包到image中去,生成對(duì)應(yīng)的so文件或者二進(jìn)制文件。

新建部件并在其中添加一個(gè)模塊

  1. 在模塊目錄下配置BUILD.gn,根據(jù)模板類型選擇對(duì)應(yīng)的gn模板。這一步與在原有部件中添加一個(gè)模塊的方法基本一致,只需注意該模塊對(duì)應(yīng)BUILD.gn文件中的part_name為新建部件的名稱即可。
  2. 新建一個(gè)bundle.json文件,bundle.json文件均在對(duì)應(yīng)子系統(tǒng)所在文件夾下。
  3. 在vendor/{product_company}/{product-name}/config.json中添加對(duì)應(yīng)的部件,直接添加到原有部件后即可。
    "subsystems": [
          {
            "subsystem": "部件所屬子系統(tǒng)名",
            "components": [
              { "component": "部件名1", "features":[] },         # 子系統(tǒng)下的原有部件1
              { "component": "部件名2", "features":[] },         # 子系統(tǒng)下的原有部件2
              { "component": "部件名new", "features":[] }        # 子系統(tǒng)下的新增部件new
            ]
          },
          .
     ]
    
  4. 成功添加驗(yàn)證:編譯完成后打包到image中去,生成對(duì)應(yīng)的so文件或者二進(jìn)制文件。

新建子系統(tǒng)并在該子系統(tǒng)的部件下添加模塊

  1. 在模塊目錄下配置BUILD.gn,根據(jù)模板類型選擇對(duì)應(yīng)的gn模板。這一步與新建部件并在其中添加模塊中對(duì)應(yīng)的步驟并無(wú)區(qū)別。

  2. 在新建的子系統(tǒng)目錄下每個(gè)部件對(duì)應(yīng)的文件夾下創(chuàng)建bundle.json文件,定義部件信息。這一步與新建部件并在其中添加模塊中對(duì)應(yīng)的步驟并無(wú)區(qū)別。

  3. 修改build目錄下的subsystem_config.json文件。

    {
     "子系統(tǒng)名1": {                     # 原有子系統(tǒng)1
       "path": "子系統(tǒng)目錄1",
       "name": "子系統(tǒng)名1"
     },
      "子系統(tǒng)名2": {                    # 原有子系統(tǒng)2
       "path": "子系統(tǒng)目錄2",
       "name": "子系統(tǒng)名2"
     },
     "子系統(tǒng)名new": {                   # 新增子系統(tǒng)new
       "path": "子系統(tǒng)目錄new",
       "name": "子系統(tǒng)名new"
     },
    
    }
    

    該文件定義了有哪些子系統(tǒng)以及這些子系統(tǒng)所在文件夾路徑,添加子系統(tǒng)時(shí)需要說(shuō)明子系統(tǒng)path與name,分別表示子系統(tǒng)路徑和子系統(tǒng)名。

  4. 在vendor/{product_company}/{product-name}目錄下的產(chǎn)品配置如product-name是hispark_taurus_standard時(shí),在config.json中添加對(duì)應(yīng)的部件,直接添加到原有部件后即可。

"subsystems": [
      {
        "subsystem": "arkui",                      # 原有的子系統(tǒng)名
        "components": [                            # 單個(gè)子系統(tǒng)下的所有部件集合
          {
            "component": "ace_engine_standard",    # 原有的部件名
            "features": []
          },
          {
            "component": "napi",                   # 原有的部件名
            "features": []
          }
           {
            "component": "component_new1",         # 原有子系統(tǒng)新增的的部件名component_new1
            "features": []
          }
       ]
      },
      {
        "subsystem": "subsystem_new",              #  新增的子系統(tǒng)名
        "components": [
          {
            "component": "component_new2",         # 新增子系統(tǒng)新增的的部件名component_new2
            "features": []
          }
        ]
      },
     
     ]
     
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

搜狗高速瀏覽器截圖20240326151450.png

  1. 成功添加驗(yàn)證:編譯完成后打包到image中去,生成對(duì)應(yīng)的so文件或者二進(jìn)制文件。

編譯模塊

主要有兩種編譯方式,[命令行方式和hb方式],這里以命令行方式為例。

模塊可以使用“--build-target 模塊名"單獨(dú)編譯,編譯命令如下:

./build.sh --build-target 模塊名

也可以編譯相應(yīng)產(chǎn)品,以編譯hispark_taurus_standard為例,編譯命令如下:

./build.sh --product-name hispark_taurus_standard --build-target 模塊名 --ccache

還可以編譯模塊所在的部件:

./build.sh --product-name hispark_taurus_standard --build-target musl --build-target 模塊名 --ccache

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 子系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    110

    瀏覽量

    12454
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5121

    瀏覽量

    98195
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2392

    瀏覽量

    43051
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3745

    瀏覽量

    16581
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OpenHarmony鴻蒙南向開(kāi)發(fā)案例:【智能貓眼(基于Hi3518開(kāi)發(fā)板)】

    基于Hi3518開(kāi)發(fā)板,使用開(kāi)源OpenHarmony開(kāi)發(fā)的RTSP協(xié)議流媒體應(yīng)用。達(dá)到將Hi3518開(kāi)發(fā)板中攝像頭獲取的數(shù)據(jù)通過(guò)RTSP協(xié)議傳輸?shù)绞謾C(jī)并顯示 。
    的頭像 發(fā)表于 04-22 15:46 ?2135次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>鴻蒙</b>南向<b class='flag-5'>開(kāi)發(fā)</b>案例:【智能貓眼(基于Hi3518<b class='flag-5'>開(kāi)發(fā)板</b>)】

    鴻蒙OpenHarmony開(kāi)發(fā)板:【產(chǎn)品配置規(guī)則

    產(chǎn)品解決方案為基于開(kāi)發(fā)板的完整產(chǎn)品,主要包含產(chǎn)品對(duì)OS的適配、部件拼裝配置、啟動(dòng)配置和文件系統(tǒng)配置等。產(chǎn)品解決方案的源碼路徑規(guī)則為:**ve
    的頭像 發(fā)表于 05-09 10:32 ?1222次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>開(kāi)發(fā)板</b>:【產(chǎn)品<b class='flag-5'>配置</b><b class='flag-5'>規(guī)則</b>】

    鴻蒙OpenHarmony開(kāi)發(fā)板解析:【Rust模塊配置規(guī)則和指導(dǎo)】

    Rust是一門靜態(tài)強(qiáng)類型語(yǔ)言,具有更安全的內(nèi)存管理、更好的運(yùn)行性能、原生支持多線程開(kāi)發(fā)等優(yōu)勢(shì)。Rust官方也使用Cargo工具來(lái)專門為Rust代碼創(chuàng)建工程和構(gòu)建編譯。 OpenHarmony為了集成
    的頭像 發(fā)表于 05-10 11:32 ?1384次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>解析</b>:【Rust<b class='flag-5'>模塊</b><b class='flag-5'>配置</b><b class='flag-5'>規(guī)則</b>和指導(dǎo)】

    鴻蒙OpenHarmony開(kāi)發(fā)板解析:【芯片解決方案】

    芯片解決方案是指基于某款開(kāi)發(fā)板的完整解決方案,包含驅(qū)動(dòng)、設(shè)備側(cè)接口適配、開(kāi)發(fā)板sdk等。
    的頭像 發(fā)表于 05-10 15:42 ?1302次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>解析</b>:【芯片解決方案】

    鴻蒙OpenHarmony南向/北向快速開(kāi)發(fā)教程-迅為RK3568開(kāi)發(fā)板

    大家期待已久的迅為RK3568開(kāi)發(fā)板終于迎來(lái)了鴻蒙4.1系統(tǒng)的強(qiáng)勢(shì)支持!想知道如何實(shí)現(xiàn)快速開(kāi)發(fā)學(xué)習(xí)嗎?跟著我們一起來(lái)探索吧! 迅為RK3568開(kāi)發(fā)板: 想象一下,你手中的RK3568
    發(fā)表于 07-23 10:44

    openharmony開(kāi)發(fā)openharmony開(kāi)發(fā)板

    現(xiàn)在市面上支持OpenHarmony開(kāi)發(fā)板已經(jīng)非常多了,OpenHarmony不僅僅只能在海思系列芯片上運(yùn)行,比較常見(jiàn)的有HiSpark、小熊派系列。這些開(kāi)發(fā)板都是基于海思的Hi38
    的頭像 發(fā)表于 06-24 09:03 ?3742次閱讀

    OpenHarmony鴻蒙南向開(kāi)發(fā)案例:【智能貓眼(基于3516開(kāi)發(fā)板)】

    基于Hi3516開(kāi)發(fā)板,使用開(kāi)源OpenHarmony開(kāi)發(fā)的RTSP協(xié)議流媒體應(yīng)用。達(dá)到將Hi3516開(kāi)發(fā)板中攝像頭獲取的數(shù)據(jù)通過(guò)RTSP協(xié)議傳輸?shù)绞謾C(jī)并顯示 。
    的頭像 發(fā)表于 04-19 22:01 ?693次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>鴻蒙</b>南向<b class='flag-5'>開(kāi)發(fā)</b>案例:【智能貓眼(基于3516<b class='flag-5'>開(kāi)發(fā)板</b>)】

    鴻蒙OpenHarmony開(kāi)發(fā)板解析:【系統(tǒng)能力配置規(guī)則

    SysCap(SystemCapability,系統(tǒng)能力)是部件向開(kāi)發(fā)者提供的接口的集合。
    的頭像 發(fā)表于 05-11 10:10 ?689次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>解析</b>:【系統(tǒng)能力<b class='flag-5'>配置</b><b class='flag-5'>規(guī)則</b>】

    瑞芯微RK3568鴻蒙開(kāi)發(fā)板OpenHarmony系統(tǒng)修改cfg文件權(quán)限方法

    本文適用于OpenHarmony開(kāi)源鴻蒙系統(tǒng)修改cfg文件權(quán)限方法,深圳觸覺(jué)智能研發(fā)的RK3566、RK3568、RK3588等開(kāi)發(fā)板、主板等產(chǎn)品均適用此教程
    的頭像 發(fā)表于 09-11 13:26 ?1091次閱讀
    瑞芯微RK3568<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>OpenHarmony</b>系統(tǒng)修改cfg文件權(quán)限方法

    觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板成功適配OpenHarmony5.0 Release,開(kāi)啟新征程

    觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板,成功適配OpenHarmony5.0 Release版本!為大家?guī)?lái)OpenHarmony5.0特性講解!關(guān)注觸覺(jué)智能,為大家?guī)?lái)更多
    的頭像 發(fā)表于 10-25 10:51 ?484次閱讀
    觸覺(jué)智能Purple Pi OH<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>成功適配<b class='flag-5'>OpenHarmony</b>5.0 Release,開(kāi)啟新征程

    如何在開(kāi)源鴻蒙OpenHarmony開(kāi)啟SELinux模式?RK3566鴻蒙開(kāi)發(fā)板演示

    本文介紹開(kāi)源鴻蒙OpenHarmony系統(tǒng)下,開(kāi)啟/關(guān)閉SELinux權(quán)限的方法,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,已適配全新Open
    的頭像 發(fā)表于 11-18 19:03 ?421次閱讀
    如何在開(kāi)源<b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>開(kāi)啟SELinux模式?RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>演示

    OpenHarmony屬性信息怎么修改?觸覺(jué)智能RK3566鴻蒙開(kāi)發(fā)板來(lái)演示

    本文介紹開(kāi)源鴻蒙OpenHarmony系統(tǒng)下,修改產(chǎn)品屬性信息的方法,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,已適配全新OpenHarmon
    的頭像 發(fā)表于 11-27 09:31 ?232次閱讀
    <b class='flag-5'>OpenHarmony</b>屬性信息怎么修改?觸覺(jué)智能RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>來(lái)演示

    OpenHarmony默認(rèn)30秒熄屏太麻煩?觸覺(jué)智能鴻蒙開(kāi)發(fā)板教你輕松取消

    OpenHarmony系統(tǒng)開(kāi)機(jī)后 30 秒會(huì)自動(dòng)息屏,教大家兩招輕松取消自動(dòng)息屏,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,已適配全新OpenHarmony5.0 Release
    的頭像 發(fā)表于 12-09 11:45 ?268次閱讀
    <b class='flag-5'>OpenHarmony</b>默認(rèn)30秒熄屏太麻煩?觸覺(jué)智能<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>教你輕松取消

    OpenHarmony怎么修改DPI密度值?觸覺(jué)智能RK3566鴻蒙開(kāi)發(fā)板演示

    開(kāi)源鴻蒙OpenHarmony系統(tǒng)下,修改DPI密度值的方法,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,搭載了瑞芯微RK3566四核處理器,Laval
    的頭像 發(fā)表于 12-24 11:46 ?259次閱讀
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?觸覺(jué)智能RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>演示

    OpenHarmony源碼編譯后燒錄鏡像教程,RK3566鴻蒙開(kāi)發(fā)板演示

    本文介紹瑞芯微主板/開(kāi)發(fā)板編譯OpenHarmony源碼后燒錄鏡像的教程,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示。搭載了瑞芯微RK3566四核處理器,樹(shù)莓派卡片電腦設(shè)計(jì),支持開(kāi)
    的頭像 發(fā)表于 12-30 10:08 ?180次閱讀
    <b class='flag-5'>OpenHarmony</b>源碼編譯后燒錄鏡像教程,RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>演示
    主站蜘蛛池模板: 日韩高清性爽一级毛片免费 | 午夜影视在线观看 | 夜夜穞狠狠穞 | 97影院理论片手机在线观看 | 又黄又粗暴的120秒免费gif视频 | 午夜福免费福利在线观看 | 久精品视频村上里沙 | h版欧美一区二区三区四区 h网站亚洲 | 天天激情站| 狠狠色噜噜狠狠狠狠2021天天 | 美女拍拍拍黄色 | 香蕉视频在线观看国产 | 国产午夜精品理论片免费观看 | 磁力bt种子搜索在线 | 欧美成人区 | 免费h视频网站 | ww欧洲ww欧洲视频 | 狠狠狠色丁香婷婷综合激情 | 77成人| 男女那啥的视频免费 | 亚洲国产成人最新精品资源 | 91三级在线 | 美女网站色在线观看 | 欧美伊人 | 欧美一级视频免费看 | 国模精品视频 | 日韩一级免费视频 | 拍拍拍交性免费视频 | 六月丁香色婷婷 | 操美女在线看 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片免费看 | 免费视频久久看 | 13日本xxxxxxxxx18| 老色批影院 | 国产精品久久久久久福利 | 你懂的手机在线视频 | 成人欧美一区二区三区白人 | 男操女免费视频 | 一级特色黄色片 | 6月婷婷| 久久99热久久精品23 |