fix: 修复打包脚本中 VersionCode 生成缺少位数的 BUG

Signed-off-by: huyufei <yufei.hu@castbox.fm>
胡宇飞 2024-08-08 09:37:15 +08:00
parent 91e873880b
commit b186489a54
1 changed files with 32 additions and 18 deletions

View File

@ -87,10 +87,13 @@ namespace Guru.Editor
var isDebug = !buildParam.IsBuildRelease;
var useMinify = buildParam.AndroidUseMinify;
var buildNumber= GetBuildNumberString(BuildTarget.Android);
var buildNumber= GetPlayerSettingsBuildNumberStr(BuildTarget.Android);
var androidTargetVersion = buildParam.AndroidTargetVersion == 0 ? DefaultAndroidTargetSdkVersion : buildParam.AndroidTargetVersion;
if (buildParam.AutoSetBuildNumber) buildNumber = ChangeBuildNumber(BuildTarget.Android);
if (buildParam.AutoSetBuildNumber)
{
buildNumber = CreateGuruBuildNumber();
PlayerSettings.Android.bundleVersionCode = int.Parse(buildNumber);
}
// 保存版本信息
SaveBuildVersion(buildParam.BuildVersion, buildNumber);
@ -293,8 +296,12 @@ namespace Guru.Editor
ChangeBuildPlayerCommonSetting(buildParam, BuildTargetGroup.iOS);
//修改打包版本号
var buildNumber= GetBuildNumberString(BuildTarget.Android);
if(buildParam.AutoSetBuildNumber) buildNumber = ChangeBuildNumber(BuildTarget.iOS);
var buildNumber= GetPlayerSettingsBuildNumberStr(BuildTarget.Android);
if (buildParam.AutoSetBuildNumber)
{
buildNumber = CreateGuruBuildNumber();
PlayerSettings.iOS.buildNumber = buildNumber;
}
// 保存版本信息
SaveBuildVersion(buildParam.BuildVersion, buildNumber);
@ -437,19 +444,15 @@ namespace Guru.Editor
/// 修改打包版本号
/// </summary>
/// <param name="buildTarget"></param>
private static string ChangeBuildNumber(BuildTarget buildTarget)
private static string CreateGuruBuildNumber()
{
var nowDate = DateTime.Now;
string strBuildNumber = $"{nowDate.Year - 2000}{nowDate.Month:00}{nowDate.Day:00}{(nowDate.Hour * 60 + nowDate.Minute) / 15}";
int buildNumber = int.Parse(strBuildNumber);
if (buildTarget == BuildTarget.iOS)
{
PlayerSettings.iOS.buildNumber = buildNumber.ToString();
}
else if (buildTarget == BuildTarget.Android)
{
PlayerSettings.Android.bundleVersionCode = buildNumber;
}
string strYear = nowDate.Year.ToString().Substring(2);
string strMon = nowDate.Month.ToString("00");
string strDay = nowDate.Day.ToString("00");
string strQuarter = ((nowDate.Hour * 60 + nowDate.Minute) / 15).ToString("00");
// 2024-08-01 08:00:00 to version string: 240801
string strBuildNumber = $"{strYear}{strMon}{strDay}{strQuarter}";
return strBuildNumber;
}
@ -457,7 +460,7 @@ namespace Guru.Editor
/// 获取构建数变量
/// </summary>
/// <returns></returns>
private static string GetBuildNumberString(BuildTarget buildTarget)
private static string GetPlayerSettingsBuildNumberStr(BuildTarget buildTarget)
{
if (buildTarget == BuildTarget.iOS)
{
@ -528,7 +531,18 @@ namespace Guru.Editor
}
[Test]
public static void TEST_BuildVersionString()
{
var nowDate = new DateTime(2024, 8, 1, 0, 0, 0);
string strYear = nowDate.Year.ToString().Substring(2);
string strMon = nowDate.Month.ToString("00");
string strDay = nowDate.Day.ToString("00");
string strQuarter = ((nowDate.Hour * 60 + nowDate.Minute) / 15).ToString("00");
// 2024-08-01 08:00:00 to version string: 240801
string strBuildNumber = $"{strYear}{strMon}{strDay}{strQuarter}";
Debug.Log($"Get BuildVersion Code: {strBuildNumber}");
}
#endregion
}