如何在Unity安卓构建中配置自定义Gradle构建标识gradle build --scan
在Unity安卓构建中自动执行
gradle build --scan的方案 方法1:通过构建后脚本自动触发扫描
创建一个Editor脚本(放在Assets/Editor目录下),让Unity完成安卓项目导出后自动执行Gradle扫描命令:
using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; using System.Diagnostics; public class GradleScanPostBuild : IPostprocessBuildWithReport { public int callbackOrder => 10; public void OnPostprocessBuild(BuildReport report) { if (report.summary.platform != BuildTarget.Android) return; string projectPath = report.summary.outputPath; ProcessStartInfo startInfo = new ProcessStartInfo { FileName = "gradlew", Arguments = "build --scan --scan-terms-of-service-agree yes", WorkingDirectory = projectPath, RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false, CreateNoWindow = true }; #if UNITY_EDITOR_WIN startInfo.FileName = "gradlew.bat"; #endif using (Process process = Process.Start(startInfo)) { process.WaitForExit(); UnityEngine.Debug.Log(process.StandardOutput.ReadToEnd()); if (process.ExitCode != 0) { UnityEngine.Debug.LogError("Gradle scan failed: " + process.StandardError.ReadToEnd()); } } } }
- 脚本会自动匹配Windows/macOS/Linux的gradlew命令
--scan-terms-of-service-agree yes参数直接同意服务条款,避免交互
方法2:修改Gradle模板,自定义带扫描的构建任务
- 打开Unity,进入
Edit > Project Settings > Player > Android > Publishing Settings,勾选Custom Gradle Template,生成Assets/Plugins/Android/mainTemplate.gradle - 打开该文件,在末尾添加自定义任务:
task buildWithScan(type: GradleBuild) { tasks = ['assembleRelease'] // 可替换为你需要的构建任务,比如assembleDebug startParameter.apply { setBuildScan(true) buildScanTermsOfServiceUrl = 'https://gradle.com/terms-of-service' buildScanTermsOfServiceAgree = 'yes' } }
- 在Jenkins的Unity构建命令中,添加
-gradleTask buildWithScan参数,让Unity直接调用这个带扫描的任务:
Unity -batchmode -quit -executeMethod UnityEditor.BuildPipeline.BuildPlayer "场景路径" "输出路径" Android -gradleTask buildWithScan
关键注意事项
- Jenkins构建时,确保构建机器上的gradlew有执行权限(macOS/Linux需执行
chmod +x 项目路径/gradlew) - 若Unity直接构建APK而非导出项目,方法2的自定义任务方案更适配,无需额外处理导出路径
- 扫描报告的访问链接会输出在构建日志中,可直接查看所有依赖项详情
内容的提问来源于stack exchange,提问作者Faimen
相关产品推荐
相关产品推荐

