1.copy sign
根据自己的sdk版本,修改hap_sign-tool.jar
2.查看系统签名脚本
@REM D:\dev\nodejs\node.exe D:\open-workspace\oh-apps\applications_systemui\node_modules\@ohos\hvigor\bin\hvigor.js --mode module clean assembleHap -p debuggable=true
@REM -p module=phone_dropdownpanel
DEL /F *.hap
SET base_dir=D:\Harmony\code\task_wlh\applications_app_samples\code\Solutions\Tools\ArkTSClock
CALL :sign_hap %base_dir%/entry/build/default/outputs/default/entry-default-unsigned.hap, clock.hap
(重写文件权限)
hdc.exe shell mount -o rw,remount /
(删除真机中相应路径下的hap包)
hdc.exe shell rm -rf /system/app/com.ohos.ota/OTA.hap
(将生成的hap包发送到真机相应路径下)
hdc.exe file send OTA.hap /system/app/com.ohos.ota/OTA.hap
hdc.exe shell "rm -rf /data/*;sync;reboot"
EXIT /B %ERRORLEVEL%
:sign_hap
(对应的替换自己的工具文件)
java -jar %base_dir%\signature\hap-sign-tool.jar sign-app -keyAlias "openharmony application release" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "OpenHarmonyApplication.pem" -profileFile "com_ohos_ota.p7b" -inFile %~1 -keystoreFile "OpenHarmony.p12" -outFile %~2 -keyPwd "123456" -keystorePwd "123456"
EXIT /B 0
3.替换脚本路径:base_dir
copy path
根据自己的项目替换相应的路径以及文件
4.连接开发设备:
执行以下命令
# hdc shell # cd system/app # ls
4.1 按需修改
hdc.exe shell mount -o rw,remount /
hdc.exe shell rm -rf /system/app/com.ohos.ota/OTA.hap
hdc.exe file send OTA.hap /system/app/com.ohos.ota/OTA.hap
hdc.exe shell "rm -rf /data/*;sync;reboot"
4.2 执行系统签名脚本,生成相关hap包
system_sign.bat open in terminal
执行以下命令:
.\system_sign.bat (sys 按Tab自动补全)
4.3 将生成的hap包 open in terminal安装到开发设备中:
hdc install ***.hap
如果failed,可能是文件冲突,将原路径下的hap包删除(其实就是上述脚本中的hdc shell那四行),可能会遇到文件权限问题(重写权限),执行以下命令:
hdc shell cd system/app ls cd 到相关路径 rm -rf Clock_Demo.hap(示例:可能会failed) #重写权限 mount -o rw,remount/ #再次执行以下命令 rm -rf Clock_Demo.hap
解决完以上问题后,可再次尝试将自己生成的hap包安装到开发设备中(重复执行4.3步骤)