久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

        手機站
        千鋒教育

        千鋒學(xué)習站 | 隨時隨地免費學(xué)

        千鋒教育

        掃一掃進入千鋒手機站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習站小程序
        隨時隨地免費學(xué)習課程

        當前位置:首頁  >  技術(shù)干貨  > 千鋒教育鴻蒙(HarmonyOS)開發(fā)教程:快速修復(fù)命令行調(diào)試開發(fā)指導(dǎo)

        千鋒教育鴻蒙(HarmonyOS)開發(fā)教程:快速修復(fù)命令行調(diào)試開發(fā)指導(dǎo)

        來源:千鋒教育
        發(fā)布人:千鋒
        時間: 2023-11-18 15:29:38 1700292578

        當前階段,HarmonyOS為開發(fā)者提供了命令行的調(diào)試開發(fā)工具可供使用。比如,包名為com.ohos.quickfix的示例應(yīng)用,版本號為1000000。該應(yīng)用的當前版本運行中有某問題需要修復(fù),此時,開發(fā)者可參考如下指導(dǎo)使用快速修復(fù)能力解決應(yīng)用問題。

        編寫配置文件patch.json

        目前DevEco Studio中還不支持patch.json的配置,因此開發(fā)者可根據(jù)項目需要編寫好該文件后,放到的項目任意目錄,方便后續(xù)打包工具能夠找到該文件即可。在本地新建一個patch.json文件,配置編寫示例如下:

        {
        "app" : {
        "bundleName" : "com.ohos.quickfix",
        "versionCode" : 1000000, // 應(yīng)用版本號
        "versionName" : "1.0.0.1",
        "patchVersionCode" : 1000000, // 補丁版本號
        "patchVersionName" : "1.0.0.1"
        },
        "module" : {
        "name" : "entry",
        "type" : "patch",
        "deviceTypes" : [
        "default",
        "tablet"
        ],
        "originalModuleHash" : "11223344556677889900" // 待修復(fù)hap包的sha256值
        }
        }

         生成快速修復(fù)文件

        快速修復(fù)TS文件的代碼

        在DevEco Studio中修改TS文件后,編譯HAP,可以在工程目錄下找到對應(yīng)的abc文件,如build\default\cache\default\LegacyCompileETS\jsbundle\temporary\pages\index.abc。

        快速修復(fù)C++中的代碼

        在DevEco Studio中編譯原C++的代碼生成.so文件;修復(fù)原C++的代碼,編譯生成新的.so文件??梢栽诠こ棠夸浿姓业皆搒o,如build\default\intermediates\libs\default\arm64-v8a\libentry.so。

        在本地HarmonyOS SDK路徑的toolchains文件夾下查看diff.exe。通過該工具,基于新.so文件和舊的.so文件,生成.so的快速修復(fù)文件,命令如下:

        $ diff.exe -s Example.z.so -d Example.z.so -p Example.z.so.diff

         命令行參數(shù)含義:

        -s:舊so的路徑

        -d:新so的路徑

        -p:生成的差分文件的路徑

        生成.hqf的快速修復(fù)包

        基于上述的patch.json、.abc快速修復(fù)文件和.so快速修復(fù)文件,可以通過本地HarmonyOS SDK路徑的toolchains文件夾下的app_packing_tool.jar生成.hqf包,執(zhí)行打包命令如下:

        $ java -jar app_packing_tool.jar --mode hqf --json-path patch.json --lib-path libs --ets-patch patchs --out-path entry-default-unsigned.hqf --force true

         微信截圖_20231118152801

        快速修復(fù)包的簽名

        簽名與hap簽名相同,將上述生成的entry-default-unsigned.hqf包,通過簽名工具進行簽名??梢允褂帽镜豀armonyOS SDK路徑的toolchains文件夾下的hap-sign-tool.jar,命令如下:

        $ java -jar hap-sign-tool.jar sign-app -keyAlias "HarmonyOS Application Release" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "HarmonyOSApplication.pem" -profileFile "ohos_provision_release.p7b" -inFile "entry-default-unsigned.hqf" -keystoreFile "HarmonyOS.p12" -outFile "entry-signed-release.hqf" -keyPwd "123456" -keystorePwd "123456"

         安裝快速修復(fù)包

        將上述entry-signed-release.hqf包推送到設(shè)備上

        hdc.exe file send .\entry-signed-release.hqf /data/

         在設(shè)備上通過下述命令行安裝補丁包

        $ bm quickfix -a -f /data/entry-signed-release.hqf

         快速修復(fù)相關(guān)完整命令行參考如下:

        $ bm quickfix -h
        usage: bm quickfix <options>
        options list:
        -h, --help list available commands
        -q, --query indicates query quickfix, used with -b or --bundle-name
        -b, --bundle-name <bundle-name> query quickfix status and information by a specified bundle name
        -a, --apply indicates apply quickfix, used with -f or --file-path
        -f, --file-path <file-path> apply a quickfix file by a specified path
        -f, --file-path <file-path> <file-path> ... apply some quickfix files of one bundle
        -f, --file-path <bundle-direction> apply quickfix files by direction, under which are quickfix files

         

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習老師24小時內(nèi)將與您1V1溝通
        免費領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        什么是云管理平臺

        什么是云管理平臺?云管理平臺(Cloud Management Platform,CMP)是由Gartner提出的企業(yè)云戰(zhàn)略中的一種產(chǎn)品形態(tài),是提供對公有云、私有云和混合...詳情>>

        2023-12-04 11:10:46
        Docker的核心底層技術(shù)有哪些

        Docker的核心底層技術(shù)有哪些?Docker可以運行在64位Linux發(fā)行版以及蘋果和微軟系統(tǒng)上,但后兩者只能使用虛擬機作為宿主機。所有的可運行的容器...詳情>>

        2023-12-04 06:27:25
        什么是包過濾技術(shù)

        什么是包過濾技術(shù)?包過濾(Packet Filtering)技術(shù)是根據(jù)流經(jīng)防火墻的數(shù)據(jù)包的特征,依據(jù)預(yù)先定義好的規(guī)則,決定是否允許數(shù)據(jù)包通過的技術(shù)。它對...詳情>>

        2023-12-04 03:40:45
        什么是網(wǎng)絡(luò)安全掃描技術(shù)

        什么是網(wǎng)絡(luò)安全掃描技術(shù)?物聯(lián)網(wǎng)的網(wǎng)絡(luò)安全掃描技術(shù)是網(wǎng)絡(luò)安全領(lǐng)域的重要技術(shù)之一,是一種遠程檢測目標網(wǎng)絡(luò)或本地主機安全性脆弱點的技術(shù),是為...詳情>>

        2023-12-04 03:07:25
        IaaS的優(yōu)勢

        IaaS的優(yōu)勢。與在本地計算中心部署資源相比,IaaS具有強大的敏捷性和高度的可擴展性。企業(yè)在內(nèi)部部署一個新的虛擬機往往需要幾天甚至一周以上的...詳情>>

        2023-12-04 02:17:25
        香河县| 阿荣旗| 汨罗市| 揭东县| 万宁市| 二连浩特市| 祁东县| 博野县| 浮梁县| 察哈| 信丰县| 昔阳县| 赞皇县| 肇东市| 农安县| 昌吉市| 安溪县| 会理县| 合江县| 惠安县| 绥芬河市| 景宁| 丹凤县| 宁海县| 十堰市| 水城县| 清原| 沙田区| 利津县| 乐安县| 鄂伦春自治旗| 孟州市| 宜宾县| 永春县| 互助| 望都县| 抚州市| 西充县| 会昌县| 堆龙德庆县| 玉环县|