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 }