Unity3D在后台打包的方法

来源:互联网 发布:网络监控摄像机 编辑:程序博客网 时间:2024/04/29 21:50
using UnityEngine;using System.Collections;using System.Collections.Generic;using System.IO;using System;using UnityEditor;public class commonBuild : MonoBehaviour {// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {}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, BuildTarget build_target, BuildOptions build_options){   EditorUserBuildSettings.SwitchActiveBuildTarget(build_target);string res = BuildPipeline.BuildPlayer(scenes,target_dir,build_target,build_options);if (res.Length > 0) {throw new Exception("BuildPlayer failure: " + res);}}static string[] Scences = FindEnabledEditorScenes();//commonBuild.BulidTarget("xxx","Android","com.rk.hyrpj","1.0");static void BulidTarget(string name,string target,string bundleIdentifier,string bundleVersion)   //1 ApkName 2 Target 3 com.xxx.xxx 4 1.0{string app_name = name;string target_dir = Application.dataPath + "/TargetAndroid";string target_name = app_name + ".apk";BuildTargetGroup targetGroup = BuildTargetGroup.Android;BuildTarget buildTarget = BuildTarget.Android;string applicationPath = Application.dataPath.Replace("/Assets","");if(target == "Android"){target_dir = applicationPath + "/TargetAndroid";target_name = app_name + ".apk";targetGroup = BuildTargetGroup.Android;}if(target == "IOS"){target_dir = applicationPath + "/TargetIOS";target_name = app_name;targetGroup = BuildTargetGroup.iOS;buildTarget = BuildTarget.iOS;}//每次build删除之前的残留if(Directory.Exists(target_dir)) {if (File.Exists(target_name)){File.Delete(target_name);}}else{Directory.CreateDirectory(target_dir); }PlayerSettings.bundleIdentifier = "com.rk.hyrpj";PlayerSettings.bundleVersion = "1.0";GenericBuild(Scences, target_dir + "/" + target_name, buildTarget,BuildOptions.None);}//     /Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode -executeMethod commonBuild.buildToAndroidpublic static void buildToAndroid(){BulidTarget("xxx","Android","com.rk.hyrpj","1.0");}//      /Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode -executeMethod commonBuild.buildToIospublic static void buildToIos(){BulidTarget("xxx","IOS","com.rk.hyrpj","1.0");} }
直接打开中断输入指令即可完成打包
0 0
原创粉丝点击