Unity的项目手动打包确实很痛苦,得慢慢等着,好无聊,能自动化脚本打包什么的最好了,闲话不多说直接上脚本。

`

    windows的bat脚本echo offset companyName="公司名字"set productName="游戏名字"set platform=0        //这个是平台编号set outPath="打包输出路径 例如:E:\1\build"set arg0="参数1,谁便定义吧"set icon="游戏图标路径,例如:E:\2\icon.png"set assetresource="游戏的Resources目录,例如:E:\1\game\Assets\Resources"set font="E:\2\data\resource\font\simkai.ttf"xcopy %icon%   %assetresource%  /Yxcopy %font%   %assetresource%  /Yecho "packaging......"start /wait D:\unity5.3\Unity\Editor\Unity.exe  -quit  -batchmode   -projectPath "E:\1\game"  -executeMethod ProjectBuild.BuildPackage  %companyName%  %productName% %platform% %outPath%  %arg0%echo "build package done"pause

`

C#代码

 `public class ProjectBuild : Editor {private static string[] s;static void BuildPackage(){s = System.Environment.GetCommandLineArgs();var target = s[s.Length - 3];if (target.Equals("0")) //windows{BuildForStandaloneWindows();}else if (target.Equals("1")) //android{BuildForAndroid();}else if (target.Equals("2"))  //ios{BuildForIOS();}//其他平台自己看着写就行 s = null;}static void BuildForAndroid(){string[] levels = {"Assets/Scenes/1.unity"};string path= GetExportPath(BuildTarget.Android);BuildPipeline.BuildPlayer(levels, path, BuildTarget.Android, BuildOptions.None);}static void BuildForIOS(){string[] levels = { "Assets/Scenes/1.unity" };string path = GetExportPath(BuildTarget.iOS);BuildPipeline.BuildPlayer(levels, path, BuildTarget.iOS, BuildOptions.None);}[MenuItem("a/b")]static void BuildForStandaloneWindows(){string[] levels = { "Assets/Scenes/1.unity" };string path = GetExportPath(BuildTarget.StandaloneWindows);PlayerSettings.defaultIsFullScreen = false;PlayerSettings.companyName = companyName;PlayerSettings.productName = productName;PlayerSettings.resizableWindow = false;PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;var tx = Resources.Load<Texture2D>("icon");Texture2D[] txs = { tx, tx, tx, tx, tx, tx, tx,};var lengt = PlayerSettings.GetIconsForTargetGroup(BuildTargetGroup.Standalone);if(txs!=null)PlayerSettings.SetIconsForTargetGroup(BuildTargetGroup.Standalone, txs);var st= BuildPipeline.BuildPlayer(levels,path, BuildTarget.StandaloneWindows, BuildOptions.None);}private static string GetExportPath(BuildTarget target){//var s = System.Environment.GetCommandLineArgs();string path = s[s.Length - 2];string name = string.Empty;if (target == BuildTarget.Android){name = "/" + s[s.Length - 1] + ".apk";}else if (target == BuildTarget.iOS){name = "/" + s[s.Length - 1];}else if (target == BuildTarget.StandaloneWindows){name = "/" + s[s.Length - 1] + ".exe";}UnityEngine.Debug.Log(path);UnityEngine.Debug.Log(name);string exepath = @path + name;UnityEngine.Debug.Log(exepath);return exepath;}private static string companyName{get {return s[s.Length - 5];}}private static string productName {get {return s[s.Length - 4];}}}`

看到这儿你可能会问bat脚本在其他系统怎么破,额,额,额,好尴尬,那就来个python版本的吧,如下:

`#!/user/bin/python#coding=utf-8import subprocessimport shutilimport osUNITYPATH="D:/unity5.3/Unity/Editor/Unity.exe"MAPPROJECT="E:1/game"companyName="公司名字"productName="游戏名字"platform="0"outPath="E:/1/game/build"arg0="参数谁便定义"icon="E:/1/icon.png"assetresource="E:/1/game/Assets/Resources"font="E:/data/font/simkai.ttf"print "package start......"shutil.copy(icon,assetresource)print "复制"+icon+"到 "+assetresourceshutil.copy(font,assetresource)print "复制"+font+"到"+assetresourceprint "packing......"subprocess.call(UNITYPATH+" -quit "+" -batchmode "+" -projectPath "+MAPPROJECT+" -executeMethod  ProjectBuild.BuildPackage "+companyName+" "+productName+" "+platform+" "+outPath+" "+arg0)print "build package done"
`

好了python的也写完了,你还可以翻译成其他版本的,不懂的地方欢迎留言交流。

Unity自动化打包脚本相关推荐

  1. Unity:自动化打包脚本

    Unity的项目手动打包确实很痛苦,得慢慢等着,好无聊,能自动化脚本打包什么的最好了,闲话不多说直接上脚本. ` windows的bat脚本echo offset companyName=" ...

  2. Unity自动化打包脚本设置

    代码如下: using UnityEditor; using UnityEngine;public class PackageTools {[MenuItem("Tools/PerformB ...

  3. Unity 自动化打包XCode工程

    Unity 自动化打包XCode工程 每次打包都要手动修改Xcode的各种配置,于是研究了一下通过Unity提供的API设置XCode的各种配置 XCode签名 在我使用的Unity版本中(Unity ...

  4. unity自动化生成脚本工具

    游戏开发中有很多要重复写的代码,尤其是UI面板.所以我们可以写一个编辑器扩展自动生成脚本提高开发效率.逻辑不难代码也不算长,根据注释捋一下逻辑就可以轻松使用啦. 使用方法: 选中Project面板下的 ...

  5. python123app_Python实现iOS APP 自动化打包

    一 各种打包方法简介: Xcode 打包: XCode -- > Product --> Archive 常规打包方式,需要提前配置好签名信息. 2.提取工程目录Products下的.ap ...

  6. ios自动化打包 替换icon 启动图 bid appname 额外资源

    ios自动化打包脚本 下载地址https://github.com/gwh111/package 打开后自行替换 icon 启动图 bid appname 额外资源 原理:最新的脚本还是一个个替换后再 ...

  7. xcodebuild自动打包+脚本使用

    1.xcodebuild 简介 在终端中输入man xcodebuild 查看其 man page介绍 NAME xcodebuild – build Xcode projects and works ...

  8. TeamCity自动化打包Unity项目

    TeamCity是 JetBrains旗下的一款持续集成(Continuous Integration,简称CI)工具,开箱即用. 下载链接 https://www.jetbrains.com/tea ...

  9. 【游戏开发进阶】教你Unity通过Jenkins实现自动化打包,打包这种事情就交给策划了(保姆级教程 | 命令行打包 | 自动构建)

    文章目录 一.前言 二.Jenkins简介 三.Jenkins的下载与安装 1.JDK下载与安装 2.Jenkins下载 3.Jenkins安装 4.Jenkins初始化 四.Jenkins的基本操作 ...

最新文章

  1. 机器学习模型 知乎_机器学习:模型评估之评估方法
  2. Facebook如何向十亿人推荐东西
  3. Android studio断开svn连接
  4. ML之LiR之PLiR:惩罚线性回归PLiR算法简介、分类、代码实现之详细攻略
  5. pycharm 调试程序时如何监控、监视变量?
  6. chart.js 饼图显示百分比_Python怎么画饼图?Matplotlib数据可视化004:饼图
  7. 桥接路由器总是掉线_光猫集成了路由功能,路由器的路由功能会多余吗?
  8. Vue.js项目新建及目录结构分析
  9. 【十三单元】 软件安装 yum源配置
  10. nginx proxy_pass末尾神奇的/
  11. gradle spring_用于Spring应用程序的Gradle原型
  12. 《鸿蒙理论知识03》HarmonyOS概述之系统安全
  13. 计算机英语bane,英语单词bane是什么意思,英文单词查询bane,在线单词bane翻译...
  14. SQL Server存储过程中使用表值作为输入参数示例
  15. 汇编重要知识点:地址编号和数据编号
  16. Android LinkedList的部分源码解析
  17. app下载获取邀请码php,PHP根据id生成邀请码
  18. 【老生谈算法】matlab实现演化博弈算法源码——演化博弈
  19. 我的移动开发春季历程,大厂面试题汇总
  20. 计算机的开机自检是在 里完成的,计算机的开机自检是在里完成的

热门文章

  1. FreeRTOS信号量 基于STM32
  2. Mac 你没有权限打开该应用
  3. Linux多人聊天室之后篇
  4. UVM TLM之analysis_port的write函数
  5. 调节阀的结构原理你知道多少呢
  6. python 互相关的实现
  7. 菜鸟渗透日记30---python渗透测试编程之信息收集2-端口扫描
  8. 1 跟李沐老师学习深度学习(介绍监督【分类回归】、非监督【聚类】)
  9. Structured Streaming使用staticDf和StreamingDf进行join
  10. 类之间的关系:依赖、泛化、实现、关联、聚合、组合