合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
对于大型应用来说,每次修改代码后需要重新构建、推包、安装,整个流程耗时较长。针对该场景,在DevEco Studio和命令行场景中分别提供增量运行调试功能,支持开发者在真机上调试应用时,修改代码后,会识别出代码差异,构建增量包,增量运行调试时只推送增量包,减少大型应用调试推包时间。
C++代码增量调试支持API Version 11及以上版本Stage模型的工程;ArkTS代码增量调试仅支持API Version 12及以上版本Stage模型工程的资源文件修改。
点击Apply Changes按钮后,DevEco Studio启动构建的增量构建任务,构建出增量包hqf。增量包构建完成后,将推送安装至设备。

当前增量运行Apply Changes功能,暂不支持新建和删除代码文件,暂不支持在代码中修改装饰器相关,暂不支持在代码文件中使用import新增引用文件。

点击Apply Changes按钮后,DevEco Studio启动构建的增量构建任务,构建出增量包hqf。增量包构建完成后,将推送安装至设备。
- hvigorw --mode module -p module=entry@default,library@default -p product=default assembleHap assembleHsp --info --no-daemon
关于命令行的使用指导请参考hvigorw。
- $ hdc shell mkdir data/local/tmp/99c24fdc44694c05be12491d0a48e139
- $ hdc file send library-default-signed.hsp "data/local/tmp/99c24fdc44694c05be12491d0a48e139"
- $ hdc file send entry-default-signed.hap "data/local/tmp/99c24fdc44694c05be12491d0a48e139"
- $ hdc shell bm install -p "data/local/tmp/99c24fdc44694c05be12491d0a48e139"
- hvigorw --mode module -p module=entry@default,library@default -p product=default assembleDevHqf --info --no-daemon
- $ hdc shell mkdir data/local/tmp/3b7d97cdf4de41c4aecc465ff5069708
- $ hdc file send library-default-signed.hqf "data/local/tmp/3b7d97cdf4de41c4aecc465ff5069708"
- $ hdc file send entry-default-signed.hqf "data/local/tmp/3b7d97cdf4de41c4aecc465ff5069708"
- $ bm quickfix -a -f "data/local/tmp/3b7d97cdf4de41c4aecc465ff5069708"

- hdc bm install ***.hap (pc侧HAP/HSP路径)
- hdc shell bm install -p hap_path (设备侧安装包目录)
可以从工程的build-profile.json5文件中获取到对应的签名文件。
- {
- "app" : {
- "bundleName" : "com.ohos.quickfix",
- "versionCode" : 1000000, // 应用版本号
- "versionName" : "1.0.0.1",
- "patchVersionCode" : 1000000, // 补丁版本号
- "patchVersionName" : "1.0.0.1"
- },
- "module" : {
- "name" : "entry",
- "type" : "patch",
- "deviceTypes" : [
- "default",
- "tablet"
- ],
- "originalModuleHash" : "" // 待修复HAP包的sha256值,置空即可
- }
- }
- java -jar app_packing_tool.jar --mode hqf --json-path patch.json --lib-path libs --out-path entry-default-unsigned.hqf --force true
--mode:打包模式hqf,必填。
--json-path:指定增量包信息patch.json,必选,参考步骤4。
--lib-path:指定希望构建打包的so目录,参考步骤2。
--out-path:指定输出hqf包路径。
- java -jar hap-sign-tool.jar sign-app -keyAlias "OpenHarmony Application Release" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "OpenHarmonyApplication.pem" -profileFile "ohos_provision_release.p7b" -inFile "entry-default-unsigned.hqf" -keystoreFile "OpenHarmony.p12" -outFile "entry-signed-release.hqf" -keyPwd "123456" -keystorePwd "123456" -signCode 1
关于该命令中需要修改的参数说明如下,其余参数不需要修改:
- bm quickfix -a -f /data/entry-signed-release.hqf
- bm quickfix -f, --file-path <bundle-direction>
问题现象
如果开发者在其他的开发工具中修改打包so库文件,在使用DevEco Studio 4.1 Canary2版本的增量调试功能时,出现无法使用增量调试功能的现象。
解决措施
导致这个问题的原因是在DevEco Studio 4.1 Canary2版本上,对于超过16KB的Native文件,在命中其中的断点后,LLDB调试器会默认持有文件句柄,导致调试过程中无法修改保存该文件。
开发者可通过以下两种方式处理:
- settings set use-source-cache false
合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
解决方案
精准高效的一站式服务支持,助力开发者商业成功