【问题标题】:Building Gradle project fail构建 Gradle 项目失败
【发布时间】:2018-04-10 09:52:23
【问题描述】:

在构建我的项目时,当它到达 Task mergeReleaseAssets 时,我收到此错误 com.android.build.api.transform.TransformException:

com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException:com.android.dex.DexException: 多个dex文件定义 Landroid/support/v4/content/res/TypedArryUtils;请参阅控制台 详情

----我不知道这是什么原因,我的 jdk8u-131 我试过 8u161,我不知道 SDK 可能是它的 api 级别,因为我的手机 api 级别 27 Oreo,它不是统一的,我做到了t 在 SDK 上下载 Android 8.0 (Oreo),我没有使用应用内购买,只是来自统一的普通广告

对于 GoggleMobileAds,我下载了它,但我没有在项目中使用它,因为它伤了我的头,我使用了来自 unity 的普通广告

这是控制台上的错误

CommandInvokationFailure:Gradle 构建失败。

C:/Program Files/Java/jdk1.8.0_131\bin\java.exe -classpath "C:\Program 文件\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.0.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" “assembleRelease”stderr [失败:构建失败并出现 例外。出了什么问题:

任务“:transformClassesWithDexForRelease”执行失败。 com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException:com.android.dex.DexException: 多个dex文件定义 Landroid/support/v4/content/res/TypedArrayUtils;
:transformClassesWithDexForRelease FAILED 66 可操作任务:56 已执行,10 个最新] 退出代码: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.Action1 progress) UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

【问题讨论】:

标签: android unity3d gradle sdk building


【解决方案1】:

在应用级别 gradle 的 defaultConfig 中添加 multiDexEnabled true。

defaultConfig {
    applicationId "your application id"
    minSdkVersion 16
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner"android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled true
}

【讨论】:

  • 在哪里可以找到这个东西,你能说得更具体些吗,因为我对此很陌生,我的应用程序 ID 也是如此,我在哪里可以找到它谢谢你我知道它的愚蠢问题
  • 应用程序 id 是你的包名,例如 "com.something.something" ;P com.whatsapp 是 whatsapp id , com.facebook.katana 是 facebook 应用程序 id
  • 请提供任何帮助,当我尝试在不同的项目上构建时,一切都在这个项目上工作,我遇到了这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-19
  • 2013-08-17
  • 1970-01-01
  • 2018-09-24
  • 2019-05-12
  • 2018-03-10
  • 2018-10-03
相关资源
最近更新 更多