Jenkins 打包Unity APK
新建一个Unity 工程,添加编辑器打包脚本
编辑器脚本 APKBuild.cs
编辑状态下调用 APKBuild中 Build 方法,执行打包,
测试成功开始编写 批处理脚本 Unity.bat 通过批处理脚本调用 APKBuild中 Build 方法 执行打包
执行批处理打包成功开始在Jenkins新建项目
APKBuild.cs 代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class APKBuild : Editor
{
[MenuItem("Tool/APKBuild")]
public static void Build()
{
BuildTarget buildTarget = BuildTarget.Android;
// 切换到 Android 平台
EditorUserBuildSettings.SwitchActiveBuildTarget(buildTarget);
// keystore 路径, G:\keystore\one.keystore
PlayerSettings.Android.keystoreName = "G:\\keystore\\one.keystore";
// one.keystore 密码
PlayerSettings.Android.keystorePass = "123456";
// one.keystore 别名
PlayerSettings.Android.keyaliasName = "bieming1";
// 别名密码
PlayerSettings.Android.keyaliasPass = "123456";
List<string> levels = new List<string>();
foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes)
{
if (!scene.enabled) continue;
// 获取有效的 Scene
levels.Add(scene.path);
}
// 打包出 APK 名
string apkName = string.Format("./{0}.apk", "Test");
// 执行打包
string res = BuildPipeline.BuildPlayer(levels.ToArray(), apkName, buildTarget, BuildOptions.None);
AssetDatabase.Refresh();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
在编辑器下可以调用 Build() 方法执行打包 APK
新建批处理脚本 Unity.bat
H:\Unity\Unity\Editor\Unity.exe -projectPath G:\MyProject\AndroidSDKUnityDemo\AndroidSDKDemo -quit -batchmode -executeMethod APKBuild.Build -logFile build.log
- 1