Unity:如何通过命令行取消Player BuildSettings中AAB相关勾选
解决Unity命令行构建后取消Play Store AAB复选框的问题
Unity命令行构建AAB后,「Build App Bundle (Google Play)」的复选框会保持勾选状态,而且这个设置没被Git跟踪,没法用git reset --hard恢复?直接用命令行调用编辑器脚本就能搞定:
- 在项目的
Editor文件夹下新建一个C#脚本(没有Editor文件夹就自己创建),比如命名为BuildSettingsToggle.cs,代码如下:
using UnityEditor; public static class BuildSettingsToggle { public static void DisableAABBuild() { // 取消勾选AAB构建选项 PlayerSettings.Android.buildAppBundle = false; // 保存设置变更 PlayerSettings.Save(); // 可选:确保切回APK构建的目标配置 EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Android, BuildTarget.Android); } }
- 用命令行执行这个方法,就能自动取消勾选:
Unity -quit -batchmode -projectPath "你的项目绝对路径" -executeMethod BuildSettingsToggle.DisableAABBuild
参数说明:
-quit:执行完自动退出Unity编辑器-batchmode:无头模式运行,适合命令行场景-executeMethod:指定要运行的静态编辑器方法
- 要是你需要在构建非Play Store包前自动执行取消操作,可以把两个命令串起来。比如Windows批处理:
@echo off :: 先取消AAB勾选 Unity -quit -batchmode -projectPath "D:\YourUnityProject" -executeMethod BuildSettingsToggle.DisableAABBuild :: 再构建APK Unity -quit -batchmode -projectPath "D:\YourUnityProject" -buildTarget Android -buildPath "D:\Builds\ReleaseAPK" -buildAndroidAPK
Linux/macOS的shell脚本类似:
#!/bin/bash # 取消AAB勾选 Unity -quit -batchmode -projectPath "/path/to/your/project" -executeMethod BuildSettingsToggle.DisableAABBuild # 构建APK Unity -quit -batchmode -projectPath "/path/to/your/project" -buildTarget Android -buildPath "/path/to/build/output" -buildAndroidAPK
原理就是通过Unity的命令行API直接修改PlayerSettings里的AAB开关并保存设置,不管之前的勾选状态是什么,执行后都会强制取消。
内容的提问来源于stack exchange,提问作者mcExchange
相关产品推荐
相关产品推荐

