之前用electron+vue给甲方只做了客户端,支持win32 和 win64。
现在甲方要求客户端支持国产操作系统,统信UOS 20.
还得是arm版
第一步 兼容linux
UOS来源于debian 10
兼容UOS的问题即为兼容debian,兼容linux
打出deb包就完事。
- vm workstation 安装uos专业版。
package.json
{ "name": "name", "version": "1.0.35", "author": "author", "description": "description", "homepage": "homepage url", // linux上打包,这选项必填 "license": "GPL-3.0", // linux上打包,这选项必填 "main": "./dist/electron/main.js", "build": { "productName": "productName", "appId": "appId", "directories": { "output": "build" }, "publish": [ { "provider": "generic", "url": "http://xxx/linux/uos/arm" } ], "asar": false, "files": [ "dist/electron/**/*" ], "linux": { "icon": "build/icons", "target": "deb" } }, }
- 为了获得root权限,还得申请成为uos开发者
第二步 兼容arm
统信UOS运行在arm处理器上
客户的机器采用 腾锐D2000 ----> 该cpu采用arm64指令集
打包的时候 加入参数arm64就搞定
必须在linux里面进行构建,我在windows下构建arm64版本,会报错。
某个网络请求被拒绝。
2.1 去哪找arm实机?
我去华为云买了一台。
然后再加12块钱买连接外网的服务。
规格是双核麒麟990 cpu + 4g内存
在云上部署,你得自己解决npm install&build时的网络问题。
有树莓派的话,安装一个Ubuntu mate也能测。
2.1.1 在arm版uos上编译遇到问题
- 在uos arm上用electron-builder打包,打包程序会错误调用x86的文件导致打包失败,结果还得在x86上打包
uos缺少很多相关的依赖,第一次安装会耗费很多时间。要慢慢等系统安装依赖。
2.1.2 怎么测试
- 没有数字签名,无法在别人的UOS系统上安装。
因此,在没有上架前,你得成为uos开发者
别人的测试机也得登录uos开发者