鸿蒙应用开发—鸿蒙app一键安装脚本

背景

当鸿蒙App开发完后需要提测,如何将App文件发给QA安装测试,是一件麻烦事,因为鸿蒙App并不能像Android Apk那样可以直接安装到设备中,能想到的方式有:

  • 直接叫测试拿手机过来安装
  • 让测试安装DevEco Studio 拉代码编译安装

上面的方式显然是不可取的,鸿蒙App的安装过程相对复杂,需要手动执行一系列命令行操作,为了简化这个过程,可以通过一个脚本从而实现一键安装。如果再结合构建脚本,可以实现打包、发布、安装一条龙,减少中间手动环节。

当然官方也提供了邀请链接和DeepLink链接方式,但这两种方式是需要审核或者专业的>组织内部发布证书,对及时响应并不友好。

鸿蒙app一键安装脚本

可以像安卓一样在电脑上执行命令行来安装鸿蒙应用,支持在windows和mac上运行。

准备工作

使用前请确保你的电脑上已经安装并配置了环境变量:

  • Windows:Java JDK 17 或更高版本; Mac: Java JDK 11 或更高版本
  • Python 3

使用方法

安装脚本

命令:

复制代码
python ohos-app-install.py <包名> <app文件路径> [签名文件下载链接]

参数:

  • 第1个参数:应用包名
  • 第2个参数:app文件路径,可以是网络链接,也可以是本地文件路径
  • 第3个参数:签名文件的下载链接,可选的,首次使用或更新签名时需要,有固定的格式。

例子:

复制代码
python ohos-app-install.py com.hzw.dsbridge dsbrige-demo-default-unsigned.app https://gitee.com/common-apps/ohos_tools/raw/master/sign.zip

或者直接通过网络链接安装:

复制代码
python ohos-app-install.py com.hzw.dsbridge https://gitee.com/common-apps/ohos-py/raw/master/dsbrige-demo-default-unsigned.app

sign.zip 的文件格式如下:

复制代码
ohos-app-install.py
sign
├── sign-config.json # 配置文件
└── yyy/            # 证书目录
  └── xxx.cer       
  └── xxx.p7b  
  └── xxx.p12

sign-config.json 的文件格式如下:

json 复制代码
{
    "configs": [
        {
            "package_name": "com.hzw.dsbridge",
            "app_cert_file": "sign/yyy/xxx.cer",
            "profile_file": "sign/yyy/xxx.p7b",
            "keystore_file": "sign/yyy/xxx.p12",
            "key_alias": "hzw",
            "key_pwd": "h123456789",
            "keystore_pwd": "h123456789"
        }
    ]
}

注意:测试环境仅提供测试签名文件。在正式环境中,应用签名应该在服务器端完成以确保安全性。 签名文件除了命令行链接下载,还可以按照格式放在脚本同目录下 。

生成exe/unix执行文件 - 可选

如果想更方便的使用,可以将脚本转换为可执行文件,Windows和Mac都支持。

创建配置,在根目录创建confog.json,内容如下:

复制代码
{
    "app_url": "",
    "package_name": "",
    "sign_url": ""
}

生成执行文件命令:

复制代码
pyinstaller ohos-gen-app.spec

如果在执行pyinstaller命令时报错command not found: pyinstaller,则需要安装pyinstaller 执行pip3 install pyinstaller,在安装过程报错 error: externally-managed-environmen,可以在虚拟环境中安装,如下:

复制代码
# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate
# 安装 pyinstaller
pip install pyinstaller

源码

https://gitee.com/common-apps/ohos-py

相关推荐
Python×CATIA工业智造28 分钟前
Pycaita二次开发基础代码解析:几何体重命名与参数提取技术
python·pycharm·pycatia
你的电影很有趣1 小时前
lesson30:Python迭代三剑客:可迭代对象、迭代器与生成器深度解析
开发语言·python
成成成成成成果3 小时前
揭秘动态测试:软件质量的实战防线
python·功能测试·测试工具·测试用例·可用性测试
天天进步20154 小时前
Python游戏开发引擎设计与实现
开发语言·python·pygame
数据狐(DataFox)4 小时前
CTE公用表表达式的可读性与性能优化
经验分享·python·sql
蹦蹦跳跳真可爱5894 小时前
Python----MCP(MCP 简介、uv工具、创建MCP流程、MCP客户端接入Qwen、MCP客户端接入vLLM)
开发语言·人工智能·python·语言模型
No0d1es4 小时前
第13届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2022年1月22日真题
python·青少年编程·蓝桥杯·选拔赛
MediaTea5 小时前
Python 库手册:getopt Unix 风格参数解析模块
服务器·开发语言·python·unix
王尼莫啊5 小时前
【立体标定】圆形标定板标定python实现
开发语言·python·opencv
熬了夜的程序员5 小时前
【华为机试】34. 在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·华为od·华为·面试·golang