update: 升级打包工具, 优化 Android 环境工具路径匹配 Unity 当前的版本, 删除 Android 最小 SDK API 限制

--story=1021827 --user=yufei.hu 【升级】升级 AppBuilder 打包工具, 适配 Firebase 12.1.0 最低需求 Android minSDK:23 的配置 https://www.tapd.cn/33527076/s/1169671

Signed-off-by: huyufei <yufei.hu@castbox.fm>
胡宇飞 2024-09-03 20:52:31 +08:00
parent 6c2108709b
commit 7bd0df05c8
1 changed files with 48 additions and 33 deletions

View File

@ -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
//打包
@ -157,6 +157,33 @@ 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;
}
/// <summary>
/// 设置 GradlePath
/// </summary>
@ -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
}