|
@@ -1,5 +1,6 @@
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
using System.IO;
|
|
|
using UnityEditor;
|
|
|
using UnityEditor.AddressableAssets.Settings;
|
|
@@ -917,22 +918,57 @@ public class MenuItemTools
|
|
|
Debug.Log("Assets renamed according to dictionary.");
|
|
|
}
|
|
|
|
|
|
- [MenuItem("Tools/Build/Android/Apk")]
|
|
|
+ [MenuItem("Tools/Build/Android/Debug/Apk")]
|
|
|
+ private static void BuildAndroidDebugApk()
|
|
|
+ {
|
|
|
+ AddDebugMacro();
|
|
|
+ EditorUserBuildSettings.buildAppBundle = false;
|
|
|
+ var outputPath = $"{Application.productName}-Debug-v{Application.version}.apk";
|
|
|
+ BuildAndroid(outputPath);
|
|
|
+ }
|
|
|
+
|
|
|
+ [MenuItem("Tools/Build/Android/Release/Apk")]
|
|
|
private static void BuildAndroidApk()
|
|
|
{
|
|
|
+ RemoveDebugMacro();
|
|
|
EditorUserBuildSettings.buildAppBundle = false;
|
|
|
- var outputPath = $"{Application.productName}-v{Application.version}.apk";
|
|
|
+ var outputPath = $"{Application.productName}-Release-v{Application.version}.apk";
|
|
|
BuildAndroid(outputPath);
|
|
|
}
|
|
|
|
|
|
- [MenuItem("Tools/Build/Android/AAB")]
|
|
|
+ [MenuItem("Tools/Build/Android/Release/AAB")]
|
|
|
private static void BuildAndroidAab()
|
|
|
{
|
|
|
+ RemoveDebugMacro();
|
|
|
EditorUserBuildSettings.buildAppBundle = true;
|
|
|
- var outputPath = $"{Application.productName}-v{Application.version}.aab";
|
|
|
+ var outputPath = $"{Application.productName}-Release-v{Application.version}.aab";
|
|
|
BuildAndroid(outputPath);
|
|
|
}
|
|
|
|
|
|
+ private static void AddDebugMacro()
|
|
|
+ {
|
|
|
+ var macrosStr = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android);
|
|
|
+ var macros = macrosStr.Split(";").ToList();
|
|
|
+ if (!macros.Contains("DEBUG"))
|
|
|
+ {
|
|
|
+ macros.Add("DEBUG");
|
|
|
+ macrosStr = string.Join(";", macros);
|
|
|
+ PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, macrosStr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void RemoveDebugMacro()
|
|
|
+ {
|
|
|
+ var macrosStr = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android);
|
|
|
+ var macros = macrosStr.Split(";").ToList();
|
|
|
+ if (macros.Contains("DEBUG"))
|
|
|
+ {
|
|
|
+ macros.RemoveAll(s => s == "DEBUG");
|
|
|
+ macrosStr = string.Join(";", macros);
|
|
|
+ PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, macrosStr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private static void BuildAndroid(string outputPath)
|
|
|
{
|
|
|
KeystorePasswordSetter.AutoSetupKeystore();
|