前言

早早去公司上班,老大经常会叫我出一个demo的包,我就想起来可以配置一个打包工具,让他随时想要一个运行包就可以自己打包看效果,就想起来可以配置一个Jenkins打包环境。这样在同一个局域网内不需要Unity开发环境,就只要浏览器打开Jenkins然后点击打包即可。

准备工具

  • 准备Jenkins环境,可以选择去Jenkins官网下载,我这里准备了一个Jenkins的war包。

搭建步骤

  • 首要前提本地Unity已经安装好Unity Android的打包环境,确保能够正确的用Unity导出Android apk包,这里就不过多介绍Unity如何导出Android环境了,自行解决。
  • 命令行启动Jenkins,java -jar jenkins.war,会看到如下运行即代表启动成功,可以在浏览器输入http://localhost:8080/来测试,会看到进入Jenkins网站。

  • 构建项目


    注意windows路径和命令行的路径的转变,上图是Unity打包apk的批处理的路径,这个批处理如下图,并且要放到Unity的工程下。

    注意:如果批处理路径中不能带有空格,如果有空格的话可以加上双引号,确保这个批处理能够正确的导出apk,批处理代码如下,并且注意用utf8保存:
@echo offecho "Start build apk..."
C:\"Program Files"\Unity1748f1\Unity\Editor\Unity.exe -projectPath D:\study\gitoschina\jenkinsTest\HelloUnity -quit -batchmode -executeMethod PerformBuild.CommandLineBuildAndroid -logFile build.log
REM %1 -projectPath %2 -quit -batchmode -executeMethod APKBuild.Build -logFile build.logif not %errorlevel%==0 ( goto fail ) else ( goto success ):success
echo Build APK OK
goto end:fail
echo Build APK Fail
goto end:end
pause
  • 工程Editor目录下添加自动构建的代码
using UnityEditor;
using System.IO;
using System.Collections;
using UnityEngine;
using System.Collections.Generic;
class PerformBuild
{static string[] GetBuildScenes(){List<string> names = new List<string>();foreach (EditorBuildSettingsScene e in EditorBuildSettings.scenes){if (e == null)continue;if (e.enabled)names.Add(e.path);}return names.ToArray();}static string GetBuildPath(){string dirPath = Application.dataPath + "/../build/iPhone";if (!System.IO.Directory.Exists(dirPath)){System.IO.Directory.CreateDirectory(dirPath);}return dirPath;}[UnityEditor.MenuItem("Tools/PerformBuild/Test Command Line Build iPhone Step")]static void CommandLineBuild(){Debug.Log("Command line build\n------------------\n------------------");string[] scenes = GetBuildScenes();string path = GetBuildPath();if (scenes == null || scenes.Length == 0 || path == null)return;Debug.Log(string.Format("Path: \"{0}\"", path));for (int i = 0; i < scenes.Length; ++i){Debug.Log(string.Format("Scene[{0}]: \"{1}\"", i, scenes[i]));}Debug.Log("Starting Build!");BuildPipeline.BuildPlayer(scenes, path, BuildTarget.iOS, BuildOptions.None);}static string GetBuildPathAndroid(){string dirPath = Application.dataPath.Replace("/Assets", "") + "/../build/android/"+Application.productName+".apk";if (!System.IO.Directory.Exists(dirPath)){System.IO.Directory.CreateDirectory(dirPath);}return dirPath;}[UnityEditor.MenuItem("Tools/PerformBuild/Test Command Line Build Step Android")]static void CommandLineBuildAndroid(){Debug.Log("Command line build android version\n------------------\n------------------");string[] scenes = GetBuildScenes();string path = GetBuildPathAndroid();if (scenes == null || scenes.Length == 0 || path == null){Debug.LogError("Please add scene to buildsetting...");return;}Debug.Log(string.Format("Path: \"{0}\"", path));for (int i = 0; i < scenes.Length; ++i){Debug.Log(string.Format("Scene[{0}]: \"{1}\"", i, scenes[i]));}Debug.Log("Starting Android Build!");BuildPipeline.BuildPlayer(scenes, path, BuildTarget.Android, BuildOptions.None);}
}
  • 点击Jenkins构建
  • 本地生成apk

    更深入的配置可以参考以下链接,更多Jenkins插件和功能可以摸索研究。Mac中导出iOS配置后续添加或者想尝试的朋友参考文末雨凇的文章。

下载链接

  • https://gitee.com/dingxiaowei/JenkinsTest

参考

  • https://zh.wikipedia.org/wiki/Jenkins_(软件) Jenkins维基百科
  • https://jenkins.io/doc/ Jenkins官方使用文档
  • https://www.xuanyusong.com/archives/3349 宣雨凇的配置

后续

如果碰到问题欢迎留言讨论!

更多精品文章

Aladdin的博客

附加

后面还添加了邮件通知的配置也是蛮方便的。

如何搭建Jenkins导出Unity安卓环境相关推荐

  1. 搭建Jenkins实现自动化部署环境

    大家好,我是阿飞云 怕什么真理无穷,进一步有近一步的欢喜 ​ 本文是团队内小兄弟的学习笔记整理而来.看完本文大体了解为什么要使用Jenkins,部署Jenkins依赖的环境,以及如何用Jenkins进 ...

  2. Docker学习总结(13)——从零开始搭建Jenkins+Docker自动化集成环境

    分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索.第一.二部分只是对 ...

  3. Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境

    本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker ...

  4. Unity 安卓环境下保持设备屏幕唤醒

    我们都知道在游戏中都应该有保持屏幕唤醒这一功能,不然你的游戏在玩家的设备上难免会出现长时间不操作屏幕自动睡眠,这不论是对玩家而言是一大槽点,对游戏开发者而言也是一个低级错误. 我们知道,在androi ...

  5. UNITY与Mac⭐一、在苹果电脑上配置 Unity 安卓环境的教程

    文章目录

  6. 【转】unity开发android游戏(一)搭建Unity安卓开发环境

    http://blog.csdn.net/chenggong2dm/article/details/20654075 1,下载安装Java的JDK: http://www.oracle.com/tec ...

  7. unity开发android游戏(一)搭建Unity安卓开发环境

    1,下载安装Java的JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html (JDK中,包含JRE) 如果是6 ...

  8. 【安卓开发系列 -- 开发环境】Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具)

    [安卓开发系列 -- 开发环境]Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具) [1]Unbuntu ...

  9. unity打包安卓(anroid)APK及安卓环境设置

    打包APK:Unity部分下载安装及设置.电脑JDK下载安装及环境配置.安卓SDK安装及配置. 一.Unity部分下载安装及设置: 1.下载安装unity,各版本下载的官方网址:Unity官方下载_U ...

最新文章

  1. 思科PIX防火墙的实际应用配置
  2. 分享Hadoop处理大数据工具及优势
  3. UART0串口编程(四):UART0串口编程之在UC/OS—II中遭遇的危机
  4. Centos服务器常用安装指南
  5. 【Qt】Qt登录对话框(设计器实现)
  6. 最简单的卸载vrv方法_低端赤道仪粗对极轴最简单方法
  7. .NET Task揭秘(一)
  8. 网校系统推荐eduline_网校系统的各项功能的用处
  9. Mac文件共享不起作用时该怎么办
  10. RTX5 | 线程管理02 - 创建线程(动态堆栈方式)
  11. 业务场景下数据采集机制和策略
  12. 关于特殊的LCS问题的优化
  13. 服务器系统给U盘盘符,五大步骤解决U盘插入电脑盘符不显示问题
  14. Visual Studio 2019 16.4 发布,加入对 GitHub 的整合
  15. python可视化47|最常用5个排序(Ranking)关系图
  16. 【BZOJ4200】【LOJ2134】【NOI2015】小园丁与老司机(DP,有源汇上下界最小流)
  17. linux pcre路径,PCRE和Nginx安装问题
  18. 104Triangle Area三角面积
  19. evernote印象笔记导出的enex文件转换markdown文档
  20. php 邮件群发 http协议,邮件群发【超高的成功率/到达率、SMTP模式、支持HTTP协议】...

热门文章

  1. 酒美网CEO:线上线下向300万人卖红酒
  2. 网站SEO优化几个月才有效果?
  3. 嵌入式Linux下LCD应用编程: 调用giflib库解码显示GIF动态图
  4. 2022湖南最新消防设施操作员模拟试题题库及答案
  5. 普通的朋友,淡淡的生活
  6. adb基本操作之monkey基本操作入门准备-1
  7. srm软件非生产采购的解决方案
  8. 直播软件与微信小程序的测试点
  9. 簇大小与分区4k对齐的关系
  10. mybatis从入门到精通(刘增辉著)-读书笔记第五章