3

我正在使用 unity 2019.2.0f1 和 unity 推荐的集成 jdk-sdk 和 ndk 来为 android 平台构建游戏首先我使用 Mono 成功构建了我的项目之后我尝试使用 IL2CPP 构建不幸的是我无法构建我的游戏并在控制台中得到这些错误

    1error
Failed running C:\Program Files\Unity\Hub\Editor\2019.2.0f1\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARMv7" --configuration="Release" --outputpath="C:\Users\bechir\Documents\Unity 3D Projects\zagzig\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so" --cachedirectory="C:\Users\bechir\Documents\Unity 3D Projects\zagzig\Assets\..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="C:/Program Files/Unity/Hub/Editor/2019.2.0f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="C:/Program Files/Unity/Hub/Editor/2019.2.0f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\libil2cpp/include" --tool-chain-path="C:/Program Files/Unity/Hub/Editor/2019.2.0f1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK" --profiler-report --map-file-parser="C:/Program Files/Unity/Hub/Editor/2019.2.0f1/Editor/Data/Tools/MapFileParser/MapFileParser.exe" --directory="C:/Users/bechir/Documents/Unity 3D Projects/zagzig/Temp/StagingArea/assets/bin/Data/Managed" --generatedcppdir="C:/Users/bechir/Documents/Unity 3D Projects/zagzig/Temp/StagingArea/Il2Cpp/il2cppOutput" 

        stdout:
        Building libil2cpp.so with AndroidToolChain
            Output directory: C:\Users\bechir\Documents\Unity 3D Projects\zagzig\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a
            Cache directory: C:\Users\bechir\Documents\Unity 3D Projects\zagzig\Library\il2cpp_android_armeabi-v7a\il2cpp_cache
        il2cpp.exe didn't catch exception: System.AggregateException: Une ou plusieurs erreurs se sont produites. --->
        System.ComponentModel.Win32Exception: L'ex?cutable sp?cifi? n'est pas une application valide pour cette plateforme de syst?me d'exploitation.
           ?System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
           ?Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)
           ?Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)
           ?Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)
           --- Fin de la trace de la pile d'exception interne ---
         Unity.IL2CPP.Building.ParallelFor.RunWithResult[D,T](D[] data, Func`2 action)
        Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)
        Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
        il2cpp.Program.DoRun(String[] args)
        il2cpp.Program.Run(String[] args)
         il2cpp.Program.Main(String[] args)
        ---> (Exception interne #0) System.ComponentModel.Win32Exception (0x80004005): L'ex?cutable sp?cifi? n'est pas une application valide pour cette plateforme de syst?me d'exploitation.
        ....


    2error
        Exception: C:\Program Files\Unity\Hub\Editor\2019.2.0f1\Editor\Data\il2cpp/build/il2cpp.exe did not run properly!
        UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:128)
        UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1[T] setupStartInfo) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:71)
        UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1[T] arguments, System.Action`1[T] setupStartInfo, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:502)
        UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (System.String inputDirectory, System.String outputDirectory, System.String workingDirectory, System.Boolean platformSupportsManagedDebugging) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:483)
        UnityEditorInternal.IL2CPPBuilder.Run () (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:334)
        UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:63)
        UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <8277255796414cc8b8865316c1676de5>:0)
        UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <8277255796414cc8b8865316c1676de5>:0)
        UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <8277255796414cc8b8865316c1676de5>:0)
        UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <8277255796414cc8b8865316c1676de5>:0)
        UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, 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) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:281)
        UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
4

2 回答 2

0

我解决了这个问题,但我的平台在 Mac 上。这可能对您有帮助。

我从 Google 下载了 NDK r16b,但发现它与 Unity Hub 非常不同。因为丢失了许多文件和文件夹。此外,Unity 的详细设置不会将 NDK 指向正确的位置。所以我用 Unity Hub 下载了 r16b 并手动设置。

然后它与 Unity 2019 1.14f 和 2019 2.14f 一起使用。

建议:

  • 通过 Unity Hub 下载 NDK
  • 在 Unity 中手动设置 NDK 的路径
于 2019-12-04T14:57:05.200 回答
0

使用 Android NDK r16b 并在 Unity Editor 中设置其路径。

于 2020-12-14T21:59:21.587 回答