构建Gradle项目失败

时间:2018-04-10 09:52:23

标签: android unity3d gradle sdk building

在项目达到Task mergeReleaseAssets时构建我的项目时出现此错误com.android.build.api.transform.TransformException:

  

com.android.ide.common.process.ProcessException:   java.util.concurrent.ExecutionException:com.android.dex.DexException:   多个dex文件定义   Landroid /支持/ V4 /内容/ RES / TypedArryUtils;请参阅控制台   细节

----我不知道是什么原因导致我的jdk8u-131我尝试了8u161而且我不知道SDK也许它的api等级因为我的手机api等级27奥利奥而不是它的统一我没有在SDK上下载Android 8.0(Oreo),而且我没有使用应用内购买只是来自统一的普通广告

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

这是控制台上的错误

CommandInvokationFailure:Gradle构建失败。

  

C:/ Program Files / Java / jdk1.8.0_131 \ bin \ java.exe -classpath" C:\ Program   文件\统一\编辑\数据\ PlaybackEngines \ AndroidPlayer \工具\ gradle这个\ lib中\ gradle这个-发射-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 /支持/ V4 /内容/ 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.Action 1 progress, System.String error) UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action 1   进度)Rethrow as GradleInvokationException:Gradle构建失败   UnityEditor.Android.GradleWrapper.Run(System.String workingdir,   System.String任务,System.Action 1 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()

1 个答案:

答案 0 :(得分:0)

在app level 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
}