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