jenkins打包unity的apk

2 篇文章 0 订阅

https://developer.android.google.cn/studio/intro/update?hl=en
https://blog.csdn.net/qq_39860954 SDK Tools version 0.0.0 < 26.1.1
https://android-sdk-tools.en.lo4d.com/download sdk下载

本文遇到如下的坑:
1、双击bat或者sh能生成apk文件,单独在unity里打包apk也是可的,但是集成到jenkins下面就死活出不来apk文件。
2、找不到sdk tools,一直包版本太低
3、gradle生成报错

具体配置如下:
1、安装jekins,参考https://blog.csdn.net/wodownload2/article/details/107737104
2、安装unity,这里很简单,但是有几个注意点:
在这里插入图片描述
确保这个模块安装了,如果为安装,则选择进行安装。
我首先讲解的是,如何使用unity内置的android sdk,以及jdk来进行打包的,后面会单独下载sdk进行打包。也分别记录各自的注意点。

3、配置unity的环境
在这里插入图片描述
这几个如果我们成功安装了上面的sdk模块的话,然后全部勾选。这就表明使用unity内置安装的skd、jdk、ndk了。

4、编写打包代码

public class BuilderApk : Editor
{
    [MenuItem("BuildApk/BuildMyAndroidApk")]
    public static void BuildMyAndroidApk()
    {
        string outputPath = "D:\\exe\\xx.apk";           //输出的安装包路径目录
        BuildOptions buildOption = BuildOptions.None;
        outputPath = outputPath.Replace('\\', '/');
        BuildPipeline.BuildPlayer(GetBuildScenes(), outputPath, BuildTarget.Android, buildOption);
    }

    static string[] GetBuildScenes()
    {
        List<string> pathList = new List<string>();
        foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes)
        {
            if (scene.enabled)
            {
                pathList.Add(scene.path);
            }
        }
        return pathList.ToArray();
    }
}

5、测试是否可以在编辑下代码
在这里插入图片描述

ok,生成成功了,这里不会报错。

6、下面是在jenkins下集成喽,sh文件如下:

#!/bin/sh
# unity app path
UNITY_PATH="C:\Program Files\Unity\Hub\Editor\2019.2.1f1\Editor\Unity.exe"
# project path
PROJ_PATH="D:\OGL\KeyboadHeightDemo"
UNITY_LOG_PATH="D:\exe\BatunityApk_log.txt"
 
echo "============== Unity Build APK Begin =============="
"$UNITY_PATH" -projectPath $PROJ_PATH -executeMethod BuilderApk.BuildMyAndroidApk -logFile $UNITY_LOG_PATH -batchMode -quit
 
echo "============== Unity Build APK Finish =============="
exec /bin/bash 

7、配置jekins
“C:\Program Files\Git\bin\sh.exe” “D:\exe\apk.sh”
在这里插入图片描述

此时不出意外,是打不出apk文件的。
具体出错可以参考log文件:
在这里插入图片描述

这个dameon启动失败的可以参考:
https://www.thetopsites.net/article/58557335.shtml
解决方法:

Change
  classpath 'com.android.tools.build:gradle:3.4'
to
  classpath 'com.android.tools.build:gradle:3.3.2'

找到unity内置安装模块:
在这里插入图片描述
这个要先把libTemplate.gradle拷贝出来,然后改成3.3.2之后,在拷贝回去,才行。
试下,看看行不行:
会发现还是不行,我们再打开mainTemplate.gradle,将其改为:
在这里插入图片描述
再试下:
在这里插入图片描述
发现ok了。

至此,我们介绍如何使用unity内置安装的sdk完成了打包apk文件了。

下面介绍如何使用自己下载的sdk进行打包:
1、收下安装androud studio
2、然后在设置中下载sdk
在这里插入图片描述
在这里插入图片描述
这是我们已经下载的sdk了,
下面是sdk tools:
在这里插入图片描述
说明下,这里的sdk tools,如果使用的是直接下载的,那么会出现:SDK Tools version 0.0.0 < 26.1.1
的错误,而我的思路是,既然内置的可以,那么不防不内置的tools拷贝到自己下载的目录下即可,具体操作:
在这里插入图片描述
ok,这样在android studio中可以看到这个26.1.1的是按照状态,并且不会标记是过时的。
下面是在unity中设置,使用自己的sdk:
在这里插入图片描述
在这里插入图片描述

首先测试下载unity编辑器下能否打包成功,测试是成功的。

然后我么使用jenkins再试试,注意关闭unity哦。同样测试是可以的。

至此我们在jekins下打包apk成功完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值