From bef90975a06c19774678908e96dac2b2cab652af Mon Sep 17 00:00:00 2001 From: Andrew Kahr <22359829+AndrewKahr@users.noreply.github.com> Date: Sun, 12 Feb 2023 04:02:50 -0800 Subject: [PATCH] Fix typo. Use reflection to set buildAppBundle as Unity 2018.2 doesn't support it --- .../UnityBuilderAction/Input/AndroidSettings.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs index 32fe8e23..a30b9d43 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs @@ -20,7 +20,7 @@ namespace UnityBuilderAction.Input if (options.TryGetValue("androidKeystorePass", out keystorePass) && !string.IsNullOrEmpty(keystorePass)) PlayerSettings.Android.keystorePass = keystorePass; - string keyAliasName; + string keyaliasName; if (options.TryGetValue("androidKeyaliasName", out keyaliasName) && !string.IsNullOrEmpty(keyaliasName)) PlayerSettings.Android.keyaliasName = keyaliasName; @@ -47,19 +47,25 @@ namespace UnityBuilderAction.Input string androidExportType; if (options.TryGetValue("androidExportType", out androidExportType) && !string.IsNullOrEmpty(androidExportType)) { + // Only exists in 2018.3 and above + FieldInfo buildAppBundle = typeof(EditorUserBuildSettings) + .GetField("buildAppBundle", System.Reflection.BindingFlags.Public | BindingFlags.Instance); switch (androidExportType) { case "androidStudioProject": EditorUserBuildSettings.exportAsGoogleAndroidProject = true; - EditorUserBuildSettings.buildAppBundle = false; + if (buildAppBundle != null) + buildAppBundle.SetValue(null, false); break; case "androidAppBundle": - EditorUserBuildSettings.buildAppBundle = true; EditorUserBuildSettings.exportAsGoogleAndroidProject = false; + if (buildAppBundle != null) + buildAppBundle.SetValue(null, true); break; - default: + case "androidPackage": EditorUserBuildSettings.exportAsGoogleAndroidProject = false; - EditorUserBuildSettings.buildAppBundle = false; + if (buildAppBundle != null) + buildAppBundle.SetValue(null, false); break; } }