From 8b78fd8b00f2e4065df340d95c3219769b19b7b7 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期日, 10 五月 2026 19:11:38 +0800
Subject: [PATCH] 0312 新增导出工程给AS打包逻辑
---
Assets/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs | 70 +++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/Assets/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs b/Assets/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
index 97dbd63..f971c89 100644
--- a/Assets/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
+++ b/Assets/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
@@ -89,6 +89,12 @@
set { LocalSave.SetString("APKOutPutPath", value); }
}
+ public string AndroidExportPath
+ {
+ get { return LocalSave.GetString("AndroidExportPath"); }
+ set { LocalSave.SetString("AndroidExportPath", value); }
+ }
+
string m_Publishers;
public string publishers
{
@@ -229,6 +235,15 @@
var fromVersionConfig = ClientPackage.GetVersionConfig(_publisher, out versionName);
var versionConfig = VersionConfig.Get();
+
+ if (fromVersionConfig == null || versionConfig == null)
+ {
+ Debug.LogWarningFormat("SetVersionConfig failed: fromVersionConfig={0}, versionConfig={1}, publisher={2}",
+ fromVersionConfig != null ? "ok" : "null",
+ versionConfig != null ? "ok" : "null",
+ _publisher);
+ return;
+ }
VersionConfig.Copy(fromVersionConfig, versionConfig);
@@ -517,6 +532,28 @@
#endif
GUILayout.EndHorizontal();
+
+#if UNITY_ANDROID
+ EditorGUILayout.Space();
+ GUILayout.Label("Export Android Project", EditorStyles.boldLabel);
+ GUILayout.BeginHorizontal();
+ EditorGUILayout.TextField("Export Path", AndroidExportPath);
+ if (GUILayout.Button("Browse", GUILayout.MaxWidth(75f)))
+ {
+ BrowseForAndroidExport();
+ }
+ GUILayout.EndHorizontal();
+ GUILayout.BeginHorizontal();
+ if (GUILayout.Button("Export Android Project"))
+ {
+ EditorApplication.delayCall += ExecuteExportAndroidProject;
+ }
+ if (GUILayout.Button("Export Android Dev"))
+ {
+ EditorApplication.delayCall += ExecuteExportAndroidProjectDev;
+ }
+ GUILayout.EndHorizontal();
+#endif
// GUILayout.Space(20);
// if (GUILayout.Button("SwitchVersionConfig"))
@@ -1038,6 +1075,30 @@
ClientPackage.BuildPublishers(ClientPackage.SDK_PLUGIN_PROJECT, outputPath, ApkOutputPath, publishers, packageIndex, true, false);
}
+ private void ExecuteExportAndroidProject()
+ {
+ if (string.IsNullOrEmpty(AndroidExportPath))
+ {
+ EditorUtility.DisplayDialog("鎻愮ず", "璇峰厛璁剧疆 Android Export Path", "纭畾");
+ return;
+ }
+ packageIndex++;
+ var assetBundlePath = Application.dataPath.Replace("Assets", m_UserData.m_OutputPath);
+ ClientPackage.ExportAndroidProject(publishers, packageIndex, false, AndroidExportPath, assetBundlePath);
+ }
+
+ private void ExecuteExportAndroidProjectDev()
+ {
+ if (string.IsNullOrEmpty(AndroidExportPath))
+ {
+ EditorUtility.DisplayDialog("鎻愮ず", "璇峰厛璁剧疆 Android Export Path", "纭畾");
+ return;
+ }
+ packageIndex++;
+ var assetBundlePath = Application.dataPath.Replace("Assets", m_UserData.m_OutputPath);
+ ClientPackage.ExportAndroidProject(publishers, packageIndex, true, AndroidExportPath, assetBundlePath);
+ }
+
private void ExecuteBuildClientPackageStandalone()
{
packageIndex++;
@@ -1153,6 +1214,15 @@
}
}
+ private void BrowseForAndroidExport()
+ {
+ var newPath = EditorUtility.OpenFolderPanel("Android Export Folder", AndroidExportPath, string.Empty);
+ if (!string.IsNullOrEmpty(newPath))
+ {
+ AndroidExportPath = newPath;
+ }
+ }
+
private void ResetPathToDefault()
{
m_UserData.m_UseDefaultPath = true;
--
Gitblit v1.8.0