Unity构建安卓应用时遇System.Linq与Bee.TundraBackend空引用错误求助
Unity安卓构建Internal Build System Error(Code 3)排查方案
错误信息(中文翻译)
内部构建系统错误。BuildProgram 退出码为 3。 System.NullReferenceException: 对象引用未设置到对象的实例。 在 System.Linq.Enumerable.WhereArrayIterator`1.Select[TResult](Func`2 selector) 在 System.Linq.Enumerable.Select[TSource,TResult](IEnumerable`1 source, Func`2 selector) 在 Bee.TundraBackend.TundraBackend.AddDependency(NPath from, IEnumerable`1 to, DependencyKind kind) 在 Bee.NativeProgramSupport.Lumping.SetupLumps(ArtifactLocationPolicy artifactLocationPolicy, List`1 inputInstructions, Int32 idealFilesPerLump)+MoveNext() 在 System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items) 在 System.Collections.Generic.SparseArrayBuilder`1.AddRange(IEnumerable`1 items) 在 System.Collections.Generic.SparseArrayBuilder`1.ReserveOrAdd(IEnumerable`1 items) 在 System.Linq.Enumerable.Concat2Iterator`1.ToArray() 在 System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) 在 Bee.NativeProgramSupport.NativeProgram.ProduceObjectFileProductionInstructions(NativeProgramConfiguration config, ArtifactLocationPolicy artifactLocationPolicy, ObjectFileProducer[] objectFileProducers, NPath[]& additionalObjectFiles, NPath[]& foundHeaders) 在 Bee.NativeProgramSupport.NativeProgram.SetupSpecificConfigurationImpl(NativeProgramConfiguration config, NativeProgramFormat format, ObjectFileProducer[] objectFileProducers) 在 Bee.NativeProgramSupport.NativeProgram.SetupSpecificConfiguration(NativeProgramConfiguration config, NativeProgramFormat format, ObjectFileProducer[] objectFileProducers) 在 Bee.NativeProgramSupport.NativeProgram.SetupLibraryDependencies(NativeProgramConfiguration config, ToolChain toolchain, ObjectFileProducer[] objectFileProducers) 在 Bee.NativeProgramSupport.NativeProgram.SetupSpecificConfigurationImpl(NativeProgramConfiguration config, NativeProgramFormat format, ObjectFileProducer[] objectFileProducers) 在 Bee.NativeProgramSupport.NativeProgram.SetupSpecificConfiguration(NativeProgramConfiguration config, NativeProgramFormat format, ObjectFileProducer[] objectFileProducers) 在 PlayerBuildProgramLibrary.PlayerBuildProgramBase.SetupIl2CppBuild() (位于 /Users/bokken/build/output/unity/unity/Editor/IncrementalBuildPipeline/PlayerBuildProgramLibrary/PlayerBuildProgramBase.cs:第369行) 在 PlayerBuildProgramLibrary.PlayerBuildProgramBase.SetupPlayerBuild() (位于 /Users/bokken/build/output/unity/unity/Editor/IncrementalBuildPipeline/PlayerBuildProgramLibrary/PlayerBuildProgramBase.cs:第171行) 在 AndroidPlayerBuildProgram.AndroidPlayerBuildProgram.SetupPlayerBuild() 在 PlayerBuildProgramLibrary.PlayerBuildProgramBase.RunBuildProgram() (位于 /Users/bokken/build/output/unity/unity/Editor/IncrementalBuildPipeline/PlayerBuildProgramLibrary/PlayerBuildProgramBase.cs:第165行) 在 PlayerBuildProgramTypeWrapper.Run(String[] args) 在 Program.Main(String[] args) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) (位于 /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:第189行) BuildFailedException: 增量Player构建失败! UnityEditor.Modules.BeeBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (位于 /Users/bokken/build/output/unity/unity/Editor/Mono/Modules/BeeBuildPostprocessor.cs:第604行) UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (位于 /Users/bokken/build/output/unity/unity/Editor/Mono/Modules/DefaultBuildPostprocessor.cs:第28行) UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (位于 <51e10b9352934e7f80981b508a072fc6>:0) UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.Int32 subtarget, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (位于 /Users/bokken/build/output/unity/unity/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:第370行) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (位于 /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:第189行)
排查步骤
- 重置IL2CPP与构建缓存:除已删除的Bee文件夹外,手动删除项目根目录下的
Library/Il2cpp文件夹,关闭Build Settings中的Incremental Build选项,执行完整构建。 - 排查第三方插件兼容性:暂时移除项目中近期新增的安卓插件(如广告、支付SDK),尝试构建定位是否为插件导致的依赖空引用;检查
Assets/Plugins/Android下的.aar/.jar/.so文件是否完整、配置是否冲突。 - 验证Unity与安卓工具链适配:确认Unity版本是否存在Bee构建系统已知Bug,尝试升级到对应分支的最新补丁版或回退到稳定版;检查Build Settings中的SDK/NDK路径是否正确,确保NDK版本与Unity版本官方推荐兼容。
- 检查项目文件完整性:创建空安卓项目,逐步导入当前项目的代码与资源,排查是否存在损坏的脚本或资源;验证项目中是否有缺失的Native库依赖。
- 调整构建选项:切换Build Settings中的
Architecture(如从ARM64改为Universal),取消勾选Development Build和Script Debugging选项,尝试发布构建。
内容的提问来源于stack exchange,提问作者Angelsm
相关产品推荐
相关产品推荐

