From 4d3eae1c8878b5b613f55fbf89636d4b9724714d Mon Sep 17 00:00:00 2001 From: "Liubing\\LB" Date: Tue, 2 Jun 2026 19:50:44 +0800 Subject: [PATCH] =?UTF-8?q?update:=E6=9B=B4=E6=96=B0=E8=A1=A5=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Android/flexion/AndroidManifest.xml | 4 +- .../Android/flexion/ChannelEntry.java | 6 +- .../Plugins/Android/tuyoosdk_1.0.0.aar | Bin 5398553 -> 5398552 bytes .../Android/flexion/mainTemplate.gradle | 5 +- .../Android/flexion/settingsTemplate.gradle | 5 +- sdk-intergration/Assets/Editor/BuildTool.cs | 36 +++----- .../Assets/Editor/ChannelBuildTool.cs | 86 +++++++++--------- 7 files changed, 64 insertions(+), 78 deletions(-) diff --git a/ExtraPluginCfgs/Android/flexion/AndroidManifest.xml b/ExtraPluginCfgs/Android/flexion/AndroidManifest.xml index 16ca0ce..ad8231c 100644 --- a/ExtraPluginCfgs/Android/flexion/AndroidManifest.xml +++ b/ExtraPluginCfgs/Android/flexion/AndroidManifest.xml @@ -54,13 +54,13 @@ 追加 ${applicationId}(Flexion 包名)作为后缀后,与 GP 版 authority 不同, 两个渠道包可同时安装在同一设备上,不会触发 INSTALL_FAILED_CONFLICTING_PROVIDER。 参考:Flexion 官方文档《Unique package name - follow-on requirements》 - + --> - --> + diff --git a/ExtraPluginCfgs/Android/flexion/ChannelEntry.java b/ExtraPluginCfgs/Android/flexion/ChannelEntry.java index fdf3275..a771feb 100644 --- a/ExtraPluginCfgs/Android/flexion/ChannelEntry.java +++ b/ExtraPluginCfgs/Android/flexion/ChannelEntry.java @@ -1,7 +1,7 @@ package com.unity3d.player; public class ChannelEntry { - + public static final String CHANNEL = "Flexion"; public static SDKManager.IChannelSDKAdapter createSDKAdapter() { @@ -14,7 +14,7 @@ public class ChannelEntry { public static String normalizeSkuList(String msg) { return msg; } - - + + //public SDKExtBuilder; } diff --git a/ExtraPluginCfgs/Android/flexion/Plugins/Android/tuyoosdk_1.0.0.aar b/ExtraPluginCfgs/Android/flexion/Plugins/Android/tuyoosdk_1.0.0.aar index 2fcfaf0f9d2c5f1eee9c5e3c29dad2003b5d0261..cc2e058f45d81c6872ea38da75a8070a2d885e73 100644 GIT binary patch delta 6777 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 {DefaultChannel}"); + SwitchChannel(DefaultChannel); + PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, DefaultAndroidBundleIdentifier); + Debug.Log($"[ChannelBuild] Restore bundle identifier -> {DefaultAndroidBundleIdentifier}"); + AssetDatabase.SaveAssets(); + } + private static void BuildAndroidForChannel(string channel, bool debug) { - SwitchChannel(channel); - - string fileName = debug ? $"tysdkTest_{channel}_debug.apk" : $"tysdkTest_{channel}.apk"; - string outPath = $"../Bin/{fileName}"; - var buildOptions = debug - ? BuildOptions.Development | BuildOptions.AllowDebugging | BuildOptions.WaitForPlayerConnection - : BuildOptions.None; - - var buildPlayerOptions = new BuildPlayerOptions + try { - scenes = EditorBuildSettings.scenes.Select(x => x.path).ToArray(), - locationPathName = outPath, - target = BuildTarget.Android, - options = buildOptions, - }; + SwitchChannel(channel); - Debug.Log($"[ChannelBuild] Building {channel} → {outPath}"); - var buildReport = BuildPipeline.BuildPlayer(buildPlayerOptions); + string fileName = debug ? $"tysdkTest_{channel}_debug.apk" : $"tysdkTest_{channel}.apk"; + string outPath = $"../Bin/{fileName}"; + var buildOptions = debug + ? BuildOptions.Development | BuildOptions.AllowDebugging | BuildOptions.WaitForPlayerConnection + : BuildOptions.None; - if (buildReport?.summary.result == UnityEditor.Build.Reporting.BuildResult.Succeeded) - { - Debug.Log($"[ChannelBuild] Success: {Path.GetFullPath(outPath)}"); - AssetDatabase.Refresh(ImportAssetOptions.ForceSynchronousImport); + var buildPlayerOptions = new BuildPlayerOptions + { + scenes = EditorBuildSettings.scenes.Select(x => x.path).ToArray(), + locationPathName = outPath, + target = BuildTarget.Android, + options = buildOptions, + }; + + Debug.Log($"[ChannelBuild] Building {channel} → {outPath}"); + var buildReport = BuildPipeline.BuildPlayer(buildPlayerOptions); + + if (buildReport?.summary.result == UnityEditor.Build.Reporting.BuildResult.Succeeded) + { + Debug.Log($"[ChannelBuild] Success: {Path.GetFullPath(outPath)}"); + AssetDatabase.Refresh(ImportAssetOptions.ForceSynchronousImport); + } + else + { + Debug.LogError($"[ChannelBuild] Failed: {buildReport?.summary}"); + } } - else + finally { - Debug.LogError($"[ChannelBuild] Failed: {buildReport?.summary}"); + RestoreDefaultChannel(); } } @@ -159,29 +177,7 @@ public class ChannelBuildTool public static void Switch_Flexion() => SwitchChannel("Flexion"); // ==================== Menu: Build ==================== - - [MenuItem("Tools/Build Android (Current Channel)")] - public static void Build_CurrentChannel() - { - if (string.IsNullOrEmpty(currentChannel)) - { - Debug.LogError("[ChannelBuild] No channel selected. Use Tools/Switch Channel first."); - return; - } - BuildAndroidForChannel(currentChannel, false); - } - - [MenuItem("Tools/Build Android (Current Channel) Debug")] - public static void Build_CurrentChannel_Debug() - { - if (string.IsNullOrEmpty(currentChannel)) - { - Debug.LogError("[ChannelBuild] No channel selected. Use Tools/Switch Channel first."); - return; - } - BuildAndroidForChannel(currentChannel, true); - } - + [MenuItem("Tools/Build Android (Channel)/GooglePlay")] public static void Build_GooglePlay() => BuildAndroidForChannel("GooglePlay", false);