XLua官方Examples 13_BuildFromCLI 使用命令行打包

1.配置build.bat文件

 

注意要有output文件夹,没有要新建

@echo off
echo =======================================================
echo 说明:本示例示范从命令行调用Unity自动化构建。
echo       C#源码参考BuildFromCLI.cs
echo.
echo 注意1:修改本文件的相关路径:
echo        UNITY_PATH:unity.exe的完整路径
echo        PROJECT_PATH:工程根目录的完整路径
echo        LOG_PATH:构建日志完整路径
echo 注意2:执行请先关闭Unity
echo =======================================================

set UNITY_PATH="D:\Program Files\Unity2017.4.34f1\Editor\Unity.exe"
set PROJECT_PATH="E:\UnityTest\LuaProject\xlua 2.15"
set LOG_PATH="E:\UnityTest\LuaProject\xlua 2.15\output\log.txt"

echo start...

rem 确保日志目录存在
for %%a in (%LOG_PATH%) do (
    set log_root=%%~dpa
)    
if not exist %log_root% mkdir %log_root%

%UNITY_PATH% -batchmode -quit -projectPath %PROJECT_PATH% -logFile %LOG_PATH% -executeMethod XLuaTest.BuildFromCLI.Build

echo done.
pause

2.C# BuildFromCLI

这个文件要放在Editor下面

using System;
using UnityEditor;
using UnityEngine;
using CSObjectWrapEditor;
using XLua;

namespace XLuaTest
{
    public static class BuildFromCLI
    {
        /// <summary>
        /// 此方法通过Unity菜单调用。
        /// </summary>
        [MenuItem("XLua/Examples/13_BuildFromCLI")]
        public static void BuildFromUnityMenu()
        {
            var outputDir = Application.dataPath.Substring(0, Application.dataPath.Length - "/Assets".Length) + "/output";
            var packageName = "xLuaGame.exe";
            build(outputDir, packageName);
        }

        /// <summary>
        /// 此方法通过命令行调用。
        /// </summary>
        public static void Build()
        {
            var outputDir = Application.dataPath.Substring(0, Application.dataPath.Length - "/Assets".Length) + "/output";
            var packageName = "xLuaGame.exe";
            build(outputDir, packageName);
        }

        private static void build(string outputDir, string packageName)
        {
            Debug.Log("构建开始:输出目录 " + outputDir);
            DelegateBridge.Gen_Flag = true;
            Generator.ClearAll();
            Generator.GenAll();

            var levels = new string[0];
            var locationPathName = string.Format("{0}/{1}", outputDir, packageName);
            var target = BuildTarget.StandaloneWindows64;
            var options = BuildOptions.None;
            BuildPipeline.BuildPlayer(levels, locationPathName, target, options);
            Debug.Log("构建完成");
        }
    }
}

 

3.打包测试

打包成功

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jack Yan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值