Unity一键打包为APK文件(windows平台)

网上关于一键打包的资料多不胜数,这篇文章只是本人的一个归纳总结,希望能让新人们少走点弯路。

前一篇文章介绍了如何在windows下用批处理调用Unity方法,看这篇文章前请先看一下它。


工作流程:

1. 从Unity导出Android项目(批处理调用unity实现)

2. Andriod项目更新(批处理调用AndroidSDK实现)

3. 添加keystore文件到项目文件夹

4. 打包为APK(批处理调用ant实现)

准备工作1:

环境:windows平台(本人使用win10)

工具:Unity(本人使用Unity5.3.4)、JDK、AndroidSDK、Apache-Ant(ant打包工具)。

工具备注:后面3个工具请自行下载安装并需要配置环境变量(重要),网上资料很多此处不再赘述。

准备工作2:

1. 准备一个Unity项目,Build Setting设置好,然后添加下面的脚本到Editor目录下:

using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;

public class Builder : Editor
{
	static public void Build()
	{
		string outputPath = Application.dataPath.Substring(0, Application.dataPath.Length - "Assets".Length) + "_Out/";
		BuildOptions buildOption = BuildOptions.AcceptExternalModificationsToPlayer;
		string[] ss = System.Environment.GetCommandLineArgs();
		for (int i = 0; i < ss.Length; i++)
		{
			if (ss[i] == "-outputPath")
			{
				outputPath = ss[i + 1];
			}
		}
		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();
	}
}

2. 创建一个build.bat文件,写入如下内容并自行修改set部分的内容,顺便说一下%cd%是bat文件所在路径

@echo off

set BUILD_BAT_PATH=%cd%
set UNITY_PATH=C:\Unity\Editor\Unity.exe
set UNITY_PROJECT_NAME=BuildTest
set UNITY_PROJECT_PATH=D:\Projects\BuildTest
set EXPORT_PROJECT_PATH=%cd%\Project
set EXTRA_PROJECT_DATA=%cd%\data
set UNITY_METHOD_NAME=Builder.Build
set UNITY_LOG_PATH=%cd%\unity_log.txt

echo 步骤1:清理文件夹
if exist %EXPORT_PROJECT_PATH% ( rd /s /q %EXPORT_PROJECT_PATH% )
rem md %EXPORT_PROJECT_PATH%

if not %errorlevel%==0 ( goto fail)

echo 步骤2:调用UNITY 打包
%UNITY_PATH% -quit -batchmode -logFile %UNITY_LOG_PATH% -projectPath %UNITY_PROJECT_PATH% -executeMethod %UNITY_METHOD_NAME% -outputPath %EXPORT_PROJECT_PATH%

if not %errorlevel%==0 ( goto fail ) else ( goto success )

echo 步骤3:Android项目Update
call android update project --name %UNITY_PROJECT_NAME% --path %EXPORT_PROJECT_PATH%\%UNITY_PROJECT_NAME%

if not %errorlevel%==0 ( goto fail)

echo.
echo 步骤4:导入额外文件
xcopy /s %EXTRA_PROJECT_DATA% %EXPORT_PROJECT_PATH%\%UNITY_PROJECT_NAME% /y

if not %errorlevel%==0 ( goto fail)

echo.
echo 步骤5:Build安卓项目
cd /d %EXPORT_PROJECT_PATH%\%UNITY_PROJECT_NAME%
call ant release

if not %errorlevel%==0 ( goto fail)

:success
echo 打包成功
goto end

:fail
echo 打包失败
goto end

:end
pause

2. 准备一个keystore文件,创建方法请百度,然后起名如xxx.keystore这样

3. 创建一个文本文件,写入如下内容并改名为ant.properties,内容依据你创建的keystore文件而定

key.store=xxx.keystore
key.alias=xxxx
key.store.password=xxxxxx
key.alias.password=xxxxxx
4. 把上面2个文件放到一个起名为data的文件夹下,data文件夹请和build.bat放在一起。

到这里,我们的准备工作就完成了。赶紧运行一下build.bat吧,大功告成!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值