使用Jekins实现Unity打包apk(一)

1、下载一个Jenkins,直接去官网下就可以了;https://jenkins.io/

 

2、安装……

PS:有的浏览器 打开之后是英文,有的是中文(比如我用Edge打开就是中文,猎豹就是英文)。

这时候就需要下载一个插件。

Manage Jenkins-->Manage Plugins-->Available,在右上的搜索栏中输入local。

使用Jekins实现Unity打包apk(一)_第1张图片

打上勾安装。

之后再在Configure中的Default Language 中设置为zh_CN

使用Jekins实现Unity打包apk(一)_第2张图片

下面那个勾一定要打,之后Save就能 看到快乐的中文了。

参考:https://blog.csdn.net/haozhishang/article/details/79174595

 

3、之后 新建一个工程, 选这个;

 

4、之后 选择工程的配置,设置SVN地址;

使用Jekins实现Unity打包apk(一)_第3张图片

Repository URL:SVN迁出地址;

PS2:如果要指定SVN迁出版本,请在地址末尾跟上@+版本号(@10000 就是指定到10000的版本;)

Credentials :一个账户,用来获取SVN的权限用的;

Check-out Strategy :  更新的策略, 我选择的Use‘svn update’ as much aspossible,with‘svn revert’ before update

PS3:如果没有找到SVN的源代码管理,那么去下一个Subversion的插件即可;

PS4:这里的迁出地址是在Jenkins安装目录下的WrokSpace文件夹中,什么 都不写就在 项目名的子文件夹中(workspace/Test),

 

5、环境配置;

主要是Jar地址和AndroidSDK的地址,否则可能导致 出不了包。

比如Unity打包的时候提示不能 定位的SDK地址这种,虽然在编辑器下已经设置 了;

使用Jekins实现Unity打包apk(一)_第4张图片

使用Jekins实现Unity打包apk(一)_第5张图片

JDK在全局工具配置汇总,SDK在系统设置中;

当然配置SDK和JDK的路径前,主机本身需要配置好安卓和Java的环境,具体可以百度搜,有很多。

 

6、直接进行一次构建;

因为Jenkins会把你的东西放在workspace下面,所以第一次构建会从SVN上CheckOut一下。

第一次构建会把整个工程下下来。

之后用Unity打开一次这个工程(不知道是否有必要)。

如果项目大还伴随着长时间的平台切换时间……

 

7、写一个.bat批处理文件使之可以运行;

参考:https://blog.csdn.net/maomaoxiaohuo/article/details/51556749

我就是从这个抄的。

PS5:如果在写.bat文件的时候发现文件路径有空格,那么就用""把带空格的这一段框起来;

比如: C:/"dd  dd"/AA/"BB DD"/

 

8、写Jenkins的 命令;

在工程 里面的配置页面中,构建分栏中添加一个执行windows批处理命令;

这里的exit 0 只是为了保证Jekins指定命令出来之后不报错,都返回Sucess,没别的意思;

在写批处理文件时 要求打印处理日志, 这样就可以 看为什么失败之类的了。

 

9、这样再点一次立即构建,应该就可以打出.apk的包了。

 

10、如果成功打出apk包了,在配置中把Lcalhost:8080什么的改成 ip:8080,然后把你的 账号密码分享和小伙伴就可以使用 了!

 

 

报错收集:

1、Unable to locate Android SDK

找不到Android SDK 参考第5条;

 

2、Error building player because script class layout is incompatible between the editor and the player

如果用Jenkins启动并不会中断但是直接运行.bat则会中断导致打包失败。

神奇!

但是过了个周末回来又没有 这个问题了, 一切又正常了,更神奇了!

 

3、PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, ScriptingImplementation.IL2CPP);

这个是个大坑。

我的版本是5.6.6f2,用了这一行,也就是用IL2CPP打包之后会导致apk包消失,  非常神奇。

BuildReport都出来了,但是Apk不见了,查Log也看不出异常。

不过这个仅限于jenkins打包的情况,直接运行.bat文件则毫无问题……

 

4、d3d11: failed to create swap chain [0x887a0022]       Crash!!!

在设置为不使用命令行 打包的情况下报错,需要在.bat文件中加-batchmode;

当然,如果直接运行.bat并不会有这个问题。

也可以在打开编辑器的 情况下 进行打包,参考另一个攻略:https://blog.csdn.net/cyf649669121/article/details/81315558

 

 

5、Build step '执行 Windows 批处理命令' marked build as failure

 需要在调用.bat文件那一行前加call ; 如: Call xxx/Build.bat

 

 

 

 

 

你可能感兴趣的:(Unity)