fix: 安卓端编译多个包时,buildNumber会额外拼上1、2、3之类的,会对更新判断造成影响

This commit is contained in:
orz12
2024-02-18 09:01:38 +08:00
parent 676d033e53
commit 72cd1402e7
4 changed files with 16 additions and 7 deletions

View File

@@ -86,10 +86,9 @@ jobs:
run: |
# 更新pubspec.yaml文件中的版本号
sed -i "s/version: .*/version: ${{ needs.update_version.outputs.new_version }}/g" pubspec.yaml
yq e .version pubspec.yaml
- name: flutter build apk
run: flutter build apk --release --split-per-abi --build-number ${{ github.run_number }}
run: flutter build apk --release --split-per-abi
env:
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
@@ -172,10 +171,10 @@ jobs:
- name: Upload Pre-release
uses: ncipollo/release-action@v1
with:
name: v${{ needs.update_version.outputs.new_version }}
name: ${{ needs.update_version.outputs.new_version }}
token: ${{ secrets.GIT_TOKEN }}
commit: main
tag: v${{ needs.update_version.outputs.new_version }}
tag: ${{ needs.update_version.outputs.new_version }}
prerelease: true
allowUpdates: true
artifacts: Pilipala-CI/*

View File

@@ -6,7 +6,6 @@ on:
# push tag时触发
tags:
- "v*.*.*"
- "!v*.*.*\+*"
# 可以有多个jobs
jobs:

View File

@@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
@@ -194,7 +196,12 @@ class AboutController extends GetxController {
// 获取当前版本
Future getCurrentApp() async {
var currentInfo = await PackageInfo.fromPlatform();
currentVersion.value = "v${currentInfo.version}+${currentInfo.buildNumber}";
String buildNumber = currentInfo.buildNumber;
//if is android
if (Platform.isAndroid) {
buildNumber = buildNumber.substring(0,buildNumber.length - 1);
}
currentVersion.value = "v${currentInfo.version}+$buildNumber";
}
// 获取远程版本

View File

@@ -225,7 +225,11 @@ class Utils {
var currentInfo = await PackageInfo.fromPlatform();
var result = await Request().get(Api.latestApp, extra: {'ua': 'mob'});
LatestDataModel data = LatestDataModel.fromJson(result.data[0]);
bool isUpdate = Utils.needUpdate("v${currentInfo.version}+${currentInfo.buildNumber}", data.tagName!);
String buildNumber = currentInfo.buildNumber;
if (Platform.isAndroid) {
buildNumber = buildNumber.substring(0, buildNumber.length - 1);
}
bool isUpdate = Utils.needUpdate("v${currentInfo.version}+$buildNumber", data.tagName!);
if (isUpdate) {
SmartDialog.show(
animationType: SmartAnimationType.centerFade_otherSlide,