HBuilderX选择 运行 - 运行到手机或模拟器 - 运行到鸿蒙
![9***@qq.com](https://img-cdn-tc.dcloud.net.cn/account/identicon/7f4fc9a12787099881722267c0fd511b.png)
- 发布:2025-02-13 22:01
- 更新:2025-02-13 22:04
- 阅读:10
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 14.6.1
HBuilderX类型: 正式
HBuilderX版本号: 4.45
手机系统: HarmonyOS NEXT
手机系统版本号: HarmonyOS NEXT Developer Beta2
手机厂商: 华为
手机机型: Mate 60 Pro
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
操作步骤:
预期结果:
生成 entry/src/main/resources/resfile/apps/uni-app应用标识命名的文件夹
EntryAbility
里面的应该是 super("uni-app应用标识命名的文件夹"
生成 entry/src/main/resources/resfile/apps/uni-app应用标识命名的文件夹
EntryAbility
里面的应该是 super("uni-app应用标识命名的文件夹"
实际结果:
生成 entry/src/main/resources/resfile/apps/HBuilder
EntryAbility
里面的super("HBuilder"
生成 entry/src/main/resources/resfile/apps/HBuilder
EntryAbility
里面的super("HBuilder"
bug描述:
手机OS系统版本:是 HarmonyOS NEXT 5.0.0.123 SP19
编译运行 鸿蒙APP后发现 APP热更新存在问题。
编译出来的鸿蒙工程下 存在的问题
entry/src/main/resources/resfile/apps/HBuilder
应该是entry/src/main/resources/resfile/apps/uni-app应用标识命名的文件夹
EntryAbility
里面的super("HBuilder"
应该是super("uni-app应用标识命名的文件夹"
![9***@qq.com](https://img-cdn-tc.dcloud.net.cn/account/identicon/7f4fc9a12787099881722267c0fd511b.png)
9***@qq.com (作者)
通过修改和查看编译生成的鸿蒙工程uniapp工程/unpackage/debug/app-harmony-xxxxx/oh_modules/.ohpm/@dcloudio+uni-app-runtime@idazlhvgikh3aw++r+ncdsd8lhisx+iuufxvzpgrtyy=/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js
文件发现其实内部是实现了热更新相关的接口。
关键接口 import { isExistsUniMP, getUniMPRunPath, releaseWgtToRunPath, getAppVersionInfo } from '@dcloudio/uni-app-runtime'
参考 https://ask.dcloud.net.cn/question/201598
示例:
export const wgtInstall: Install = function(mpId: string, path: string, callback ?: CallbackForBoolean) {
releaseWgtToRunPath(mpId, path, (code: 1 | -1, error?: Error)=>{
Logger.info(TAG, 'code '+ code)
Logger.info(TAG, 'getAppVersionInfo '+ JSON.stringify(getAppVersionInfo(mpId)))
callback?.(code == 1)
})
}
9***@qq.com (作者)
需要自己再手动修改HBuilderX编译出来的鸿蒙工程才能实现热更新,希望后续的HBuilderX能修复这个问题
2025-02-13 22:10