目錄
1 -> 一體化工程遷移
1.1 -> 自動遷移
1.2 -> 手動遷移
1.2.1 -> API 10及以上歷史工程遷移
1.2.2 -> API 9歷史工程遷移
1 -> 一體化工程遷移
DevEco Studio從 NEXT Developer Beta1版本開始,提供開箱即用的開發體驗,將SDK、Node.js、Hvigor、OHPM等工具鏈進行合一打包,簡化DevEco Studio安裝配置流程;并提供一體化的歷史工程遷移能力,幫助開發者快速完成工程轉換。
注意
為了避免數據丟失,遷移前請對工程進行備份。
一體化變更點如下:
變更點 | 詳細說明 |
刪除compileSdkVersion字段 | 刪除工程級build-profile.json5中的compileSdkVersion配置。 說明
|
刪除部分hvigor文件 & 刪除冗余hvigor配置 |
|
刪除HarmonyOS SDK配置 | 刪除local.properties中的HarmonyOS SDK配置。若工程為Openharmony工程,則忽略此步驟。 |
增加開發態配置 |
|
1.1 -> 自動遷移
1. 打開歷史工程,Notifications通知欄將出現“Sync failed.”同步失敗提示,點擊Migrate Assistant,進入遷移助手頁面。
說明
可以通過菜單欄Tools > Migrate Assistant,進入遷移助手頁面。
2. 在頁面下方的Migrate Assistant頁簽中選擇遷移到5.0.0/5.0.1/5.0.2,并點擊Migrate按鈕,此時將出現彈窗提示開發者進行數據備份。若確認已完成備份,請點擊彈窗中Migrate,啟動遷移任務。
3. 待工程重新完成同步,并無其他報錯提示,即為遷移成功。
說明
若工程是NPM管理的API 8/9工程,先按照適配OHPM包管理完成升級,再通過菜單欄Tools > Migrate Assistant,進入遷移助手頁面,完成一體化工程自動遷移。
1.2 -> 手動遷移
1.2.1 -> API 10及以上歷史工程遷移
如自動化遷移不成功或希望進行手動遷移,遷移前同樣需對工程進行備份。手動遷移流程如下:
1. 進入工程級build-profile.json5文件,刪除compileSdkVersion配置。若工程為Openharmony工程,則無需刪除compileSdkVersion字段。
2. 刪除并修改Hvigor相關文件:
- 在左側工程目錄中刪除hvigorw、hvigorw.bat文件,并刪除hvigor目錄下的hvigor-wrapper.js文件。
- 進入hvigor > hvigor-config.json5文件中,新增modelVersion字段,以API 12為例,其值為"5.0.0"。并刪除hvigorVersion字段、dependencies中的@ohos/hvigor-ohos-plugin和rollup字段。
3. 在工程級oh-package.json5文件中同樣也需新增modelVersion字段,以API 12為例,其值為"5.0.0"。
4. 在local.properties文件中,刪除HarmonyOS SDK配置。若工程為Openharmony工程,則無需執行此步驟。
5. 點擊編輯界面上方Sync now或進入菜單欄點擊File > Sync and Refresh Project,重新進行工程同步。若無其他報錯,至此歷史工程手動遷移完成。
1.2.2 -> API 9歷史工程遷移
1. 將工程級build-profile.json5文件中compileSdkVersion字段刪除,并將compatibleSdkVersion字段從app字段下遷移到當前選中的product中。當前生效的product可以通過點擊編輯區域右上方
2. 請將compatibleSdkVersion和targetSdkVersion(若已配置)從9改為4.0.0(10),并配置runtimeOS。版本號需滿足M.S.F(X)規則的字符串類型,使用英文.和()。
"app": {"signingConfigs": [],"products": [{"name": "default","signingConfig": "default","compatibleSdkVersion": "4.0.0(10)", //指定HarmonyOS應用/元服務兼容的最低版本。"targetSdkVersion": "4.0.0(10)", //指定HarmonyOS應用/元服務目標版本。若沒有設置,默認為compatibleSdkVersion"runtimeOS": "HarmonyOS", //指定為HarmonyOS}],...
}
3. 將其他各模塊級別的build-profile.json5文件中target字段下配置的runtimeOS刪除。
4. 剩下的步驟與API 10及以上的步驟相同,參考1.2.1的步驟二完成余下手動遷移步驟。
說明
- 一鍵升級只針對當前選擇的product生效。
- 如有多個product,需要分別切換不同product后,按照手動升級的方式對工程進行升級。每一個product下都需要配置相應的compatibleSdkVersion和runtimeOS。
- 針對API 8/9 NPM工程,請先按照適配OHPM包管理完成升級,再按照API 9歷史工程遷移完成手動遷移配置。
- 從DevEco Studio 4.0 Release版本開始,代碼編輯器及編譯構建過程增強了對ArkTS語法規范的檢查,如果歷史工程中存在不符合ArkTS語法規范的代碼,在遷移完成后可能會報錯,需根據具體報錯信息修正不符合ArkTS語法規范的代碼。
- 如果歷史工程包含低代碼方式開發的界面,在遷移完成后,需要將這部分低代碼開發的界面轉換為ArkTS代碼,并修正相關報錯后才可以正常編譯。代碼轉換操作會刪除visual文件及其父目錄,且為不可逆過程,代碼轉換后不能通過ets文件反向生成visual文件。
感謝各位大佬支持!!!
互三啦!!!