将我的 unity 从 2018.4.0 升级到 2019.3.7,我现在无法构建 apk

upgraded my unity from 2018.4.0 to 2019.3.7, I cannot build an apk now

我无法构建 apk,可能是库没有解析。以下是错误: CommandInvokationFailure:Gradle 构建失败。 /Applications/Unity/Hub/Editor/2019.3.7f1/PlaybackEngines/AndroidPlayer/OpenJDK/bin/java -classpath "/Applications/Unity/Hub/Editor/2019.3.7f1/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

标准错误[ D8:程序类型已经存在:com.google.zxing.ChecksumException

失败:构建失败,出现异常。

8 秒内构建失败 ] 标准输出[

Task :unityLibrary:GoogleMobileAdsPlugin:preBuild UP-TO-DATE Task :launcher:preBuild UP-TO-DATE Task :unityLibrary:preBuild UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:preReleaseBuild UP-TO-DATE Task :unityLibrary:preReleaseBuild UP-TO-DATE Task :launcher:extractProguardFiles UP-TO-DATE Task :unityLibrary:checkReleaseManifest UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:checkReleaseManifest Task :unityLibrary:Firebase:preBuild UP-TO-DATE Task :unityLibrary:Firebase:preReleaseBuild UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:processReleaseManifest

Task :unityLibrary:processReleaseManifest /Users/eapple/Documents/LeroBackups/LERO/Temp/gradleOut/unityLibrary/src/main/AndroidManifest.xml:3:3-29:17 Warning: application@android:allowBackup was tagged at AndroidManifest.xml:3 to replace other declarations but no other declaration present

Task :unityLibrary:Firebase:checkReleaseManifest Task :unityLibrary:Firebase:processReleaseManifest Task :unityLibrary:Firebase:compileReleaseAidl NO-SOURCE Task :unityLibrary:packageReleaseRenderscript NO-SOURCE Task :unityLibrary:GoogleMobileAdsPlugin:compileReleaseAidl NO-SOURCE Task :unityLibrary:compileReleaseAidl NO-SOURCE Task :launcher:preReleaseBuild Task :launcher:compileReleaseAidl NO-SOURCE Task :launcher:compileReleaseRenderscript NO-SOURCE Task :launcher:checkReleaseManifest UP-TO-DATE Task :launcher:generateReleaseBuildConfig UP-TO-DATE Task :launcher:prepareLintJar UP-TO-DATE Task :launcher:generateReleaseSources UP-TO-DATE Task :unityLibrary:Firebase:packageReleaseRenderscript NO-SOURCE Task :unityLibrary:GoogleMobileAdsPlugin:packageReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE Task :unityLibrary:compileReleaseRenderscript NO-SOURCE Task :unityLibrary:Firebase:compileReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseResValues UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:compileReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseResources UP-TO-DATE Task :launcher:mainApkListPersistenceRelease UP-TO-DATE Task :unityLibrary:Firebase:generateReleaseResValues Task :unityLibrary:Firebase:generateReleaseResources Task :unityLibrary:GoogleMobileAdsPlugin:generateReleaseResValues Task :launcher:generateReleaseResValues UP-TO-DATE Task :unityLibrary:packageReleaseResources UP-TO-DATE Task :unityLibrary:prepareLintJar UP-TO-DATE Task :unityLibrary:generateReleaseSources UP-TO-DATE Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE Task :launcher:generateReleaseResources UP-TO-DATE Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE Task :unityLibrary:mergeReleaseShaders UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:generateReleaseResources Task :unityLibrary:compileReleaseShaders UP-TO-DATE Task :unityLibrary:generateReleaseAssets UP-TO-DATE

Task :launcher:processReleaseManifest /Users/eapple/Documents/LeroBackups/LERO/Temp/gradleOut/launcher/src/main/AndroidManifest.xml:24:9-31:50 Warning: activity#com.google.firebase.auth.internal.FederatedSignInActivity@android:launchMode was tagged at AndroidManifest.xml:24 to replace other declarations but no other declaration present

Task :launcher:mergeReleaseShaders UP-TO-DATE Task :launcher:compileReleaseShaders UP-TO-DATE Task :launcher:generateReleaseAssets UP-TO-DATE Task :launcher:validateSigningRelease UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:packageReleaseResources Task :unityLibrary:Firebase:packageReleaseResources Task :launcher:signingConfigWriterRelease UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:generateReleaseRFile Task :unityLibrary:Firebase:generateReleaseRFile Task :unityLibrary:GoogleMobileAdsPlugin:generateReleaseBuildConfig Task :unityLibrary:GoogleMobileAdsPlugin:prepareLintJar UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:generateReleaseSources Task :unityLibrary:Firebase:generateReleaseBuildConfig Task :unityLibrary:Firebase:prepareLintJar UP-TO-DATE Task :unityLibrary:Firebase:generateReleaseSources Task :unityLibrary:Firebase:javaPreCompileRelease Task :unityLibrary:GoogleMobileAdsPlugin:javaPreCompileRelease Task :unityLibrary:GoogleMobileAdsPlugin:compileReleaseJavaWithJavac Task :unityLibrary:Firebase:compileReleaseJavaWithJavac Task :unityLibrary:Firebase:bundleLibCompileRelease Task :unityLibrary:GoogleMobileAdsPlugin:bundleLibCompileRelease Task :unityLibrary:Firebase:prepareLintJarForPublish UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:prepareLintJarForPublish UP-TO-DATE Task :unityLibrary:Firebase:mergeReleaseShaders Task :unityLibrary:Firebase:compileReleaseShaders Task :unityLibrary:Firebase:generateReleaseAssets Task :unityLibrary:GoogleMobileAdsPlugin:mergeReleaseShaders Task :unityLibrary:Firebase:packageReleaseAssets Task :unityLibrary:GoogleMobileAdsPlugin:compileReleaseShaders Task :unityLibrary:GoogleMobileAdsPlugin:generateReleaseAssets Task :unityLibrary:Firebase:processReleaseJavaRes NO-SOURCE Task :unityLibrary:GoogleMobileAdsPlugin:packageReleaseAssets Task :unityLibrary:GoogleMobileAdsPlugin:processReleaseJavaRes NO-SOURCE Task :unityLibrary:Firebase:bundleLibResRelease Task :unityLibrary:GoogleMobileAdsPlugin:bundleLibResRelease Task :unityLibrary:Firebase:bundleLibRuntimeRelease Task :unityLibrary:Firebase:mergeReleaseConsumerProguardFiles UP-TO-DATE Task :unityLibrary:GoogleMobileAdsPlugin:bundleLibRuntimeRelease Task :unityLibrary:GoogleMobileAdsPlugin:mergeReleaseConsumerProguardFiles UP-TO-DATE Task :unityLibrary:packageReleaseAssets Task :unityLibrary:Firebase:mergeReleaseJniLibFolders Task :unityLibrary:GoogleMobileAdsPlugin:mergeReleaseJniLibFolders Task :unityLibrary:Firebase:transformNativeLibsWithMergeJniLibsForRelease Task :unityLibrary:Firebase:transformNativeLibsWithStripDebugSymbolForRelease Task :unityLibrary:Firebase:transformNativeLibsWithIntermediateJniLibsForRelease Task :unityLibrary:GoogleMobileAdsPlugin:transformNativeLibsWithMergeJniLibsForRelease Task :unityLibrary:GoogleMobileAdsPlugin:transformNativeLibsWithStripDebugSymbolForRelease Task :unityLibrary:GoogleMobileAdsPlugin:transformNativeLibsWithIntermediateJniLibsForRelease Task :unityLibrary:generateReleaseRFile UP-TO-DATE Task :launcher:mergeReleaseResources UP-TO-DATE Task :unityLibrary:javaPreCompileRelease UP-TO-DATE Task :unityLibrary:compileReleaseJavaWithJavac UP-TO-DATE Task :unityLibrary:bundleLibCompileRelease UP-TO-DATE Task :unityLibrary:processReleaseJavaRes NO-SOURCE Task :unityLibrary:bundleLibResRelease UP-TO-DATE Task :unityLibrary:bundleLibRuntimeRelease UP-TO-DATE Task :unityLibrary:mergeReleaseConsumerProguardFiles UP-TO-DATE Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE Task :unityLibrary:transformNativeLibsWithMergeJniLibsForRelease UP-TO-DATE Task :unityLibrary:transformNativeLibsWithStripDebugSymbolForRelease UP-TO-DATE Task :unityLibrary:transformNativeLibsWithIntermediateJniLibsForRelease UP-TO-DATE Task :launcher:processReleaseResources Task :launcher:javaPreCompileRelease UP-TO-DATE Task :launcher:compileReleaseJavaWithJavac UP-TO-DATE Task :launcher:compileReleaseSources UP-TO-DATE Task :launcher:lintVitalRelease Task :launcher:mergeReleaseAssets Task :launcher:processReleaseJavaRes NO-SOURCE Task :launcher:transformResourcesWithMergeJavaResForRelease UP-TO-DATE

Task :launcher:transformClassesAndResourcesWithR8ForRelease FAILED R8 is the new Android code shrinker. If you experience any issues, please file a bug at https://issuetracker.google.com, using 'Shrinker (R8)' as component name. You can disable R8 by updating gradle.properties with 'android.enableR8=false'. Current version is: 1.4.77 (build b74371231cb896b02f83285efb055b7c00ff64d8 from go/r8bot (luci-r8-ci-archive-0-eqqf)).

此版本中使用了已弃用的 Gradle 功能,使其与 Gradle 6.0 不兼容。 使用 '--warning-mode all' 显示个别弃用警告。 参见 https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings 84 个可操作任务:44 个已执行,40 个 up-to-date ] 退出代码:1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.Command.运行 (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.Command.运行(System.String 命令,System.String args,System.String workingdir,UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit,System.String errorMsg)(在 <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.AndroidJavaTools.RunJava(System.String args,System.String workingdir,System.Action1[T] progress, System.String error) (at <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action1[T] 进度)(在 <88091cc0f6184c3ca77702906799aea5>:0) 重新抛出 GradleInvokationException: Gradle build failed UnityEditor.Android.GradleWrapper.Run(UnityEditor.Android.AndroidJavaTools javaTools,System.String workingdir,System.String 任务,System.Action`1[T] 进度)(在 <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute(UnityEditor.Android.PostProcessor.PostProcessorContext 上下文)(在 <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks(UnityEditor.Android.PostProcessor.PostProcessorContext 上下文)(在 <88091cc0f6184c3ca77702906799aea5>:0) 作为 BuildFailedException 重新抛出:抛出 'UnityEditor.Build.BuildFailedException' 类型的异常。 UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild(System.String 标题,System.String 消息,System.Exception ex)(在 <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks(UnityEditor.Android.PostProcessor.PostProcessorContext 上下文)(在 <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget 目标,System.String stagingAreaData,System.String stagingArea,System.String playerPackage,System.String installPath,System.String companyName,System.String productName,UnityEditor.BuildOptions 选项,UnityEditor.RuntimeClassRegistry usedClassRegistry,UnityEditor.Build.Reporting.BuildReport 报告)(在 <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (在 <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32高度,UnityEditor.BuildOptions 选项,UnityEditor.RuntimeClassRegistry usedClassRegistry,UnityEditor.Build.Reporting.BuildReport 报告)(位于 /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:340) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)(在 /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187)

查看Edit >> Preferences >> External Tool你用的是什么JDK、SDK和NDK(如果是unity安装的开发包)。

Unity 正在尝试使用 gradle 6.0

编译 apk

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.

但它使用的是 gradle 5.1

CommandInvokationFailure: Gradle build failed. /Applications/Unity/Hub/Editor/2019.3.7f1/PlaybackEngines/AndroidPlayer/OpenJDK/bin/java -classpath "/Applications/Unity/Hub/Editor/2019.3.7f1/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

如果 android 模块有任何更新,请尝试查看 Unity HUB(在我的情况下,我需要安装它)

每当您更改 Unity 版本时,您都必须从 Unity Hub

重新下载并安装相应的 Android 模块

编辑,如果您没有看到 android 在您使用的 unity 版本下构建支持,您将不得不从 unity hub 再次下载 android 模块以适应您使用的 unity

如果没有单击三个点并添加模块,请检查 unity hub 中的机器人图标 -> android -> 单击可折叠菜单中 'android build support' 下的框

检查您是否受到旧 Hub 版本中出现的此问题的影响:https://issuetracker.unity3d.com/issues/android-editor-shows-that-the-android-ndk-is-not-recommended-even-though-it-is-installed-from-the-hub

您现在的 Hub 应该是 2.3.1 版。