Unity命令行打包

作者:追风剑情 发布于:2014-12-27 10:30 分类:Unity3d

一、在Assets\Editor目录下放个脚本


  1. using UnityEngine;
  2. using UnityEditor;
  3. using System;
  4. using System.IO;
  5. using System.Collections.Generic;
  6.  
  7. /// <summary>
  8. /// 命令行批处理工具类
  9. /// </summary>
  10. public class Batchmode {
  11.  
  12. static List<string> levels = new List<string>();
  13. static string keystoreFile = @"D:\keystore.txt";
  14.  
  15. public static void BuildAndroid() {
  16. //System.Environment.GetCommandLineArgs()//获取命令行参数
  17. if(!File.Exists(keystoreFile))
  18. throw new Exception("Not find keystore file");
  19.  
  20. StreamReader sr = File.OpenText(keystoreFile);
  21. string password = sr.ReadToEnd().Trim();
  22.  
  23. PlayerSettings.Android.keystorePass = password;
  24. PlayerSettings.Android.keyaliasPass = password;
  25.  
  26. foreach ( EditorBuildSettingsScene scene in EditorBuildSettings.scenes ) {
  27. if ( !scene.enabled ) continue;
  28. levels.Add( scene.path );
  29. }
  30. EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.Android);
  31. string res = BuildPipeline.BuildPlayer( levels.ToArray(), "android.apk", BuildTarget.Android, BuildOptions.None );
  32. if (res.Length > 0)
  33. throw new Exception("BuildPlayer failure: " + res);
  34. }
  35. }


二、写个批处理(路径改成自己的工程路径)


  1. @echo off
  2. @set unity="C:\Program Files\Unity\Editor\Unity.exe"
  3. echo 正在生成APK文件...
  4. %unity% -batchmode -quit -nographics -executeMethod Batchmode.BuildAndroid -logFile D:\Editor.log -projectPath "D:\China\2014-11-12_client_wushen_android"
  5. echo APK文件生成完毕!
  6. pause



标签: Unity3d

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号