http://www.66acg.com/?post=137
补充
unity编辑器端获取打包命令行自定义参数,这个可以获取到所有打包时的参数
string[] runArgs = System.Environment.GetCommandLineArgs();
一、在AssetsEditor目录下放个脚本
using UnityEngine; using UnityEditor; using System; using System.IO; using System.Collections.Generic; /// <summary> /// 命令行批处理工具类 /// </summary> public class Batchmode { static List<string> levels = new List<string>(); static string keystoreFile = @"D:keystore.txt"; public static void BuildAndroid() { if(!File.Exists(keystoreFile)) throw new Exception("Not find keystore file"); StreamReader sr = File.OpenText(keystoreFile); string password = sr.ReadToEnd().Trim(); PlayerSettings.Android.keystorePass = password; PlayerSettings.Android.keyaliasPass = password; foreach ( EditorBuildSettingsScene scene in EditorBuildSettings.scenes ) { if ( !scene.enabled ) continue; levels.Add( scene.path ); } EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.Android); string res = BuildPipeline.BuildPlayer( levels.ToArray(), "android.apk", BuildTarget.Android, BuildOptions.None ); if (res.Length > 0) throw new Exception("BuildPlayer failure: " + res); } }
二、写个批处理(路径改成自己的工程路径)
@echo off @set unity="C:Program FilesUnityEditorUnity.exe" echo 正在生成APK文件... %unity% -batchmode -quit -nographics -executeMethod Batchmode.BuildAndroid -logFile D:Editor.log -projectPath "D:China2014-11-12_client_wushen_android" echo APK文件生成完毕! pause