50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
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 = "dlrhahdla"; //키스토어 비번 입력
|
|
PlayerSettings.keyaliasPass = "dlrhahdla"; //키스토어 비번 입력
|
|
GenericBuild(SCENES, TARGET_DIR + "/" + target_dir, BuildTargetGroup.Android, BuildTarget.Android, BuildOptions.None);
|
|
}
|
|
|
|
private static string[] FindEnabledEditorScenes()
|
|
{
|
|
List<string> EditorScenes = new List<string>();
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|