目錄
1 -> 創建HarmonyOS應用工程
1.1 -> 新建工程
1.1.1 -> 前提條件
1.1.2 -> 選擇模板
1.1.3 -> 配置工程信息
1.1.4 -> 關聯云開發資源
1.2 -> 工程初始化配置
1.2.1 -> 自動開通云開發服務
1.3 -> 端云一體化開發工程目錄結構
1.3.1 -> 端開發工程(Application)
1.3.2 -> 云開發工程(CloudProgram)
2 -> 創建元服務工程
2.1 -> 新建工程
2.1.1 -> 前提條件
2.1.2 -> 選擇模板
2.1.3 -> 關聯云開發資源
2.1.4 -> 配置工程信息
2.2 -> 工程初始化配置
2.2.1 -> 自動開通云開發服務
2.3 -> 端云一體化開發工程目錄結構
2.3.1 -> 端開發工程(Application)
2.3.2 -> 云開發工程(CloudProgram)
3 -> 歷史工程轉換為端云一體化開發工程
1 -> 創建HarmonyOS應用工程
1.1 -> 新建工程
1.1.1 -> 前提條件
- 已實名認證、且注冊地為中國境內(不包含中國香港、中國澳門、中國臺灣)的華為開發者賬號登錄DevEco Studio。
- 請確保華為開發者賬號無欠款,賬戶欠費將導致云存儲服務開通失敗。
1.1.2 -> 選擇模板
1. 選擇以下任一種方式,打開工程創建向導界面。
- 如果當前未打開任何工程,可以在DevEco Studio的歡迎頁點擊“Create Project”開始創建一個新工程。
- 如果已經打開了工程,可以在菜單欄選擇“File > New > Create Project”來創建一個新工程。
2. 在“Application”頁簽,選擇合適的云開發模板,然后點擊“Next”。
說明
當前僅支持通用云開發模板([CloudDev]Empty Ability)。
1.1.3 -> 配置工程信息
1. 在工程配置界面,配置工程的基本信息。
參數 | 說明 |
Project name | 工程的名稱,由大小寫字母、數字和下劃線組成。 |
Bundle name | 軟件包名稱,需保證唯一,且需與您在AGC創建的HarmonyOS應用的“應用包名”一致。 |
Save location | 工程文件本地存儲路徑,由大小寫字母、數字和下劃線等組成,不能包含中文字符。 |
Compatible SDK | 兼容的最低API Version。 使用基于Cloud Foundation Kit(云開發服務)的端云一體化開發功能,請選擇5.0.0(12)或以上版本。 |
Module name | 模塊名稱。 |
Device type | 該工程模板支持的設備類型,目前僅支持手機設備。 |
Enable CloudDev | 是否啟用云開發。云開發模板默認啟用且無法更改。 |
2. 點擊“Next”,開始關聯云開發資源。
1.1.4 -> 關聯云開發資源
為工程關聯云開發所需的資源,即將您賬號團隊在AGC創建的同包名應用關聯到當前工程。具體操作如下:
1. (可選)如您尚未登錄DevEco Studio,點擊“Sign In”,在彈出的賬號登錄頁面,使用已實名認證的華為開發者賬號完成登錄。
登錄成功后,界面將展示賬號昵稱。
2. 點擊“Team”下拉框,選擇開發團隊。?
3. 關聯應用
選中團隊后,系統根據工程Bundle name在該團隊中自動查詢AGC上的同包名應用。
- 如查詢到應用,選中該應用,點擊“Finish”即可。
如查詢到的應用尚未關聯任何項目(即為游離應用),則無法選中。
如果查詢到的應用所屬項目尚未啟用數據處理位置,請點擊界面提示內的“AppGallery Connect”設置數據處理位置。
注意
- 由于云開發目前僅支持中國站點,請確保項目啟用的數據處理位置包含中國站點。
- 無論項目啟用的默認數據處理位置為哪個站點,后續開發的云服務資源都將部署在中國站點。
如查詢到應用但出現如下提示,表明查詢到的應用類型為元服務,與當前工程類型不一致。請修改以確保當前工程與AGC上同包名應用均為HarmonyOS應用類型。
如在當前團隊中未查詢到同包名應用,請先確認填寫的包名是否有誤。
- 如包名有誤,點擊界面提示中的“go back”返回工程信息配置界面進行修改。
- 如包名無誤,則表明當前團隊尚未在AGC控制臺創建與當前工程包名相同的應用。您可點擊界面提示中的“AppGallery Connect”,前往AGC控制臺進行補充創建。
完成以上操作后,DevEco Studio即可獲取到同包名應用信息。選中應用后,點擊“Finish”。
4. 如所屬的團隊尚未簽署云開發相關協議,點擊協議鏈接仔細閱讀協議內容后,勾選同意協議,點擊“Finish”。
說明
只有賬號持有者和法務角色才有權限簽署協議。
5. 進入主開發界面,DevEco Studio執行工程同步操作,端側工程會自動執行“ohpm install”,云側工程會自動執行“npm install”,以分別下載端側和云側依賴。
說明
若云側執行“npm install”失敗,請排查是否尚未配置npm運行環境。
6. 在主開發界面,可查看剛剛新建的工程。
1.2 -> 工程初始化配置
當您成功創建工程并關聯云開發資源后,DevEco Studio會為您的工程自動執行一些初始化配置。
1.2.1 -> 自動開通云開發服務
DevEco Studio為工程關聯的項目自動開通云函數、云數據庫、云存儲等云開發服務,您可在“Notifications”窗口查看服務開通狀態。
說明
- 如服務開通失敗,可通過CloudDev云開發管理面板快捷進入AGC控制臺進行手動開通。
- 如云存儲服務自動開通與手動開通均失敗,可能是賬戶欠費導致。請您???????檢查賬戶是否余額不足,補齊全款后再前往AGC控制臺進行手動開通。
1.3 -> 端云一體化開發工程目錄結構
端云一體化開發工程主要包含端開發工程(Application)與云開發工程(CloudProgram)。
1.3.1 -> 端開發工程(Application)
端開發工程主要用于開發應用端側的業務代碼,通用云開發模板的端開發工程目錄結構如下圖所示。“Application/cloud_objects”模塊用于存放云對象的端側調用接口類,“src/main/ets/pages”目錄下包含了云存儲、云數據庫和云函數頁面。
1.3.2 -> 云開發工程(CloudProgram)
在云開發工程中,您可為您的應用開發云端代碼,包括云函數和云數據庫服務代碼。通用云開發模板的云開發工程目錄結構如下圖所示。
clouddb:云數據庫目錄,包含數據條目目錄(dataentry)和對象類型目錄(objecttype)。
- dataentry:用于存放數據條目文件。
該目錄下一般會根據您選擇的云開發模板預置數據條目示例文件。在通用云開發模板工程中,該目錄下會預置名為“d_Post.json”的數據條目示例文件,內含兩條示例數據。您可按需使用、修改或刪除。
objecttype:用于存放對象類型文件。
該目錄下一般會根據您選擇的云開發模板預置對象類型示例文件。在通用云開發模板工程中,該目錄下會預置名為“Post.json”的對象類型示例文件,內含對象類型“Post”的權限、索引、字段名稱和字段值等。您可按需使用、修改或刪除。
- db-config.json:模塊配置文件,主要包含云數據庫工程的配置信息,如默認存儲區名稱、默認數據處理位置。
- cloudfunctions:云函數目錄,包含各個云函數/云對象子目錄。每個子目錄下包含了云函數/云對象的配置文件、入口文件、依賴文件等。
該目錄下一般會根據您選擇的云開發模板預置示例函數。通用云開發模板工程下預置了一個用于生成UUID的示例云對象“id-generator”,您可按需使用、修改或刪除。
- node_modules:工程同步時執行“npm install”生成,包含“typescript”和“@types/node”公共依賴。
- cloud-config.json:云開發工程配置文件,包含應用名稱與ID、項目名稱與ID、啟用的數據處理位置、支持的設備類型等。
- package.json:定義了“typescript”和“@types/node”公共依賴。
- package-lock.json:工程同步時執行“npm install”生成,記錄當前狀態下實際安裝的各個npm package的具體來源和版本號。
2 -> 創建元服務工程
2.1 -> 新建工程
2.1.1 -> 前提條件
- 您已使用???????已實名認證、且注冊地為中國境內(不包含中國香港、中國澳門、中國臺灣)的華為開發者賬號登錄DevEco Studio。
- 請確保您的華為開發者賬號無欠款,賬戶欠費將導致云存儲服務開通失敗。
2.1.2 -> 選擇模板
1. 選擇以下任一種方式,打開工程創建向導界面。
- 如果當前未打開任何工程,可以在DevEco Studio的歡迎頁點擊“Create Project”開始創建一個新工程。
- 如果已經打開了工程,可以在菜單欄選擇“File > New > Create Project”來創建一個新工程。
2. 點擊“Atomic Service”頁簽,選擇合適的云開發模板,然后點擊“Next”。
說明
當前僅支持通用云開發模板([CloudDev]Empty Ability)。
2.1.3 -> 關聯云開發資源
為工程關聯云開發所需的資源,即將您賬號團隊在AGC創建的元服務關聯到待創建工程。具體操作如下:
1. (可選)如您尚未登錄DevEco Studio,點擊“Sign In”,在彈出的賬號登錄頁面,使用???????已實名認證的華為開發者賬號完成登錄。
登錄成功后,界面將展示賬號昵稱。
2. 選擇已登錄賬號下的APP ID,以關聯AGC上的元服務。
- 從APP ID下拉列表中選中所需的APP ID后,界面會展示該元服務在AGC控制臺的名稱、所屬項目、包名與數據處理位置。確認無誤后,點擊“Next”。
說明
元服務包名為自動生成,格式為固定前綴與appid的組合(com.atomicservice.[appid])。不符合命名規范的包名無法在APP ID下拉列表中展示。
- 如APP ID為空,表明當前賬號下尚未在AGC控制臺創建元服務。您可點擊“Register App ID”,???????前往AGC控制臺進行補充創建。
創建成功后返回DevEco Studio界面,點擊“Refresh”刷新當前APP ID列表,選擇新生成的APP ID,點擊“Next”即可。
- 如查詢到的元服務尚未關聯任何項目,則無法選中。請先???????將游離元服務添加到AGC項目下。
如果查詢到的元服務所屬項目尚未啟用數據處理位置,請點擊界面提示內的“AppGallery Connect”???????設置數據處理位置。
注意
- 由于云開發目前僅支持中國站點,請確保項目啟用的數據處理位置包含中國站點。
- 無論項目啟用的默認數據處理位置為哪個站點,后續開發的云服務資源都將部署在中國站點。
2.1.4 -> 配置工程信息
1. 進入工程配置界面,配置工程的基本信息。
參數 | 說明 |
Project name | 工程的名稱,由大小寫字母、數字和下劃線組成。 |
Bundle name | 創建元服務時自動生成,不支持手動修改。 |
Save location | 工程文件本地存儲路徑,由大小寫字母、數字和下劃線等組成,不能包含中文字符。 |
Compatible SDK | 兼容的最低API Version。 元服務使用基于Cloud Foundation Kit(云開發服務)的端云一體化開發功能,請選擇5.0.0(12)或以上版本。 |
Module name | 模塊名稱。 |
Device type | 該工程模板支持的設備類型,目前僅支持手機設備。 |
Enable CloudDev | 是否啟用云開發。云開發模板默認啟用且無法更改。 |
2. 點擊“Finish”,進入主開發界面,DevEco Studio執行工程同步操作,端側工程會自動執行“ohpm install”,云側工程會自動執行“npm install”,以分別下載端側和云側依賴。
說明
若云側執行“npm install”失敗,請排查是否尚未???????配置npm運行環境。
3. 在主開發界面,可查看剛剛新建的工程。
2.2 -> 工程初始化配置
當您成功創建工程并關聯云開發資源后,DevEco Studio會為您的工程自動執行一些初始化配置。
2.2.1 -> 自動開通云開發服務
DevEco Studio為工程關聯的項目自動開通云函數、云數據庫、云存儲等云開發服務,您可在“Notifications”窗口查看服務開通狀態。
說明
- 如服務開通失敗,您可通過???????CloudDev云開發管理面板快捷進入AGC控制臺進行手動開通。
- 如云存儲服務自動開通與手動開通均失敗,可能是賬戶欠費導致。請您???????檢查賬戶是否余額不足,???????補齊欠款后再前往AGC控制臺進行手動開通。
2.3 -> 端云一體化開發工程目錄結構
端云一體化開發工程主要包含端開發工程(Application)與云開發工程(CloudProgram)。
2.3.1 -> 端開發工程(Application)
端開發工程主要用于開發應用端側的業務代碼,通用云開發模板的端開發工程目錄結構如下圖所示。“Application/cloud_objects”模塊用于存放云對象的調用接口類,“src/main/ets/pages”目錄下包含了云存儲、云數據庫和云函數頁面。
2.3.2 -> 云開發工程(CloudProgram)
在云開發工程中,可為元服務開發云端代碼,包括云函數和云數據庫服務代碼。通用云開發模板的云開發工程目錄結構如下圖所示。
clouddb:云數據庫目錄,包含數據條目目錄(dataentry)和對象類型目錄(objecttype)。
- dataentry:用于存放數據條目文件。
該目錄下一般會根據您選擇的云開發模板預置數據條目示例文件。在通用云開發模板工程中,該目錄下會預置名為“d_Post.json”的數據條目示例文件,內含兩條示例數據。您可按需使用、修改或刪除。
- objecttype:用于存放對象類型文件。該目錄下一般會根據您選擇的云開發模板預置對象類型示例文件。在通用云開發模板工程中,該目錄下會預置名為“Post.json”的對象類型示例文件,內含對象類型“Post”的權限、索引、字段名稱和字段值等。您可按需使用、修改或刪除。???????
- db-config.json:模塊配置文件,主要包含云數據庫工程的配置信息,如默認存儲區名稱、默認數據處理位置。
- cloudfunctions:云函數目錄,包含各個云函數/云對象子目錄。每個子目錄下包含了云函數/云對象的配置文件、入口文件、依賴文件等。
該目錄下一般會根據您選擇的云開發模板預置示例函數。通用云開發模板工程下預置了一個用于生成UUID的示例云對象“id-generator”,您可按需使用、修改或刪除。
- node_modules:工程同步時執行“npm install”生成,包含“typescript”和“@types/node”公共依賴。
- cloud-config.json:云開發工程配置文件,包含應用名稱與ID、項目名稱與ID、啟用的數據處理位置、支持的設備類型等。
- package.json:定義了“typescript”和“@types/node”公共依賴。
- package-lock.json:工程同步時執行“npm install”生成,記錄當前狀態下實際安裝的各個npm package的具體來源和版本號。
3 -> 歷史工程轉換為端云一體化開發工程
如此前已經創建了非端云一體化開發工程,希望直接轉換為端云一體化開發工程,可執行如下操作:
說明
DevEco Studio NEXT Beta1版本之前的非端云一體化歷史工程,在轉換前需先進行???????一體化工程遷移。
1. 創建一個端云一體化開發工程,其中工程的類型(HarmonyOS應用或元服務)必須與您歷史工程類型一致,同時Bundle name必須指定為您歷史工程的Bundle name。在創建端云一體化開發工程過程中,該Bundle name會關聯到AGC應用、項目等云端資源。
2. 打開創建的端云一體化開發工程,右擊端開發工程“Application”,選擇“Open In > Explorer”,打開工程文件所在的目錄。
3. 刪除端云一體化開發工程的端側工程目錄“Application”。
4. 將歷史工程目錄(如“MyApplication30”)拷貝至步驟3的端云一體化開發工程目錄下,并改名為“Application”。
5. 重新打開端云一體化開發工程,可發現歷史工程的端側代碼已遷移至端云一體化開發工程。
感謝各位大佬支持!!!
互三啦!!!