using System; using System.Collections.Generic; using System.IO; using System.Linq; using UnityEditor; using UnityEditor.Build.Reporting; using UnityEngine; namespace TON { public class BuildScript { static string[] SCENES = FindEnabledEditorScenes(); static string APP_NAME = "TestBuild"; //앱이름 입력 static string TARGET_DIR = "E:/Build/"; //빌드경로 입력 [MenuItem("Build/Build Android")] static void PerformAndroidBuild() { string target_dir = APP_NAME + ".apk"; PlayerSettings.keystorePass = string.Empty; //키스토어 비번 입력 PlayerSettings.keyaliasPass = string.Empty; //키스토어 비번 입력 GenericBuild(SCENES, TARGET_DIR + "/" + target_dir, BuildTargetGroup.Android, BuildTarget.Android, BuildOptions.None); } private static string[] FindEnabledEditorScenes() { List EditorScenes = new List(); foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes) { if (!scene.enabled) continue; EditorScenes.Add(scene.path); } return EditorScenes.ToArray(); } static void GenericBuild(string[] scenes, string target_dir, BuildTargetGroup build_target_group, BuildTarget build_target, BuildOptions build_options) { EditorUserBuildSettings.SwitchActiveBuildTarget(build_target_group, build_target); string res = BuildPipeline.BuildPlayer(scenes, target_dir, build_target, build_options).ToString(); if (res.Length < 0) { throw new Exception("BuildPlayer failure: " + res); } } } }