HarmonyOS—添加/刪除Module

Module是應用/服務的基本功能單元,包含了源代碼、資源文件、第三方庫及應用/服務配置文件,每一個Module都可以獨立進行編譯和運行。一個HarmonyOS應用/服務通常會包含一個或多個Module,因此,可以在工程中創建多個Module,每個Module分為Ability和Library兩種類型。

在工程中添加Module

創建新的Module

1.通過如下兩種方法,在工程中添加新的Module。

  • 方法1:鼠標移到工程目錄頂部,單擊鼠標右鍵,選擇New > Module…,開始創建新的Module。
  • 方法2:選中工程目錄中任意文件,然后在菜單欄選擇File > New > Module…,開始創建新的Module。

2.在New Project Module界面中,選擇需要創建的模板,單擊Next

在這里插入圖片描述
3.在Module配置頁面,設置新增Module的基本信息,然后單擊Next

  • Module name:新增模塊的名稱。
  • Module type:僅在Ability模板存在該字段,可以選擇Feature和Entry類型。如果同一類型的設備已經存在Entry模塊,添加新Module選擇Entry類型時,還需要配置distroFilter分發規則。
  • Enable Super Visual:是否使用低代碼開發方式。
  • Language:選擇該Module的開發語言。
  • Device type:選擇模塊的設備類型,如果新建模塊的Module type為feature,則只能選擇該工程原有的設備類型;如果Module type為entry,可以選擇該Module支持的其他設備類型。
  • Enable native:僅Library模板存在,將創建一個可以調用C/C++的共享包。

在這里插入圖片描述
4.若該Module的模板類型為Ability,還需要設置新增Ability的Ability nameExported參數,Exported參數表示該Ability是否可以被其它應用/服務所調用(FA模型下為Visible參數)。

  • 勾選(true):可以被其它應用/服務調用。
  • 不勾選(false):不能被其它應用/服務調用。

5.單擊Finish,等待創建完成后,可以在工程目錄中查看和編輯新增的Module。

導入Module

HarmonyOS工程支持從其它工程中導入HarmonyOS模塊的功能,導入的模塊只能是HarmonyOS工程中的模塊。當前僅支持FA模型的模塊導入到FA模型,Stage模型的模塊導入到Stage模型,不支持FA模型的模塊導入到Stage模型或Stage模型的模塊導入到FA模型。

1.在菜單欄單擊File > New >Import… >Import Module
在這里插入圖片描述
2.選擇導入的模塊時。其中SDK 4-7的工程既可以選擇模塊也可以選擇工程,而SDK 8-9的工程只可以選擇模塊。下面以SDK 8-9的工程為例介紹導入模塊的具體操作。

在指定路徑下,選擇導入的模塊,單擊OK。導入的模塊可以為文件夾,也可以為zip格式。
在這里插入圖片描述

配置distroFilter分發規則

同一類型的設備(Phone、Wearable、Lite Wearable等)可能在系統API版本(apiVersion)、屏幕形狀(screenShape)、分辨率(screenWindow)上存在差異。針對這些差異,開發者需要針對同一類型設備的不同型號進行適配開發,然后在應用市場實現精準的分發,以便不同設備的用戶能獲得更好的使用體驗。為了實現應用市場的精準分發,需要在一個工程中,針對同一類型設備添加多個Entry模塊來適配不同型號的設備,然后再配置不同的分發規則。具體規則如下:

  • 通過DeviceType與screenShape等屬性的組合唯一確定一個Entry。
  • distroFilter中至少包含屬性中的一個標簽。
  • 如果一個Entry模塊中配置了screenShape等任意一個或多個標簽,則其他的Entry模塊也必須包含相同的標簽。
  • 一般情況下,screenShape和screenWindow標簽用于Lite Wearable設備中。
  • 不同屬性標簽的配置格式如下。其中,policy取值為include時,表示設備滿足value取值時,應用市場向該設備進行分發;policy取值為exclude時,表示除了value的取值外,其它合法的取值,應用市場都會向設備進行分發。

說明
screenWindow標簽的policy取值只能為include。

Stage模型配置分發規則

1.在entry > src > main > resources > profile文件中新建一個.json文件,并根據開發實際需要,配置如下代碼信息。Stage模型下分發規則請參見distroFilter標簽。

{"distroFilter": {"apiVersion": {     //API 版本"policy": "include","value": [4, 5]},"screenShape": {    //屏幕形狀枚舉"policy": "include","value": ["circle", "rect"]},"screenWindow": {   //屏幕尺寸"policy": "include","value": ["454*454", "466*466"]},"screenDensity": {  //屏幕的像素密度"policy": "exclude","value": ["ldpi", "xldpi"]},"countryCode": {   //國家地區"policy": "include","value": ["CN", "HK"] }}
}

2.在module.json文件中指定分發文件。

{"module": {"name": "MyAbilityStage","metadata": [{"name": "ohos.module.distro","resource": "$profile:distro_filter_config"    //distro_filter_config為被指定的分發文件}]}
}

FA模型下配置分發規則

在同一個工程中,如果同一個設備存在多個Entry模塊,需要在每一個Entry模塊的config.json文件中,配置distroFilter分發規則。FA模型distroFilter字段請參見distroFilter對象的內部結構。

"module": {..."distroFilter": {"標簽名字": {"policy": "include|exclude""value": [ a, b, c] }}
}

刪除Module

在工程目錄中選中要刪除的模塊,單擊鼠標右鍵,選中Delete,并在彈出的對話框中單擊Delete

為了能夠讓大家跟上互聯網時代的技術迭代,在這里跟大家分享一下我自己近期學習心得以及參考網上資料整理出的一份最新版的鴻蒙學習提升資料,有需要的小伙伴自行領取,限時開源,先到先得~~~~

領取以下高清學習路線原圖請點擊→《鴻蒙基礎入門學習指南》純血鴻蒙HarmonyOS基礎技能學習路線圖

在這里插入圖片描述
領取以上完整高清學習路線圖,請點擊→《鴻蒙 (Harmony OS)開發學習手冊》小編自己整理的部分學習資料(包含有高清視頻、開發文檔、電子書籍等)

在這里插入圖片描述

以上分享的學習路線都適合哪些人跟著學習?
-應屆生/計算機專業通過學習鴻蒙新興技術,入行互聯網,未來高起點就業。
-0基礎轉行提前布局新方向,抓住風口,自我提升,獲得更多就業機會。
-技術提升/進階跳槽發展瓶頸期,提升職場競爭力,快速掌握鴻蒙技術,享受藍海紅利。

在這里插入圖片描述

最后

鴻蒙開發學習是一個系統化的過程,從基礎知識的學習到實戰技能的錘煉,再到對前沿技術的探索,每一環節都至關重要。希望這份教程資料能幫助您快速入門并在鴻蒙開發之路上步步攀升,成就一番事業。讓我們一起乘風破浪,擁抱鴻蒙生態的廣闊未來!

如果你覺得這篇內容對你有幫助,我想麻煩大家動動小手給我:點贊,轉發,有你們的 『點贊和評論』,才是我創造的動力。

關注我,同時可以期待后續文章ing,不定期分享原創知識。

想要獲取更多完整鴻蒙最新VIP學習資料,請點擊→《鴻蒙全套學習指南》

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/696137.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696137.shtml
英文地址,請注明出處:http://en.pswp.cn/news/696137.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何利用內網穿透工具在企業微信開發者中心實現本地接口服務回調

文章目錄 1. Windows安裝Cpolar2. 創建Cpolar域名3. 創建企業微信應用4. 定義回調本地接口5. 回調和可信域名接口校驗6. 設置固定Cpolar域名7. 使用固定域名校驗 企業微信開發者在應用的開發測試階段,應用服務通常是部署在開發環境,在有數據回調的開發場…

SQL查詢每個類別價格前3的數據

SELECTproduct_id,category,price FROM (SELECTproduct_id,category,price,ROW_NUMBER() OVER (PARTITION BY category ORDER BY price) AS rankFROMyour_products_table ) AS ranked_products WHERErank < 3;DENSE_RANK() 和 ROW_NUMBER() 是窗口函數&#xff08;Window Fu…

前端知識復習

1.symbol類型 Symbol 是 ECMAScript 6 中引入的一種新的基本數據類型&#xff0c;它表示獨一無二的值。Symbol 值是通過 Symbol() 函數創建的。 Symbol 值具有以下特點&#xff1a; 獨一無二性&#xff08;唯一性&#xff09;&#xff1a;每個通過 Symbol() 函數創建的 Symb…

十三:集合

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 01、Java 集合框架概述1.1、集合框架與數組的對比及概述1.2、集合框架涉及到的API 02、Collection接口方法2.1、Collection接口中的常用方法12.2、Collection接口中…

在idea中配置Tomcat

1.在idea中點擊右上角 2.點擊Edit Configurations,點擊加號 3.向下拉找到Tomcat Server下的Local,點一下 點擊Configure 找到tomcat文件路徑,選擇apache-tomcat-8.5.63(8.5.63是我的版本號) 選擇好路徑后點ok就配置好了 總步驟:

Vue 圖片輪播第三方庫 Vue-awesome-swiper介紹及簡單例子

vue-awesome-swiper 是一個基于 Swiper 的 Vue 輪播圖組件&#xff0c;Swiper 是一個流行的移動端觸摸滑動插件。它為 Vue.js 應用提供了一套豐富的輪播組件&#xff0c;支持多種布局和功能&#xff0c;如自動播放、無限循環、觸摸滑動等。 安裝 首先&#xff…

代碼隨想錄算法訓練營第一天

● 今日學習的文章鏈接和視頻鏈接 ● 自己看到題目的第一想法 1. 704二分法&#xff1a; 方法一&#xff1a; 整個數組是 左閉右閉區間 [ ] left指針指向數組開始下標&#xff0c; right 指針指向數組最后下表nums.size()-1, mid為 (leftright) /2循環條件 left<rightnu…

打開stable diffusion webui時,提示缺少clip或clip安裝不上的解決方案(windows下的操作)

1.問題描述 打開stable diffusion webui時&#xff0c;提示缺少clip或clip安裝不上 2.解決方案 原因&#xff1a;stable diffusion webui環境中的clip其實是open_clip&#xff0c;不能用pip install clip安裝解決方法是直接到github下載 open_clip 代碼到本地&#xff0c;并…

linux環境ssh-rsa進行簽名\權限\登錄\原理(免密登錄)

linux環境ssh-rsa進行簽名權限登錄(免密登錄) SSH原理與運用什么是SSH?SSH的使用場景ssh-rsa獲取xshell環境登錄獲取ssh-rsa使用ssh-rsa登錄SHA系列SHA-1、SHA-256和RSA的區別RSA原理數論基礎RSA機制RSA數學密鑰生成公式RSA數學加密理論RSA數學簽名公式

小折疊也能成為主力機,全新小折疊旗艦華為Pocket 2正式發布

2024年2月22日&#xff0c;華為在三亞舉辦華為Pocket 2時尚盛典&#xff0c;正式發布其全新小折疊旗艦華為Pocket 2。一直以來&#xff0c;華為致力于萃取各界藝術靈感&#xff0c;不斷探尋科技美學的可能性&#xff0c;華為Pocket系列更是秉承將奢雅美學與尖端科技融為一體的理…

探索Redis是否為單線程的奧秘(文末送書)

&#x1f308;個人主頁&#xff1a;聆風吟 &#x1f525;系列專欄&#xff1a;數據結構、網絡奇遇記 &#x1f516;少年有夢不應止于心動&#xff0c;更要付諸行動。 文章目錄 &#x1f4cb;前言一. Redis中的多線程二. I/O多線程三. Redis中的多進程四. 結論五. 書籍推薦5.1 書…

高效時間管理法則

你是否天天在忙&#xff0c;是否忙的不得要領&#xff0c;認真領會時間管理的四象限工作法&#xff0c;它會讓你的工作變得高效。 目錄 一、時間管理的誤區 二、時間是如何被浪費的&#xff1f; 內部因素 外部因素 三、時間管理的5個階段 1.公雞型時間管理&#xff1a; …

第一個Qt程序中的秘密

創建第一個程序 首先我們打開Qt Creator 打開文件->New Projects... 菜單&#xff0c;創建我們的第一個Qt項目 選擇 Qt Widgets Application&#xff0c;點擊選擇...按鈕 之后&#xff0c;輸入項目名稱QtLearning&#xff0c;并選擇創建路徑&#xff0c; 在build system中選…

ConnectWise ScreenConnect 身份驗證繞過漏洞復現可RCE(CVE-2024-1709)

0x01 產品簡介 ConnectWise ScreenConnect ,是一款自托管的遠程桌面軟件應用,該款軟件允許用戶自行托管,可以在自己的服務器、個人電腦、虛擬機或虛擬專用服務器上運行。 0x02 漏洞概述 ConnectWise ScreenConnect低于23.9.8 版本的產品中,SetupWizard.aspx接口處存在身…

Android14 InputManager-焦點窗口的更新

設置焦點時需要 先設置焦點APP mFo-cusedApp是一個AppWindowToken&#xff0c;在WMS中用來表示當前處于Resume狀態的Activity。它是由AMS在開始啟動一個Activity時調用WMS的setFocusedApp&#xff08;&#xff09;函數設置的。 考慮以下應用場景&#xff0c;當用戶從Launche…

內存管理——線性內存,進程空間

低2G為進程空間 開始地址結束地址大小屬性00xFFFFF1M保留0x1000000x102FFF棧不固定位置、大小0x1030000x143FFF堆不固定位置、大小0x400000主程序文件不固定位置、大小加載dll不固定位置、大小0x7ffdd000TIB位置&#xff0c;大小編譯時固定0x7FFFE000系統與用戶共享數據塊位置…

[newstarctf2023] --RE wp

AndroGenshin: rc4加密表&#xff0c;base64換表&#xff1a; 腳本梭就行 python username b"genshinimpact" base64_table [125, 239, 101, 151, 77, 163, 163, 110, 58, 230, 186, 206, 84, 84, 189, 193, 30, 63, 104, 178, 130, 211,164, 94, 75, 16, 32, 33…

發布 rust 源碼包 (crates.io)

rust 編程語言的包 (或者 庫, library) 叫做 crate, 也就是軟件中的一個組件. 一個完整的軟件通常由多個 crate 組成, rust 編譯器 (rustc) 一次編譯一整個 crate, 不同的 crate 可以同時并行編譯. rust 官方有一個集中發布開源包的網站 crates.io. 發布在這上面的 crate 可以…

uniapp微信公眾號H5分享

如果項目文件node_modules中沒有weixin-js-sdk文件&#xff0c;則直接使用本文章提供的&#xff1b; 如果不生效&#xff0c;則在template.h5.html中引入 <script src"https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> 首先引入weixin-js-…

vue3框架組件自動導入unplugin-vue-components

1.安裝 npm i unplugin-vue-components -save-dev 2.配置 我這里用的是Vue CLI&#xff0c;所以要在vue.config.js文件中添加配置&#xff0c;官網中有寫不同打包工具的配置寫法 框架我使用的是Element Plus&#xff0c;使用前去官網查看自己的框架是否支持&#xff0c;主流…