Unity3D - 重新打包资源失败 | Android APK

Unity3D - Failed to re-package resources | Android APK

我正在尝试编译一个没有任何附加插件的简单游戏,但我遇到了以下错误:

CommandInvokationFailure: Failed to re-package resources. See the Console for details.
C:\Program Files (x86)\Android\android-sdk\build-tools.0.0-preview\aapt.exe package --auto-add-overlay -v -f -m -J gen -M AndroidManifest.xml -S "res" -I "C:/Program Files (x86)/Android/android-sdk\platforms\android-23\android.jar" -F bin/resources.ap_

stderr[

]
stdout[

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

]
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessAndroidPlayer.Exec (System.String command, System.String args, System.String workingdir, System.String[] progress_strings, Single progress_value, System.String errorMsg)
UnityEditor.Android.PostProcessAndroidPlayer.CompileResources (System.String stagingArea, System.String packageName, UnityEditor.Android.AndroidLibraries androidLibraries)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcessInternal (System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry)
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.HostView:OnGUI()


Error building Player: CommandInvokationFailure: Failed to re-package resources. See the Console for details.
C:\Program Files (x86)\Android\android-sdk\build-tools.0.0-preview\aapt.exe package --auto-add-overlay -v -f -m -J gen -M AndroidManifest.xml -S "res" -I "C:/Program Files (x86)/Android/android-sdk\platforms\android-23\android.jar" -F bin/resources.ap_

stderr[

]
stdout[

]

我有最新版本的 Android SDK 和 JDK(图片在 @Programmer 的回答后更新):

我没有包含任何插件或 Google 服务,可能会发生什么?

Unity版本:5.3.4f1个人版

Unity 5.4.0b15 上,我们有另一个错误:

UnityException: Build failure
Failed to re-package resources. See the Console for details.
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message)
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuildPointToConsole (System.String title, System.String message)
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.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:176)
UnityEditor.HostView:OnGUI()

提前致谢!

可能是AndroidSDK和NDK路径中的空格。 Unity 的更新日志总是说这个问题已修复,但事实并非如此。有时会失败。

  1. 确保您的 SDK 和 NDK 路径中没有 没有 空格。所以在C目录下创建一个名为AndroidSDKAndroidNDK的文件夹。

  2. 将您的 Android-sdk 文件夹复制到 C:/AndroidSDK 目录。将您的 Android-ndk 复制到 C:/AndroidNDK folder

现在,您的 SDK 路径应如下所示:

C:/AndroidSDK/Android-sdk
C:/AndroidNDK/Android-ndk

没有空格了。

  1. 在 Unity 编辑器中更新您的 Android SDK 和 NDK 路径。

如果失败,请下载 Unity 5.4 beta

编辑:

重新下载SDK。然后为 Android 构建项目,它会显示 错误 并要求您更新 SDK。单击“更新 Android SDK”按钮。 Unity 将自动更新您的 SDK。您的 SDK 应该如下所示。