【问题标题】:CommandInvokationFailure: Gradle build failedCommandInvokationFailure:Gradle 构建失败
【发布时间】:2018-08-19 14:59:54
【问题描述】:

有人可以帮我解决这个错误吗?

  • 我将 ADS 放入我的项目中,当我尝试将我的项目构建到 Android 时出现此错误。
  • 但如果我将 ADS 置于离线状态,错误就会消失。

CommandInvokationFailure:Gradle 构建失败。 C:/Program Files/Java/jdk1.8.0_45\bin\java.exe -classpath "E:\unity 5\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.0.1.jar " org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"

FAILURE:构建失败并出现异常。

  • 出了什么问题: 配置根项目“gradleOut”时出现问题。

    无法添加任务“:prepareUnityAdsLibrary”,因为该名称的任务已存在。

  • 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。

在 2 秒内构建失败

NDK 缺少“平台”目录。 如果您使用的是 NDK,请验证 ndk.dir 是否设置为有效的 NDK 目录。当前设置为 D:\AndroidUnityGames\SDKROOTandroiddevelopern\ndk-bundle。 如果您不使用 NDK,请从 ANDROID_NDK_HOME 或 local.properties 中取消设置 NDK 变量以删除此警告。

NDK 缺少“平台”目录。 如果您使用的是 NDK,请验证 ndk.dir 是否设置为有效的 NDK 目录。当前设置为 D:\AndroidUnityGames\SDKROOTandroiddevelopern\ndk-bundle。 如果您不使用 NDK,请从 ANDROID_NDK_HOME 或 local.properties 中取消设置 NDK 变量以删除此警告。

setTestClassesDir(File) 方法已被弃用,并计划在 Gradle 5.0 中删除。请改用 setTestClassesDirs(FileCollection) 方法。 getTestClassesDir() 方法已被弃用,并计划在 Gradle 5.0 中删除。请改用 getTestClassesDirs() 方法。 ConfigurableReport.setDestination(Object) 方法已被弃用,并计划在 Gradle 5.0 中删除。请改用 ConfigurableReport.setDestination(File) 方法。

退出代码:1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action1 progress, System.String error) UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action1 进度) 重新抛出 GradleInvokationException:Gradle 构建失败 UnityEditor.Android.GradleWrapper.Run(System.String workingdir,System.String 任务,System.Action`1 进度) UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute(UnityEditor.Android.PostProcessor.PostProcessorContext 上下文) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTask​​s(UnityEditor.Android.PostProcessor.PostProcessorContext 上下文) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

【问题讨论】:

标签: gradle build ads failover


【解决方案1】:
  • 构建系统可以是“内部”或“Gradle”。

  • 选择“内部”可以消除问题,但根据新的 Google Play 商店政策,游戏必须兼容 32 位 (ARMv7) 和 64 位 (ARM64)(即 IL2CPP 脚本后端)。

  • 对于那个“Gradle”构建是必要的。旧版本的 UNITY 存在这种问题,要解决它,您必须下载一个稳定的版本(例如 UNITY 2018.4.9f1)。现在在“首选项”中,选中“退出时停止 gradle daemons”框。

  • 这解决了我们的“gradle”构建问题,并为我们提供了 .aab 和 .zip ext 文件。此 .aab 文件将代替 .apk 上传到 Play 商店。

【讨论】:

    【解决方案2】:

    它可以从 Gradle 切换到内部:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 2021-08-05
      • 2021-11-11
      • 2021-04-27
      • 1970-01-01
      • 2022-07-07
      • 1970-01-01
      相关资源
      最近更新 更多