Files
aibis-dream/Assets/Editor/Version/VersionIncrementer.cs
T
2025-12-25 01:14:17 +08:00

36 lines
1.3 KiB
C#

using System;
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEngine;
public class VersionIncrementer : IPreprocessBuildWithReport
{
public int callbackOrder => 0;
public void OnPreprocessBuild(BuildReport report)
{
// 去除时间戳
string[] bundleVersionParts = PlayerSettings.bundleVersion.Split('-');
string version = bundleVersionParts[0];
// 获取当前版本号
string[] versionParts = version.Split('.');
int major = int.Parse(versionParts[0]);
int minor = int.Parse(versionParts[1]);
int revision = int.Parse(versionParts[2]);
int build = int.Parse(versionParts[3]);
// 更新版本号
string date = DateTime.Now.ToString("yyyyMMdd-HHmmss");
PlayerSettings.bundleVersion = $"{major}.{minor}.{revision}.{build + 1}-{date}";
// 如果是Android平台,自增Bundle Version Code
if (report.summary.platform == BuildTarget.Android)
{
int currentVersionCode = PlayerSettings.Android.bundleVersionCode;
PlayerSettings.Android.bundleVersionCode = currentVersionCode + 1;
Debug.Log($"Android Bundle Version Code incremented: {currentVersionCode} -> {PlayerSettings.Android.bundleVersionCode}");
}
}
}