diff --git a/Editor/BuildTool/AppBuilder.cs b/Editor/BuildTool/AppBuilder.cs index ca2b345..2534ee2 100644 --- a/Editor/BuildTool/AppBuilder.cs +++ b/Editor/BuildTool/AppBuilder.cs @@ -63,16 +63,19 @@ namespace Guru.Editor /// public static string BuildAndroid(AppBuildParam buildParam) { - //切换平台 + // 切换平台 SwitchBuildPlatform(BuildTarget.Android); - //打包通用设置 + // 打包通用设置 ChangeBuildPlayerCommonSetting(buildParam, BuildTargetGroup.Android); var isDebug = !buildParam.IsBuildRelease; var useMinify = buildParam.AndroidUseMinify; var buildNumber= GetBuildNumberString(BuildTarget.Android); - if(buildParam.AutoSetBuildNumber) buildNumber= ChangeBuildNumber(BuildTarget.Android); + if(buildParam.AutoSetBuildNumber) buildNumber = ChangeBuildNumber(BuildTarget.Android); + // 保存版本信息 + SaveBuildVersion(buildParam.BuildVersion, buildNumber); + //android专用打包设置 EditorUserBuildSettings.buildAppBundle = buildParam.IsBuildAAB; EditorUserBuildSettings.development = isDebug; @@ -180,7 +183,11 @@ namespace Guru.Editor ChangeBuildPlayerCommonSetting(buildParam, BuildTargetGroup.iOS); //修改打包版本号 - if(buildParam.AutoSetBuildNumber) ChangeBuildNumber(BuildTarget.iOS); + var buildNumber= GetBuildNumberString(BuildTarget.Android); + if(buildParam.AutoSetBuildNumber) buildNumber = ChangeBuildNumber(BuildTarget.iOS); + + // 保存版本信息 + SaveBuildVersion(buildParam.BuildVersion, buildNumber); var isDebug = !buildParam.IsBuildRelease; @@ -356,6 +363,12 @@ namespace Guru.Editor return ""; } + + private static void SaveBuildVersion(string version, string code) + { + GuruAppVersion.SaveToDisk(version, code); + } + /// /// 获取打包场景 /// diff --git a/Runtime/Utils.meta b/Runtime/Utils.meta new file mode 100644 index 0000000..ef74953 --- /dev/null +++ b/Runtime/Utils.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a38c296b2ea541daae4ded28f1da8f87 +timeCreated: 1710157153 \ No newline at end of file diff --git a/Runtime/Utils/Runtime.meta b/Runtime/Utils/Runtime.meta new file mode 100644 index 0000000..1b29c3e --- /dev/null +++ b/Runtime/Utils/Runtime.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: af28bbc1ddeb4338894259b071f3d15f +timeCreated: 1710157167 \ No newline at end of file diff --git a/Runtime/Utils/Runtime/GuruAppVersion.cs b/Runtime/Utils/Runtime/GuruAppVersion.cs new file mode 100644 index 0000000..e6ea873 --- /dev/null +++ b/Runtime/Utils/Runtime/GuruAppVersion.cs @@ -0,0 +1,78 @@ +using System.IO; +using UnityEngine; + +namespace Guru +{ + public class GuruAppVersion + { + public const string BuildInfoName = "build_info"; + + public string raw; + public string version; + public string code; + + public override string ToString() + { + return $"{version}-{code}"; + } + + /// + /// 初始化 + /// + public GuruAppVersion() + { + version = Application.version; + code = "unknown"; + raw = ""; + } + + /// + /// 初始化 + /// + /// + /// + public GuruAppVersion(string version, string code) + { + this.version = version; + this.code = code; + } + + public static GuruAppVersion Load() + { + var raw = Resources.Load(BuildInfoName)?.text??""; + return GuruAppVersion.Parse(raw); + } + + + protected static GuruAppVersion Parse(string raw) + { + var a = new GuruAppVersion(); + if (!string.IsNullOrEmpty(raw)) + { + a.raw = raw; + var arr = raw.Split('-'); + if (arr.Length > 0) a.version = arr[0]; + if (arr.Length > 1) a.code = arr[1]; + } + return a; + } + + + /// + /// 保存至磁盘 + /// + /// + /// + public static void SaveToDisk(string version, string code) + { + var dir = $"{Application.dataPath}/Guru/Resources"; + if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); + var path = $"{dir}/{BuildInfoName}.txt"; + File.WriteAllText(path, $"{version}-{code}"); + } + + } + + + +} \ No newline at end of file diff --git a/Runtime/Utils/Runtime/GuruAppVersion.cs.meta b/Runtime/Utils/Runtime/GuruAppVersion.cs.meta new file mode 100644 index 0000000..cfa9e2f --- /dev/null +++ b/Runtime/Utils/Runtime/GuruAppVersion.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 657ac07c8fa7416d985f8919733ebbcc +timeCreated: 1710155431 \ No newline at end of file