android - Unity Build - 异常 : il2cpp. exe 未正常运行

标签 android unity3d gradle android-ndk il2cpp

使用 Unity 2017.4.34f1 (LTS) IL2CPP NDK r13b ,我尝试将我的 Unity 项目导出到 Android 项目(构建过程)。

注意:我使用 IL2CPP 因为 Google PlayStore 需要 32 位和 64 位,所以我不能使用 单声道 不再是 脚本后端 .

但是,它失败了,我收到以下错误:

Exception: C:\Program Files\Unity\Hub\Editor\2017.4.34f1\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:130)
UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1 setupStartInfo) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1 arguments, System.Action`1 setupStartInfo, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:336)
UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (ICollection`1 userAssemblies, System.String outputDirectory, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:317)
UnityEditorInternal.IL2CPPBuilder.Run () (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:160)
UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action`1 modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry, Boolean debugBuild) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:34)
UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:272)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

还有一个错误日志:
Failed running C:\Program Files\Unity\Hub\Editor\2017.4.34f1\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --development-mode --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARMv7" --configuration="Release" --outputpath="C:\Users\zukinaru\Desktop\orisnowyndo\Temp/StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so" --cachedirectory="C:\Users\zukinaru\Desktop\orisnowyndo\Assets\..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="C:\Program Files\Unity\Hub\Editor\2017.4.34f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="C:\Program Files\Unity\Hub\Editor\2017.4.34f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\libil2cpp/include" --tool-chain-path="C:/android-ndk-r13b-windows-x86_64/android-ndk-r13b" --map-file-parser="C:\Program Files\Unity\Hub\Editor\2017.4.34f1\Editor\Data\Tools\MapFileParser\MapFileParser.exe" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\Assembly-CSharp-firstpass.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\Assembly-CSharp.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.UI.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\DOTween.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\Facebook.Unity.Settings.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\PlayMaker.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\TextMeshPro-1.0.55.2017.1.0b12.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.Analytics.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\Facebook.Unity.Android.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\Facebook.Unity.Canvas.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\Facebook.Unity.IOS.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\mscorlib.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\Stores.dll" --assembly="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.Purchasing.dll" --generatedcppdir="C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput" 

stdout:
Building libil2cpp.so with AndroidToolChain.
    Output directory: C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a
    Cache directory: C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache
ObjectFiles: 691 of which compiled: 282
    Time Compile: 54396 milliseconds Il2CppAttributes.cpp
    Time Compile: 23198 milliseconds Bulk_TextMeshPro-1.0.55.2017.1.0b12_0.cpp
    Time Compile: 21138 milliseconds Il2CppInvokerTable.cpp
    Time Compile: 20951 milliseconds Bulk_mscorlib_16.cpp
    Time Compile: 16387 milliseconds Bulk_Assembly-CSharp_19.cpp
    Time Compile: 15667 milliseconds Bulk_mscorlib_17.cpp
    Time Compile: 13478 milliseconds GenericMethods24.cpp
    Time Compile: 13394 milliseconds Il2CppMetadataUsage.cpp
    Time Compile: 13278 milliseconds Bulk_Mad2D_0.cpp
    Time Compile: 12015 milliseconds Bulk_mscorlib_10.cpp
Total compilation time: 765251 milliseconds.
il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException: C:\android-ndk-r13b-windows-x86_64\android-ndk-r13b\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @"C:\Users\zukinaru\AppData\Local\Temp\tmp56A5.tmp" -o "C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_6D290C36A270BA4A86083617583BFE15\libil2cpp.so" -shared -Wl,-soname,libil2cpp.so -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id --sysroot "C:\android-ndk-r13b-windows-x86_64\android-ndk-r13b\platforms\android-16\arch-arm" -gcc-toolchain "C:\android-ndk-r13b-windows-x86_64\android-ndk-r13b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64" -target armv7-none-linux-androideabi -Wl,--wrap,sigaction -L "C:\android-ndk-r13b-windows-x86_64\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a" -lgnustl_static -llog -Xlinker -Map="C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_6D290C36A270BA4A86083617583BFE15\libil2cpp.map" -rdynamic -fPIE -pie -fuse-ld=bfd.exe

clang++.exe: warning: argument unused during compilation: '-pie'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_init_m2214171880':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:543: undefined reference to `init'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_logout_m2238411584':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:571: undefined reference to `logout'
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:571: undefined reference to `logout'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_activateApp_m160690348':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:581: undefined reference to `activateApp'
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:581: undefined reference to `activateApp'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_logPurchase_m2329488507':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:605: undefined reference to `logPurchase'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_ui_m1731210125':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:635: undefined reference to `ui'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_initScreenPosition_m891649343':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:657: undefined reference to `initScreenPosition'
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:657: undefined reference to `initScreenPosition'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)


   at Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(IEnumerable`1 objectFiles, CppToolChainContext toolChainContext)
   at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
   at Unity.IL2CPP.Building.Statistics.BuildingTestRunnerHelper.BuildAndLogStatsForTestRunner(CppProgramBuilder builder, IBuildStatistics& statistics)
   at il2cpp.Program.DoRun(String[] args)
   at il2cpp.Program.Run(String[] args)
   at il2cpp.Program.Main(String[] args)
stderr:

Unhandled Exception: Unity.IL2CPP.Building.BuilderFailedException: C:\android-ndk-r13b-windows-x86_64\android-ndk-r13b\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @"C:\Users\zukinaru\AppData\Local\Temp\tmp56A5.tmp" -o "C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_6D290C36A270BA4A86083617583BFE15\libil2cpp.so" -shared -Wl,-soname,libil2cpp.so -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id --sysroot "C:\android-ndk-r13b-windows-x86_64\android-ndk-r13b\platforms\android-16\arch-arm" -gcc-toolchain "C:\android-ndk-r13b-windows-x86_64\android-ndk-r13b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64" -target armv7-none-linux-androideabi -Wl,--wrap,sigaction -L "C:\android-ndk-r13b-windows-x86_64\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a" -lgnustl_static -llog -Xlinker -Map="C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_6D290C36A270BA4A86083617583BFE15\libil2cpp.map" -rdynamic -fPIE -pie -fuse-ld=bfd.exe

clang++.exe: warning: argument unused during compilation: '-pie'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_init_m2214171880':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:543: undefined reference to `init'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_logout_m2238411584':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:571: undefined reference to `logout'
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:571: undefined reference to `logout'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_activateApp_m160690348':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:581: undefined reference to `activateApp'
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:581: undefined reference to `activateApp'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_logPurchase_m2329488507':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:605: undefined reference to `logPurchase'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_ui_m1731210125':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:635: undefined reference to `ui'
C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\43B0E2C486C7D35B13D99EAC9094B83F.o: In function `CanvasJSWrapper_initScreenPosition_m891649343':
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:657: undefined reference to `initScreenPosition'
C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity.Canvas_0.cpp:657: undefined reference to `initScreenPosition'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)


   at Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(IEnumerable`1 objectFiles, CppToolChainContext toolChainContext)
   at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
   at Unity.IL2CPP.Building.Statistics.BuildingTestRunnerHelper.BuildAndLogStatsForTestRunner(CppProgramBuilder builder, IBuildStatistics& statistics)
   at il2cpp.Program.DoRun(String[] args)
   at il2cpp.Program.Run(String[] args)
   at il2cpp.Program.Main(String[] args)

UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:128)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List`1, Action`1, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:336)
UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection`1, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:317)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:160)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:34)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

到目前为止我所做的:

1) 尝试使用 NDK r16b ,但失败了,因为 Unity 2017.4 只想要 NDK r13b

2)以管理员身份运行Unity,还是没有解决

==更新日志(Unity 2017.4.39):
Exception: C:\Program Files\Unity\Hub\Editor\2017.4.39f1\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:130)
UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1 setupStartInfo) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1 arguments, System.Action`1 setupStartInfo, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:336)
UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (ICollection`1 userAssemblies, System.String outputDirectory, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:317)
UnityEditorInternal.IL2CPPBuilder.Run () (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:160)
UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action`1 modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry, Boolean debugBuild) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:34)
UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:272)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

===更新(Unity 2017.4.8f1)

已试过 统一 2017.4.8f1 (我成功构建APK的原始版本)但仍然无法导出到Android Studio Project使用 x64 (IL2CPP),我计划使用导出的 Android Native/Android Studio 构建 AppBundle x64。

如果使用内部(32 位)则成功 ,但 Google 现在需要 x64 APK/AppBundle build 。如果我之前知道这一点,我会使用 IL2CPP从一开始(不是内部的),解决这个错误真是太令人沮丧了。如果我要迁移到 Unity 2019现在,做太多的努力...

最佳答案

我刚刚遇到了这个问题,并且相信我找到了解决这个底层 IL2CPP 构建问题的解决方案之一。我有下面粗体的解决方案来说明问题。以下是我发现的。我的问题是由于以下错误:

    stdout:
Building build.bc with EmscriptenToolChain
    Output directory: D:\xxxx\Unity\Projects\01_2d_projects\SiteEstablish\Temp\StagingArea\Data\Native
    Cache directory: D:\xxxx\Unity\Projects\01_2d_projects\SiteEstablish\Library\il2cpp_cache
il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException:   File "C:\Users\xxxxxxx\AppData\Local\Programs\Python\Python37-32\Lib\site.py", line 177
    file=sys.stderr)
    ^

语法错误:无效语法 enter image description here

我有一个很好的预感,没有理由应该运行该文件,只能想到一个可以来自“环境变量”的区域。该路径位于“PATH”下,作为“%PYTHONPATH%”,这将是到该目录的唯一连接失败。即使从“环境变量”中删除了这些项目,路径仍然受到影响。我最终将 Python 目录完全移到了不同​​的位置,然后将平台从 Windows 切换回 WebGL,然后成功了。这可能在不删除目录文件的情况下是可能的,但我不知道 Unity 构建的行为是如何工作的。我试图重现这个问题,但构建仍然成功。所以,我所能做的就是希望这会有所帮助。

半解决方案 (请谨慎执行以下操作。如果您从系统变量中删除路径,您可能会有非常糟糕的一天!):

在您的错误中,您需要在“Path”系统变量中找到目录路径,并将其删除。在下面,你可能会像“C:\Users\zukinaru\Desktop\”这样的东西,并且可以更详细:

标准输出:
使用 AndroidToolChain 构建 libil2cpp.so。
输出目录: C:\Users\zukinaru\Desktop\orisnowyndo\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a
缓存目录: C:\Users\zukinaru\Desktop\orisnowyndo\Library\il2cpp_android_armeabi-v7a\il2cpp_cache

就像在我的图片中一样,在您的系统上找到“路径”变量,然后删除路径(保存您所做的事情,以便您可以将它们放回原处)。单击“确定”,直到全部保存。将平台从任何切换回“WebGL”。我相信 IL2CPP 中的迷你应用程序可能会从这些系统变量中提取,并且它会以这种方式干扰构建。我相信这就是我看到这个问题的原因,但错误只是稍微偏离了一点,因为每个人的路径变量设置都因电脑而异。

关于android - Unity Build - 异常 : il2cpp. exe 未正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59061059/

相关文章:

intellij-idea - 如何强制更新 intellij 中的所有快照 Gradle 依赖项

android - dex 加载程序无法执行 dex : method ID not in [0, 0xffff]:65536

ios - 尝试运行 Unity3D 应用程序时出现 XCode 错误

c# - 调用 LoadScene/LoadLevel 后场景中的对象变暗

javascript - 具有统一面的程序圆形网格

android - 如何通过有选择地 bundle 依赖库来生成多种 flavor 的apk?

带有 Firebase 的 Android Studio 2.1.2 不工作

java - 如何每 2 秒(一遍又一遍)从 URL 加载文件?

java - 在 Kotlin 的对象字段中具有上下文的 Android 类

android - 在 Android Studio 中更改项目的 "buildToolsVersion"时出错