android - Unity Android Build错误:无法读取PNG签名:文件不是以PNG签名开头

标签 android unity3d gradle

我正在Unity中进行2D游戏。
为Android构建时,Gradle构建失败,并出现以下错误:

CommandInvokationFailure: Gradle build failed. 
C:\Program Files\Unity\Hub\Editor\2019.1.14f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\OpenJDK\Windows\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2019.1.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "bundleRelease"

stderr[

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':mergeReleaseResources'.
> 1 exception was raised by workers:
  com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed
  C:\Dev\Unity\Teaventures\Temp\gradleOut\native_plugins_lib\build\intermediates\packaged_res\release\drawable\app_icon_custom_coloured.png: error: failed to read PNG signature: file does not start with PNG signature.
  C:\Dev\Unity\Teaventures\Temp\gradleOut\native_plugins_lib\build\intermediates\packaged_res\release\drawable\app_icon_custom_coloured.png: error: file failed to compile.



* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 5s
]
stdout[
> Task :preBuild UP-TO-DATE
> Task :native_plugins_lib:preBuild UP-TO-DATE
> Task :native_plugins_lib:preReleaseBuild UP-TO-DATE
> Task :native_plugins_lib:checkReleaseManifest
> Task :native_plugins_lib:processReleaseManifest
> Task :twitter_lib:preBuild UP-TO-DATE
> Task :twitter_lib:preReleaseBuild UP-TO-DATE
> Task :twitter_lib:checkReleaseManifest
> Task :twitter_lib:processReleaseManifest
> Task :voxelbusters_utility_lib:preBuild UP-TO-DATE
> Task :voxelbusters_utility_lib:preReleaseBuild UP-TO-DATE
> Task :voxelbusters_utility_lib:checkReleaseManifest
> Task :voxelbusters_utility_lib:processReleaseManifest
> Task :youtube_lib:preBuild UP-TO-DATE
> Task :youtube_lib:preReleaseBuild UP-TO-DATE
> Task :youtube_lib:checkReleaseManifest
> Task :youtube_lib:processReleaseManifest
> Task :native_plugins_lib:packageReleaseRenderscript NO-SOURCE
> Task :twitter_lib:packageReleaseRenderscript NO-SOURCE
> Task :voxelbusters_utility_lib:packageReleaseRenderscript NO-SOURCE
> Task :youtube_lib:packageReleaseRenderscript NO-SOURCE
> Task :native_plugins_lib:compileReleaseRenderscript NO-SOURCE
> Task :native_plugins_lib:generateReleaseResValues
> Task :native_plugins_lib:generateReleaseResources
> Task :native_plugins_lib:packageReleaseResources
> Task :twitter_lib:compileReleaseRenderscript NO-SOURCE
> Task :twitter_lib:generateReleaseResValues
> Task :twitter_lib:generateReleaseResources
> Task :twitter_lib:packageReleaseResources
> Task :voxelbusters_utility_lib:compileReleaseRenderscript NO-SOURCE
> Task :preReleaseBuild
> Task :compileReleaseRenderscript NO-SOURCE
> Task :generateReleaseResValues UP-TO-DATE
> Task :generateReleaseResources UP-TO-DATE
> Task :voxelbusters_utility_lib:generateReleaseResValues
> Task :voxelbusters_utility_lib:generateReleaseResources
> Task :voxelbusters_utility_lib:packageReleaseResources
> Task :youtube_lib:compileReleaseRenderscript NO-SOURCE
> Task :youtube_lib:generateReleaseResValues
> Task :youtube_lib:generateReleaseResources
> Task :youtube_lib:packageReleaseResources
> Task :mergeReleaseResources FAILED
19 actionable tasks: 18 executed, 1 up-to-date
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <1e5e55a0ebac44e989773ba5d6df4794>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <1e5e55a0ebac44e989773ba5d6df4794>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <1e5e55a0ebac44e989773ba5d6df4794>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <1e5e55a0ebac44e989773ba5d6df4794>:0)
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <1e5e55a0ebac44e989773ba5d6df4794>:0)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <1e5e55a0ebac44e989773ba5d6df4794>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <1e5e55a0ebac44e989773ba5d6df4794>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <1e5e55a0ebac44e989773ba5d6df4794>:0)
Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at <1e5e55a0ebac44e989773ba5d6df4794>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <1e5e55a0ebac44e989773ba5d6df4794>: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 <1e5e55a0ebac44e989773ba5d6df4794>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <1e5e55a0ebac44e989773ba5d6df4794>: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)

已经检查我提供的Appstore .png图片是否损坏,不是。
因此,这在构建过程中会以某种方式发生。
有办法调试吗?
我是否缺少阅读错误日志的内容?

我感谢任何可以帮助我研究解决方案的提示。
非常感谢你!
科尔比

编辑:link to corrpted file

最佳答案

找到损坏的文件所在的文件夹:
Assets \插件\ Android \ native_plugins_lib \ res \ drawable

修复损坏的文件修复了我的问题。

关于android - Unity Android Build错误:无法读取PNG签名:文件不是以PNG签名开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59719518/

相关文章:

spring - 为自定义输出文件夹和exe名称自定义gradle脚本

Android Studio - 无法解析 : com. android.support 库

android - 如何以及使用什么服务器证书与 android SSL 客户端证书身份验证

c# - 通过畸变矩阵从鼠标转换光线

unity3d - 使用Application.Quit时手游重启

unity3d - Unity 2D 与 3D 的区别

android - GoogleMaps API v2 上的多段线性能问题

java - 带有 recyclerview 和 tablayout 的动态高度 viewpager

jenkins - 如何在build.gradle文件中定义变量,其值由jenkins动态传递

Android:product flavor、applicationId(包名)和manifest