From 7bd0df05c8faac41d16c1395ea5fb63c6f0a92cb Mon Sep 17 00:00:00 2001 From: huyufei Date: Tue, 3 Sep 2024 20:52:31 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=20=E5=8D=87=E7=BA=A7=E6=89=93?= =?UTF-8?q?=E5=8C=85=E5=B7=A5=E5=85=B7=EF=BC=8C=20=E4=BC=98=E5=8C=96=20And?= =?UTF-8?q?roid=20=E7=8E=AF=E5=A2=83=E5=B7=A5=E5=85=B7=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=20Unity=20=E5=BD=93=E5=89=8D=E7=9A=84?= =?UTF-8?q?=E7=89=88=E6=9C=AC=EF=BC=8C=20=E5=88=A0=E9=99=A4=20Android=20?= =?UTF-8?q?=E6=9C=80=E5=B0=8F=20SDK=20API=20=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --story=1021827 --user=yufei.hu 【升级】升级 AppBuilder 打包工具, 适配 Firebase 12.1.0 最低需求 Android minSDK:23 的配置 https://www.tapd.cn/33527076/s/1169671 Signed-off-by: huyufei --- Editor/BuildTool/AppBuilder.cs | 81 ++++++++++++++++++++-------------- 1 file changed, 48 insertions(+), 33 deletions(-) diff --git a/Editor/BuildTool/AppBuilder.cs b/Editor/BuildTool/AppBuilder.cs index ab4b98c..9617d7b 100644 --- a/Editor/BuildTool/AppBuilder.cs +++ b/Editor/BuildTool/AppBuilder.cs @@ -21,14 +21,14 @@ namespace Guru.Editor private const string GuruAliasName = "guru"; private const string GuruAliasPass = "guru0622"; - private const string DEFAULT_GRADLE_PATH_MAC_2021_3_41 = - "/Applications/Unity/Hub/Editor/2021.3.41f1/PlaybackEngines/AndroidPlayer/Tools/gradle"; - private const string DEFAULT_JDK_PATH_MAC_2021_3_41 = - "/Applications/Unity/Hub/Editor/2021.3.41f1/PlaybackEngines/AndroidPlayer/OpenJDK"; - private const string DEFAULT_NDK_PATH_MAC_2021_3_41 = - "/Applications/Unity/Hub/Editor/2021.3.41f1/PlaybackEngines/AndroidPlayer/NDK"; - private const string DEFAULT_ANDROID_SDK_MAC_2021_3_41 = - "/Applications/Unity/Hub/Editor/2021.3.41f1/PlaybackEngines/AndroidPlayer/SDK"; + private const string DEFAULT_GRADLE_PATH_MAC = + "/Applications/Unity/Hub/Editor/{0}/PlaybackEngines/AndroidPlayer/Tools/gradle"; + private const string DEFAULT_JDK_PATH_MAC = + "/Applications/Unity/Hub/Editor/{0}/PlaybackEngines/AndroidPlayer/OpenJDK"; + private const string DEFAULT_NDK_PATH_MAC = + "/Applications/Unity/Hub/Editor/{0}/PlaybackEngines/AndroidPlayer/NDK"; + private const string DEFAULT_ANDROID_SDK_MAC = + "/Applications/Unity/Hub/Editor/{0}/PlaybackEngines/AndroidPlayer/SDK"; private static string GuruKeystorePath => Application.dataPath + $"/Plugins/Android/{GuruKeystoreName}"; private static string ProguardName => "proguard-user.txt"; @@ -131,7 +131,7 @@ namespace Guru.Editor } PlayerSettings.Android.targetArchitectures = AndroidArchitecture.ARMv7 | AndroidArchitecture.ARM64; // 构建 armV7, arm64 - PlayerSettings.Android.minSdkVersion = AndroidSdkVersions.AndroidApiLevel22; + // PlayerSettings.Android.minSdkVersion = AndroidSdkVersions.AndroidApiLevel22; PlayerSettings.Android.targetSdkVersion = (AndroidSdkVersions)androidTargetVersion; // 设置 API Version //打包 @@ -156,8 +156,35 @@ namespace Guru.Editor } return apkPath; } - - /// + + + private static void UsePlayerEmbeddedGradlePath() + { + var path = string.Format(DEFAULT_GRADLE_PATH_MAC, Application.unityVersion); + if (!Directory.Exists(path)) return; + UnityEditor.Android.AndroidExternalToolsSettings.gradlePath = path; + } + private static void UsePlayerEmbeddedJDKPath() + { + var path = string.Format(DEFAULT_JDK_PATH_MAC, Application.unityVersion); + if (!Directory.Exists(path)) return; + UnityEditor.Android.AndroidExternalToolsSettings.jdkRootPath = path; + } + private static void UsePlayerEmbeddedNDKPath() + { + var path = string.Format(DEFAULT_NDK_PATH_MAC, Application.unityVersion); + if (!Directory.Exists(path)) return; + UnityEditor.Android.AndroidExternalToolsSettings.ndkRootPath = path; + } + private static void UsePlayerEmbeddedAndroidSDKPath() + { + var path = string.Format(DEFAULT_ANDROID_SDK_MAC, Application.unityVersion); + if (!Directory.Exists(path)) return; + UnityEditor.Android.AndroidExternalToolsSettings.sdkRootPath = path; + } + + + /// /// 设置 GradlePath /// /// @@ -169,12 +196,9 @@ namespace Guru.Editor return; } -#if UNITY_2021_3_41 && UNITY_EDITOR_OSX +#if UNITY_EDITOR_OSX // 针对 2021.3.41 MAC 版本,直接强制走Unity 自带的 Gradle 库 - if (Directory.Exists(DEFAULT_GRADLE_PATH_MAC_2021_3_41)) - { - UnityEditor.Android.AndroidExternalToolsSettings.gradlePath = DEFAULT_GRADLE_PATH_MAC_2021_3_41; - } + UsePlayerEmbeddedGradlePath(); #endif } @@ -190,12 +214,9 @@ namespace Guru.Editor return; } -#if UNITY_2021_3_41 && UNITY_EDITOR_OSX +#if UNITY_EDITOR_OSX // 针对 2021.3.41 MAC 版本,直接强制走Unity 自带的 JDK 库 - if (Directory.Exists(DEFAULT_JDK_PATH_MAC_2021_3_41)) - { - UnityEditor.Android.AndroidExternalToolsSettings.jdkRootPath = DEFAULT_JDK_PATH_MAC_2021_3_41; - } + UsePlayerEmbeddedJDKPath(); #endif } @@ -211,12 +232,9 @@ namespace Guru.Editor return; } -#if UNITY_2021_3_41 && UNITY_EDITOR_OSX - // 针对 2021.3.41 MAC 版本,直接强制走Unity 自带的 JDK 库 - if (Directory.Exists(DEFAULT_JDK_PATH_MAC_2021_3_41)) - { - UnityEditor.Android.AndroidExternalToolsSettings.ndkRootPath = DEFAULT_NDK_PATH_MAC_2021_3_41; - } +#if UNITY_EDITOR_OSX + // 针对 2021.3.41 MAC 版本,直接强制走Unity 自带的 NDK 库 + UsePlayerEmbeddedNDKPath(); #endif } @@ -233,12 +251,9 @@ namespace Guru.Editor return; } -#if UNITY_2021_3_41 && UNITY_EDITOR_OSX - // 针对 2021.3.41 MAC 版本,直接强制走Unity 自带的 JDK 库 - if (Directory.Exists(DEFAULT_JDK_PATH_MAC_2021_3_41)) - { - UnityEditor.Android.AndroidExternalToolsSettings.sdkRootPath = DEFAULT_ANDROID_SDK_MAC_2021_3_41; - } +#if UNITY_EDITOR_OSX + // 针对 2021.3.41 MAC 版本,直接强制走Unity 自带的 SDK 库 + UsePlayerEmbeddedAndroidSDKPath(); #endif }