揚帆RK3399OpenHarmony開發板軟件開發環境搭建
概述
本文主要介紹基于OpenHarmony3.1Beta版本下軟通動力揚帆智能開發套件軟件開發環境的搭建,指導如何進行應用開發。
讀者對象
本文檔適用于從事OpenHarmony應用軟件開發人員。
對象要求
?開發人員需按照文檔章節順序進行揚帆軟件開發環境搭建。
版權聲明
本文檔著作權由軟通動力信息技術(集團)股份有限公司所有,保留一切權利。未經許可不得擅自摘抄、復制本文檔內容。
修訂記錄
本文檔內容會隨著技術的發展進行更新,修訂記錄如下:
- 版本:V1.0
- 更新說明:第1版發布
- 修改日期:2022.02.20
一、環境搭建要求
計算機要求
- Windows版本:Windows 10,64位
- 內存:8GB以上
- 硬盤:100GB以上
- 分辨率:1280*800像素及以上
工具介紹
本次軟件開發環境搭建所需工具如下:
工具準備好的前提下,軟件環境搭建預計需要1小時左右。
二、應用開發指導
前提條件
單板啟動正常
操作步驟
第1步:安裝DevEco Studio 3.0 Beta1及以上版本。
下載鏈接:https://developer.harmonyos.com/cn/develop/deveco-studio#download
第2步:配置OpenHarmony SDK。
- 運行已安裝的DevEco Studio,首次使用,請選擇Do not import settings,點擊OK。
- 進入配置向導頁面,設置npm registry, DevEco Studio 已預置對應的倉,直接點擊Start using DevEco Studio進入下一步。
- DevEco Studio向導指引開發者下載SDK,默認下載OpenHarmony SDK。SDK下載到user目錄下,也可以指定對應的存儲路徑,SDK存儲路徑不支持中文字符,然后點擊Next。
- 在彈出的SDK下載信息頁面,點擊Next,并在彈出的License Agreement窗口,點擊Accept開始下載SDK。
- 等待OpenHarmony SDK及工具下載完成,點擊Finish,界面會進入到DevEco Studio歡迎頁。
配置完成OpenHarmony SDK后,下一步創建OpenHarmony工程。
第3步:創建openharmony工程。
通過如下兩種方式,打開工程創建向導界面。
如果當前未打開任何工程,可以在DevEco Studio的歡迎頁,選擇Create Project開始創建一個新工程。
如果已經打開了工程,可以在菜單欄選擇File > New > New Project來創建一個新工程。
根據工程創建向導,選擇“[Standard]Empty Ability”模板,點擊Next。
點擊Next,進入到工程配置階段,需要根據向導配置工程的基本信息。
- Project name:工程的名稱,可以自定義。
- Project type:工程的類型,標識該工程是一個原子化服務(Service)或傳統方式的需要安裝的應用(Application)。
- Bundle name:軟件包名稱,默認情況下,應用ID也會使用該名稱,應用發布時,應用ID需要唯一。如果“Project Type”選擇了Atomic Service,則Bundle Name的后綴名必須是.hmservice。
- Save Location:工程文件本地存儲路徑。
- Development mode:選擇開發模式,部分模板支持低代碼開發,可選擇Super Visual。
- ?Language:支持的開發語言。
- Compatible API Version:兼容的SDK最低版本。
- Device Type:該工程模板支持的設備類型。
點擊Finish,工具會自動生成示例代碼和相關資源,等待工程創建完成。
第4步:配置應用簽名信息。
使用真機設備運行和調試OpenHarmony應用前,需要對應用進行簽名才能正常運行。
1、生成密鑰和證書請求文件
OpenHarmony應用通過數字證書(.cer文件)和Profile文件(.p7b)來保證應用的完整性,需要通過DevEco Studio來生成密鑰文件(.p12文件)和證書請求文件(.csr文件)
使用DevEco Studio生成。
在主菜單欄點擊Build > Generate Keyand CSR。
說明: 如果本地已有對應的密鑰,無需新生成密鑰,可以在Generate Key界面中點擊下方的Skip跳過密鑰生成過程,直接使用已有密鑰生成證書請求文件。
在Key Store File中,可以點擊Choose Existing選擇已有的密鑰庫文件(存儲有密鑰的.p12文件);如果沒有密鑰庫文件,點擊New進行創建。下面以新創建密鑰庫文件為例進行說明。
- oKey Store File:選擇密鑰庫文件存儲路徑。
- Password:設置密鑰庫密碼,必須由大寫字母、小寫字母、數字和特殊符號中的兩種以上字符的組合,長度至少為8位。請記住該密碼,后續簽名配置需要使用。
- Confirm Password:再次輸入密鑰庫密碼。
- Alias:密鑰的別名信息,用于標識密鑰名稱。請記住該別名,后續簽名配置需要使用。
- Password:密鑰對應的密碼,與密鑰庫密碼保持一致,無需手動輸入。
- Validity:證書有效期,建議設置為25年及以上,覆蓋應用/服務的完整生命周期。
- Certificate:輸入證書基本信息,如組織、城市或地區、國家碼等。
在Generate Key界面中,繼續填寫密鑰信息后,點擊Next。
在Generate CSR界面,選擇密鑰和設置CSR文件存儲路徑。
點擊OK按鈕,創建CSR文件成功,可以在存儲路徑下獲取生成的密鑰庫文件(.p12)和證書請求文件(.csr)。
2、生成應用證書文件
使用生成密鑰和證書請求文件中生成的證書請求文件,來生成應用簽名所需的數字證書文件。生成方法如下:
進入DevEco Studio安裝目錄的Sdk\toolchains\lib文件夾下(該SDK目錄只能是OpenHarmony SDK,配置方法可參考配置OpenHarmony SDK),打開命令行工具,執行如下命令(如果keytool命令不能執行,請在系統環境變量中添加JDK的環境變量)。其中,只需要修改輸入和輸出即可快速生成證書文件,即修改**-infile指定證書請求文件csr文件路徑,-outfile**指定輸出證書文件名及路徑。
keytool -gencert -alias “OpenHarmony Application CA” -infile myApplication_ohos.csr -outfile myApplication_ohos.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:“critical=digitalSignature” -validity 3650 -rfc
關于該命令的參數說明如下:
- alias:用于簽發證書的CA私鑰別名,OpenHarmony社區CA私鑰存于OpenHarmony.p12密鑰庫文件中,該參數不能修改。
- infile:證書請求(CSR)文件的路徑。
- outfile:輸出證書鏈文件名及路徑。
- keystore:簽發證書的CA密鑰庫路徑,OpenHarmony密鑰庫文件名為OpenHarmony.p12,文件在OpenHarmony SDK中Sdk\toolchains\lib路徑下,該參數不能修改。請注意,該OpenHarmony.p12文件并不是生成密鑰和證書請求文件中生成的.p12文件。
- sigalg:證書簽名算法,該參數不能修改。
- storepass:密鑰庫密碼,密碼為123456,該參數不能修改。
- ext:證書擴展項,該參數不能修改。
- validity:證書有效期,自定義天數。
- rfc:輸出文件格式指定,該參數不能修改。
3、生成應用profile文件
Profile文件包含OpenHarmony應用的包名、數字證書信息、描述應用允許申請的證書權限列表,以及允許應用調試的設備列表(如果應用類型為Release類型,則設備列表為空)等內容,每個應用包中均必須包含一個Profile文件。
進入Sdk\toolchains\lib目錄下,打開命令行工具,執行如下命令。
java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json
--out myApplication_ohos_Provision.p7b --keystore OpenHarmony.p12 --storepass
123456 --alias “OpenHarmony Application Profile Release” --sigAlg
SHA256withECDSA --cert OpenHarmonyProfileRelease.pem --validity 365
--developer-id ohosdeveloper --bundle-name 包名 --permission 受限權限名(可選)
--permission 受限權限名(可選) --distribution-certificate myApplication_ohos.cer
關于該命令的參數說明如下:
- oprovisionsigtool:Profile文件生成工具,文件在OpenHarmony SDK的Sdk\toolchains\lib路徑下。
- in:Profile模板文件所在路徑,文件在OpenHarmony SDK中Sdk\toolchains\lib路徑下,該參數不能修改。
- out:輸出的Profile文件名和路徑。
- keystore:簽發證書的密鑰庫路徑,OpenHarmony密鑰庫文件名為OpenHarmony.p12,文件在OpenHarmony SDK中Sdk\toolchains\lib路徑下,該參數不能修改。
- storepass:密鑰庫密碼,密碼為123456,該參數不能修改。
- alias:用于簽名Profile私鑰別名,OpenHarmony社區CA私鑰存于OpenHarmony.p12密鑰庫文件中,該參數不能修改。
- sigalg:證書簽名算法,該參數不能修改。
- cert:簽名Profile的證書文件路徑,文件在OpenHarmony SDK中Sdk\toolchains\lib路徑下,該參數不能修改。
- validity:證書有效期,自定義天數。
- developer-id:開發者標識符,自定義一個字符串。
- bundle-name:填寫應用包名。
- permission:可選字段,如果不需要,則可以不用填寫此字段;如果需要添加多個受限權限,則如示例所示重復輸入。受限權限列表如下:ohos.permission.READ_CONTACTS、ohos.permission.WRITE_CONTACTS。
- distribution-certificate:生成應用證書文件中生成的證書文件。
4、配置應用簽名信息
在真機設備上調試前,需要使用到制作的私鑰(.p12)文件、證書(.cer)文件和Profile(.p7b)文件對調試的模塊進行簽名。
打開File > Project Structure,點擊Project > Signing Configs > debug窗口中,去除勾選“Automatically generate signing”,然后配置指定模塊的調試簽名信息。
- Store File:選擇密鑰庫文件,文件后綴為.p12,該文件為生成密鑰和證書請求文件中生成的.p12文件。
- Store Password:輸入密鑰庫密碼,該密碼為生成密鑰和證書請求文件中填寫的密鑰庫密碼保持一致。
- Key Alias:輸入密鑰的別名信息,與生成密鑰和證書請求文件中填寫的別名保持一致。
- Key Password:輸入密鑰的密碼,與Store Password保持一致。
- Sign Alg:簽名算法,固定為SHA256withECDSA。
- Profile File:選擇生成應用Profile文件中生成的Profile文件,文件后綴為.p7b。
- Certpath File:選擇生成應用證書文件中生成的數字證書文件,文件后綴為.cer。
設置完簽名信息后,點擊OK進行保存,然后可以在工程下的build.gradle中查看簽名的配置信息。
默認情況下,DevEco Studio編譯hap包的類型為debug類型,如果需要編譯release類型的hap包,請打開工程左下角的OhosBuild Variants,設置模塊的編譯構建類型為release。關于編譯構建hap的詳細說明請參考HUAWEI DevEco Studio使用指南。
編譯完成后,OpenHarmony應用的Hap包可以從工程的bulid目錄下獲取。
第5步:安裝及運行應用。
使用hdc工具將編譯后的本地hap包安裝到單板上。
安裝命令 install [-r/-d/-g] package
命令示例:
hdc install E:\ entry-debug-rich-signed.hap
說明:藍色表示要安裝的hap包在本地的路徑。
?卸載命令 uninstall [-k] package
命令示例:
hdc uninstall com.example.relayapplication.hmservice
說明:藍色表示hap包的bundleName。
擊觸屏上的Hap圖標或者使用命令啟動Hap包。
aa start -d l -a mainAbility -b bundleName,其中mainAbility, bundleName換成自己開發的應用名字(可在應用工程的config.json文件中查到)。如下打印表示應用啟動成功: