70 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
using UnityEngine;
 | 
						||
using UnityEditor;
 | 
						||
using System.IO;
 | 
						||
using System;
 | 
						||
//using System.Diagnostics;
 | 
						||
/// <summary>
 | 
						||
/// 安卓打包(接口都由python外部通过cmd命令调用)
 | 
						||
/// </summary>
 | 
						||
public class CommandBuilder : EditorWindow
 | 
						||
{
 | 
						||
 | 
						||
    public static void BuildData()
 | 
						||
    {        
 | 
						||
        GameEditor.Core.DataConfig.ConfigExportWindow.PyCallBuildData();
 | 
						||
    }
 | 
						||
    //打包资源和热更代码    
 | 
						||
    public static void BuildAssets()
 | 
						||
    {               
 | 
						||
        //打包游戏
 | 
						||
        GameEditor.FrameTool.FrameTool.BuildGameAssetBundles();
 | 
						||
        //拷贝AssetBundle到流媒体目录
 | 
						||
        GameEditor.FrameTool.FrameTool.CopyAssetBundleToStreamingAssets();
 | 
						||
        //刷新资源配置
 | 
						||
        GameEditor.ResourcesPathEditor.CreateResourcePathConfig();
 | 
						||
    }
 | 
						||
   
 | 
						||
    public static void BuildAS()
 | 
						||
    {
 | 
						||
        string[] s = System.Environment.GetCommandLineArgs();//获取命令行参数        
 | 
						||
        //----------设置config文件-----------------
 | 
						||
        
 | 
						||
        int index = s.Length - 1;
 | 
						||
        string str = s[index];
 | 
						||
        string[]arr = str.Split('#');
 | 
						||
        string targetPath = Application.dataPath + "/Resources/version.txt";
 | 
						||
        string _str = System.Environment.CurrentDirectory.Replace('\\', '/');
 | 
						||
        string copyPath = _str + "/AssetBundles/" + arr[0];
 | 
						||
        if (File.Exists(targetPath))
 | 
						||
        {
 | 
						||
            File.Delete(targetPath);
 | 
						||
        }
 | 
						||
        File.Copy(copyPath, targetPath, true);
 | 
						||
        //----------设置打包场景准备导出android-----------------        
 | 
						||
        PlayerSettings.productName = "ex_android_jl";
 | 
						||
        //设置是否导出obb
 | 
						||
        PlayerSettings.Android.useAPKExpansionFiles = arr[2] == "1";
 | 
						||
       
 | 
						||
        string outPath = "D:/exAndroid/unity_ex_as";
 | 
						||
        if (Directory.Exists(outPath + "/ex_android_jl"))
 | 
						||
        {
 | 
						||
            Directory.Delete(outPath + "/ex_android_jl/", true);
 | 
						||
        }
 | 
						||
        EditorUserBuildSettings.exportAsGoogleAndroidProject = true;
 | 
						||
        // 设置需要打包的场景
 | 
						||
        string launchScene = arr[1];
 | 
						||
        Debug.Log("打包场景:" + launchScene);
 | 
						||
        BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
 | 
						||
        buildPlayerOptions.locationPathName = outPath;
 | 
						||
        buildPlayerOptions.options = BuildOptions.None;
 | 
						||
        buildPlayerOptions.options |= BuildOptions.AcceptExternalModificationsToPlayer;
 | 
						||
        buildPlayerOptions.scenes = new[] { launchScene };
 | 
						||
        buildPlayerOptions.target = BuildTarget.Android;
 | 
						||
        // 调用开始打包   
 | 
						||
        BuildPipeline.BuildPlayer(buildPlayerOptions);
 | 
						||
 | 
						||
    }
 | 
						||
 | 
						||
   
 | 
						||
}
 |