Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Unity Gradle构建失败。dex异常:多个dex文件定义_Android_Unity3d_Android Gradle Plugin_Admob - Fatal编程技术网

Android Unity Gradle构建失败。dex异常:多个dex文件定义

Android Unity Gradle构建失败。dex异常:多个dex文件定义,android,unity3d,android-gradle-plugin,admob,Android,Unity3d,Android Gradle Plugin,Admob,我想制作一个Unity应用程序,显示Admob的横幅广告。接下来,我添加了Admob Unity插件。但是,在建筑上发生以下错误 这是控制台: CommandInvokationFailure: Gradle build failed. /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/bin/java -classpath "/Applications/Unity/PlaybackEngines/AndroidP

我想制作一个Unity应用程序,显示Admob的横幅广告。接下来,我添加了Admob Unity插件。但是,在建筑上发生以下错误

这是控制台:

CommandInvokationFailure: Gradle build failed. 
/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/bin/java -classpath "/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-4.0.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"

stderr[
/Users/yuukimatsushima/work/unity/BreakPlates2/Temp/gradleOut/src/main/AndroidManifest.xml:25:13-35 Error:
 Attribute meta-data#android.support.VERSION@value value=(26.1.0) from [:com.android.support.customtabs-26.1.0:] AndroidManifest.xml:25:13-35
 is also present at [:support-compat-26.0.2:] AndroidManifest.xml:28:13-35 value=(26.0.2).
 Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:23:9-25:38 to override.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processReleaseManifest'.
> Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.1.0) from [:com.android.support.customtabs-26.1.0:] AndroidManifest.xml:25:13-35
   is also present at [:support-compat-26.0.2:] AndroidManifest.xml:28:13-35 value=(26.0.2).
   Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:23:9-25:38 to override.
...
CommandInvokationFailure: Gradle build failed. 
/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/bin/java -classpath "/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-4.2.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"

stderr[

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformDexWithDexForRelease'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/common/api/zzd;
...
请告诉我如何解决此错误。 提前谢谢

注:
Unity版本:2018.2.6f1个人版

检查Android studio中的外部库,并将build.gradle设置添加到此代码中

实现文件树(包括:['*.jar'],目录:“libs”,排除:['classes.jar'])
compileOnly文件('libs/classes.jar')


(classes.jar是文件名包括com/google/android/gms/common/api/zzd)

最后我自己解决了这个错误。在我的例子中,以下解决方案奏效了

  • 统一>文件>生成设置>导出
  • 在Android项目中,删除libs中的所有.jar和.aar,除了 unity-classes.jar和NcmbGcmPlugins.arr
  • 编辑build.gradle
  • 这是build.gradle(应用程序级)


    从unity论坛找到了适合我的解决方案。将构建系统从渐变更改为内部

    参考文献

    来自sRn " 嘿 我希望这是Unity的错误,并在某个时候得到解决,因为我在将我的项目更新到2018.2.1f1 Unity版本后开始出现这个错误。 要解决这个问题,您可以尝试启用Multidex,但在启用之后,我又遇到了另一个问题,因此我不再麻烦,而是返回到2018.1.x,这对我来说很好。 另外,您可以将构建系统从Gradle更改为Internal(在文件->构建设置->构建系统中),这对我来说也很有效,但我想留在Gradle以获得更多的控制权,因此回到2018.1版更有意义。

    我通过以下方法解决了错误: 服务->广告->高级->取消选中:启用内置广告扩展


    学分:

    谢谢您的回答。你是说“unity classes.jar”吗?我将“classes.jar”替换为“unity classes.jar”,并将我的build.gradle添加到您的代码中,但出现了与我上面提到的相同的错误。构建设置中的导出选项在哪里
    CommandInvokationFailure: Gradle build failed. 
    /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/bin/java -classpath "/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-4.2.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"
    
    stderr[
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':transformDexWithDexForRelease'.
    > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/common/api/zzd;
    ...
    
    // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
    
    buildscript {
        repositories {
            jcenter()
            google()
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.1'
        }
    }
    
    allprojects {
        repositories {
            flatDir {
                dirs 'libs'
            }
            // EDIT: added following 3 lines.
            maven {
                url "https://maven.google.com"
            }
        }
    }
    
    apply plugin: 'com.android.application'
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation(name: 'NcmbGcmPlugin', ext:'aar')
    //    implementation(name: 'android.arch.lifecycle.runtime-1.0.0', ext:'aar')  // EDIT: removed
    //    implementation(name: 'com.android.support.customtabs-26.1.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.android.support.support-compat-26.1.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.android.support.support-core-ui-26.1.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.android.support.support-core-utils-26.1.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.android.support.support-fragment-26.1.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.android.support.support-media-compat-26.1.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.android.support.support-v4-26.1.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.google.android.gms.play-services-ads-15.0.1', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.google.android.gms.play-services-ads-base-15.0.1', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.google.android.gms.play-services-ads-identifier-15.0.1', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.google.android.gms.play-services-ads-lite-15.0.1', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.google.android.gms.play-services-basement-15.0.1', ext:'aar') // EDIT: removed
    //    implementation(name: 'com.google.android.gms.play-services-gass-15.0.1', ext:'aar') // EDIT: removed
    //    implementation(name: 'play-services-base-11.0.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'play-services-basement-11.0.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'play-services-gcm-11.0.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'play-services-iid-11.0.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'play-services-tasks-11.0.0', ext:'aar') // EDIT: removed
    //    implementation(name: 'support-compat-26.0.2', ext:'aar') // EDIT: removed
    //    implementation(name: 'support-core-utils-26.0.2', ext:'aar') // EDIT: removed
    //    implementation(name: 'support-v4-26.0.2', ext:'aar') // EDIT: removed
    
        implementation 'com.android.support:support-v4:26.1.0' // EDIT: added
        implementation 'com.google.android.gms:play-services-ads:15.0.1' // EDIT: added
    
        implementation project(':GoogleMobileAdsPlugin')
        implementation project(':unity-android-resources')
    
    }
    
    android {
        compileSdkVersion 28
        buildToolsVersion '28.0.0'
    
        defaultConfig {
            minSdkVersion 16
            targetSdkVersion 28
            applicationId 'blue.macho.breakplates2'
            ndk {
                abiFilters 'armeabi-v7a', 'x86'
            }
            versionCode 1
            versionName '1.0'
        }
        // ...
    }