重新组装了打包的流程
目前可以更方便的修改
// AutoBuild.js中 分别注册了不同平台的打包流程
constructor() {
this._platformFlowBindFuncs = {
['android']: this.buildAndroidFlow,
// ['ios']: this.buildIosFlow,
['harmonyos-next']: this.buildHarmonyNextFlow,
['wechatgame']: this.buildWechatFlow,
['bytedance-mini-game']: this.buildBytedanceFlow,
['alipay-mini-game']: this.buildAlipayFlow,
// ['huawei-quick-game']: this.buildHuaweiQuickFlow,
}
}
想要修改对应平台的打包流程,只需要找到对应的函数
把不需要的调用删掉就差不多了
/** 构建android渠道 */
async buildAndroidFlow(channel) {
let build = new BuildAndroid(channel, this._version, this._buildCode, this._debug);
// 修改版本号
build.modifyGameVersion();
// 构建apk
await build.buildApk();
// 拷贝apk到指定目录 publish 目录
await build.copyApkToPublish();
// 给apk签名
await build.signApk();
// 上传apk到cdn
await build.ossUpload();
// 发送飞书通知
if (this._notificationFeishu) {
await build.notificationFeishu();
}
// 打印安卓打包完成信息
console.log(colors("green", "安卓打包完成, apk文件路径:" + path.join(DataHelper.instance.project, 'publish', build.getApkName())));
}
/** 鸿蒙Next打包流程 */
async buildHarmonyNextFlow() {
let build = new BuildHarmony(this._version, this._buildCode, this._debug);
// 修改鸿蒙项目版本号
build.modifyGameVersion();
// 构建鸿蒙app
await build.buildApp();
// 上传鸿蒙app和hap到cdn
await build.ossUpload();
// 发送飞书通知
if (this._notificationFeishu) {
await build.notificationFeishu();
}
// 打印鸿蒙打包完成信息
console.log(colors("green", "鸿蒙打包完成, hap文件路径:" + path.join(DataHelper.instance.project, 'publish', build.getHapName())));
if (!this._debug) {
console.log(colors("green", "鸿蒙打包完成, app文件路径:" + path.join(DataHelper.instance.project, 'publish', build.getAppName())));
}
}
/** 支付宝小游戏打包流程 */
async buildAlipayFlow() {
let build = new BuildAlipay(this._version, this._message, this._debug);
// 上传支付宝远程资源到cdn
await build.uploadRes();
// 上传支付宝小游戏到开发者后台 并且保存体验二维码到qrcode目录
await build.uploadProject();
// 发送飞书通知
if (this._notificationFeishu) {
let imagePath = path.join(DataHelper.instance.path, "qrcode", "ali_qrcode.png");
await new NotificationFeishu().miniGameSend("alipay", this._version, imagePath, this._debug);
}
}
/** 抖音小游戏打包流程 */
async buildBytedanceFlow() {
let build = new BuildBytedance(this._version, this._message, this._robot, this._debug);
// 上传抖音远程资源到cdn
await build.uploadRes();
// 上传抖音小游戏到开发者后台 并且保存体验二维码到qrcode目录
await build.uploadProject();
// 发送飞书通知
if (this._notificationFeishu) {
let imagePath = path.join(DataHelper.instance.path, "qrcode", "bytedance_qrcode.png");
await new NotificationFeishu().miniGameSend("bytedance", this._version, imagePath, this._debug);
}
}
/** 微信小游戏打包流程 */
async buildWechatFlow() {
let build = new BuildWechat(this._version, this._message, this._robot, this._debug);
// 上传微信远程资源到cdn
await build.uploadRes();
// 上传项目到微信后台
await build.uploadProject();
// 发送飞书通知 因为微信不支持自动修改体验版本 这里是提前把二维码放到目录下了
if (this._notificationFeishu) {
let imagePath = path.join(DataHelper.instance.path, "qrcode", "wechat_qrcode.jpg");
await new NotificationFeishu().miniGameSend("wechatgame", this._version, imagePath, this._debug);
}
}