public static void BuildPackage() { //1. 解析命令行参数 ParseCommandLineArgs(); //2. 修改打包参数 bool cancel = false; BuildTargetGroup targetGroup = BuildPipelineCommonTools.BuildUtils.GetBuildTargetGroup(mBatchBuildTargetString); BuildTarget target = BuildPipelineCommonTools.BuildUtils.GetBuildTarget(targetGroup); if (!BuildPipelineValidator.CheckSupportedTarget(targetGroup, target)) { return; } if (cancel) { Debug.LogWarning("Build canceled (not enough information)"); return; } ProjectBuildPresetSettings buildPresetSettings = new ProjectBuildPresetSettings() { buildTarget = target, bundleVersionCode = mBatchBuildNumber, version = mBatchBundleVersion, overrideBuildPath = true, buildPath = mBatchBuildPath, overrideExecutableName = true, executableName = mBatchExecutableName, }; //3. 执行打包逻辑 BuildPipelineExecutor.Build(buildPresetSettings); }
internal BuildEnvsOptions SetBuildSettings(ProjectBuildPresetSettings presetSettings) { this.assetBundleManifestPath = null; this.locationPathName = presetSettings.locationPathName; this.options = presetSettings.buildOptions; this.scenes = presetSettings.scenes; this.target = presetSettings.activeBuildTarget; this.targetGroup = presetSettings.activeTargetGroup; this.androidExportSystem = presetSettings.androidExportSystem; this.useAPKExpansionFiles = presetSettings.useAPKExpansionFiles; this.buildType = presetSettings.buildType; this.androidBuildSystem = presetSettings.androidBuildSystem; this.buildNumber = presetSettings.bundleVersionCode; if (presetSettings.useSystemTime) { DateTime date = DateTime.Now; this.version = "1." + date.Month + "." + date.Day; } else { this.version = presetSettings.version; } return(this); }
public static void Build(ProjectBuildPresetSettings setting) { BuildPipelineExecutor.DefaultBuildEnvsOptions.SetBuildSettings(setting); PlayerSettingsResolver.EditorBuildSettings.SwitchActiveBuildTarget(BuildPipelineExecutor.DefaultBuildEnvsOptions.targetGroup, BuildPipelineExecutor.DefaultBuildEnvsOptions.target, () => { PreBuild(BuildPipelineExecutor.DefaultBuildEnvsOptions); }); }