§ PC外壳-APP打包指南

§ 初始版本包说明

初始版本包是用于在安装app后,第一次打开APP后解压的资源。如下图所示,版本包中一般包含两个文件夹:

642356e0121382bfab5c434da4e0d7ed

§ configuration

放置配置文件,其中client.properties是主要的配置文件,配置说明如下

#主工程
web/mainApp=fox
#设备回退键触发事件
web/backAction=javascript:fox.custom.logout()
#是否启用更新
version/updateEnabled=false
#版本服务器地址,可支持列表,以‘,’分割
version/address=http://192.144.128.218:9291
1
2
3
4
5
6
7
8

§ workspace

放置web资源,内部结构如下

main_app 主工程(名称可改),必须与client.properties中得入口APP名保持一致

§ APP打包

通过npm命令进行打包

§ windows

npm run build:win
1

§ linux

npm run build:linux
1

§ mac

npm run build:mac
1

§ APP差量更新包

app差量更新,主要是指对app.asar的更新

apk的的更新配置,在client.properties上

#APK更新任务(requestPath,savePath)
version/apkUpdateTasks=[update/app/apk,version/apk]
1
2

§ 步骤一

初始化资源目录,由于是差量更新包,所以不应该包含初始工程,打包前应该把build/version/workspace下的内容清空

§ 步骤二

执行build命令进行打包

npm run build:mac // 打包mac版本

npm run build:linux // 打包linux版本

npm run build:win // 打包windows版本
1
2
3
4
5

§ 步骤三

执行差量更新打包命令,该命令需要从安装包中提取差量更新资源

§ 从mac安装包提取

npm run pack:mac
1

§ 从window安装包提取

npm run pack:win
1

§ 步骤四

差量更新生成目录 dist/apk,其中version.json是更新包的描述

{
    name: 'fox',
    version: '0.0.16',
    chunks: [
     { name: 'update_chunk_0', md5: '6e88b56830790f84a5dc73713b19f047' },
     { name: 'update_chunk_1', md5: '0f6e7698aa99fd8856caa27be9918bc9' },
     { name: 'update_chunk_2', md5: 'ea2161b142beceaffdd8f2e444149b51' }
   ],
   index: 2,
   immediately: true,
   updaters: {
     darwin: 'update-darwin.sh',
     linux: 'update-linux.sh',
     win32: 'update-win32.bat'
   }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

上述配置文件中,有两个属性是需要我们修改的

  • index 当前需要更新到chunks的文件的索引,可以控制当前允许更新的文件片段数量
  • immedately 更新完整的chunks后,是否立刻进行安装更新

§ 步骤五

把apk目录拷贝到版本服务器上的update/app目录下面,和configuration和workspace在同一级的目录下

最后更新于: 4/18/2022, 5:22:49 PM