首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >统一项目在AndroidStudio3.0构建错误: com.android.dex.DexException:多个dex文件定义Lcom/google/游戏/桥/BuildConfig;

统一项目在AndroidStudio3.0构建错误: com.android.dex.DexException:多个dex文件定义Lcom/google/游戏/桥/BuildConfig;
EN

Stack Overflow用户
提问于 2017-11-02 16:28:46
回答 1查看 1.2K关注 0票数 0

我将我正在处理的统一项目导入到Android,以便摆脱READ_PHONE_STATE和WRITE_EXTERNAL_STORAGE权限,unity 2017.2自动添加到APK中。

在将build.gradle版本从2.1.0更改为3.0.0后,我成功地将该项目导入到AndroidStudio3.0。清理这个项目,现在我已经准备好了。

问题是我无法建造。我正在犯错误:

代码语言:javascript
运行
复制
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/games/bridge/BuildConfig;

代码语言:javascript
运行
复制
Error:Execution failed for task ':transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lcom/google/games/bridge/BuildConfig;

代码语言:javascript
运行
复制
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/tappx/sdk/android/BuildConfig;

代码语言:javascript
运行
复制
Error:Execution failed for task ':transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lcom/tappx/sdk/android/BuildConfig;

我的统一项目有以下插件:

  • 统一的PlayGames诉0.9.42
  • Firebase (分析、动态链接、通知、remoteConfig) v4.2.1
  • IronSource SDK
  • TappX SDK

请看一下我的build.gradle文件

代码语言:javascript
运行
复制
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

allprojects {
   repositories {
      flatDir {
        dirs 'libs'
      }
   }
}

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile(name: 'Admob_appbrain-sdk-13.22', ext:'aar')
    compile(name: 'common', ext:'aar')
    compile(name: 'firebase-analytics-11.4.2', ext:'aar')
    compile(name: 'firebase-analytics-impl-11.4.2', ext:'aar')
    compile(name: 'firebase-config-11.4.2', ext:'aar')
    compile(name: 'firebase-dynamic-links-11.4.2', ext:'aar')
    compile(name: 'firebase-messaging-11.4.2', ext:'aar')
    compile(name: 'GoogleAIDL', ext:'aar')
    compile(name: 'GooglePlay', ext:'aar')
    compile(name: 'play-services-appinvite-11.4.2', ext:'aar')
    compile(name: 'play-services-auth-11.4.2', ext:'aar')
    compile(name: 'play-services-auth-base-11.4.2', ext:'aar')
    compile(name: 'play-services-base-11.4.2', ext:'aar')
    compile(name: 'play-services-basement-11.4.2', ext:'aar')
    compile(name: 'play-services-drive-11.4.2', ext:'aar')
    compile(name: 'play-services-games-11.4.2', ext:'aar')
    compile(name: 'play-services-nearby-11.4.2', ext:'aar')
    compile(name: 'play-services-tasks-11.4.2', ext:'aar')
    compile(name: 'support-compat-25.2.0', ext:'aar')
    compile(name: 'support-core-ui-25.2.0', ext:'aar')
    compile(name: 'support-core-utils-25.2.0', ext:'aar')
    compile(name: 'support-fragment-25.2.0', ext:'aar')
    compile(name: 'support-media-compat-25.2.0', ext:'aar')
    compile(name: 'support-v4-25.2.0', ext:'aar')
    compile project(':Firebase')
    compile project(':firebase-analytics-impl-license-11.4.2')
    compile project(':firebase-analytics-license-11.4.2')
    compile project(':firebase-analytics-unity-4.2.1')
    compile project(':firebase-app-unity-4.2.1')
    compile project(':firebase-common-11.4.2')
    compile project(':firebase-common-license-11.4.2')
    compile project(':firebase-config-license-11.4.2')
    compile project(':firebase-config-unity-4.2.1')
    compile project(':firebase-core-11.4.2')
    compile project(':firebase-dynamic-links-license-11.4.2')
    compile project(':firebase-dynamic-links-unity-4.2.1')
    compile project(':firebase-iid-11.4.2')
    compile project(':firebase-iid-license-11.4.2')
    compile project(':firebase-messaging-license-11.4.2')
    compile project(':firebase-messaging-unity-4.2.1')
    compile project(':GooglePlayGamesManifest.plugin')
    compile project(':gpgs-plugin-support-0.9.42')
    compile project(':IronSource')
    compile project(':play-services-appinvite-license-11.4.2')
    compile project(':play-services-base-license-11.4.2')
    compile project(':play-services-basement-license-11.4.2')
    compile project(':play-services-tasks-license-11.4.2')
    compile project(':TappxSDK')
}

android {
    compileSdkVersion 25
    buildToolsVersion '27.0.0'

    defaultConfig {
        targetSdkVersion 25
        applicationId 'play.TheEgg'
    }

    lintOptions {


abortOnError false
}

aaptOptions {
    noCompress '.unity3d', '.ress', '.resource', '.obb'
}

signingConfigs { release {
    storeFile file('C:/Keystores/user.keystore')
    storePassword 'STORE_PASS'
    keyAlias 'KEY_ALIAS'
    keyPassword 'KEY_PASS'
} }

buildTypes {
    debug {
        minifyEnabled false
        useProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'
        jniDebuggable true
    }
    release {
        minifyEnabled true
        useProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'
        signingConfig signingConfigs.release
    }
}

}

我试图添加multiDexEnabled = true,但是它对输出没有任何影响。

下面是品位控制台日志的最后一部分:

代码语言:javascript
运行
复制
:firebase-core-11.4.2:mergeDebugShaders UP-TO-DATE
:firebase-core-11.4.2:compileDebugShaders UP-TO-DATE
:firebase-core-11.4.2:generateDebugAssets UP-TO-DATE
:firebase-core-11.4.2:mergeDebugAssets UP-TO-DATE
:firebase-dynamic-links-license-11.4.2:mergeDebugShaders UP-TO-DATE
:firebase-dynamic-links-license-11.4.2:compileDebugShaders UP-TO-DATE
:firebase-dynamic-links-license-11.4.2:generateDebugAssets UP-TO-DATE
:firebase-dynamic-links-license-11.4.2:mergeDebugAssets UP-TO-DATE
:firebase-dynamic-links-unity-4.2.1:mergeDebugShaders UP-TO-DATE
:firebase-dynamic-links-unity-4.2.1:compileDebugShaders UP-TO-DATE
:firebase-dynamic-links-unity-4.2.1:generateDebugAssets UP-TO-DATE
:firebase-dynamic-links-unity-4.2.1:mergeDebugAssets UP-TO-DATE
:firebase-iid-11.4.2:mergeDebugShaders UP-TO-DATE
:firebase-iid-11.4.2:compileDebugShaders UP-TO-DATE
:firebase-iid-11.4.2:generateDebugAssets UP-TO-DATE
:firebase-iid-11.4.2:mergeDebugAssets UP-TO-DATE
:firebase-iid-license-11.4.2:mergeDebugShaders UP-TO-DATE
:firebase-iid-license-11.4.2:compileDebugShaders UP-TO-DATE
:firebase-iid-license-11.4.2:generateDebugAssets UP-TO-DATE
:firebase-iid-license-11.4.2:mergeDebugAssets UP-TO-DATE
:firebase-messaging-license-11.4.2:mergeDebugShaders UP-TO-DATE
:firebase-messaging-license-11.4.2:compileDebugShaders UP-TO-DATE
:firebase-messaging-license-11.4.2:generateDebugAssets UP-TO-DATE
:firebase-messaging-license-11.4.2:mergeDebugAssets UP-TO-DATE
:firebase-messaging-unity-4.2.1:mergeDebugShaders UP-TO-DATE
:firebase-messaging-unity-4.2.1:compileDebugShaders UP-TO-DATE
:firebase-messaging-unity-4.2.1:generateDebugAssets UP-TO-DATE
:firebase-messaging-unity-4.2.1:mergeDebugAssets UP-TO-DATE
:gpgs-plugin-support-0.9.42:mergeDebugShaders
:gpgs-plugin-support-0.9.42:compileDebugShaders
:gpgs-plugin-support-0.9.42:generateDebugAssets
:gpgs-plugin-support-0.9.42:mergeDebugAssets
:play-services-appinvite-license-11.4.2:mergeDebugShaders UP-TO-DATE
:play-services-appinvite-license-11.4.2:compileDebugShaders UP-TO-DATE
:play-services-appinvite-license-11.4.2:generateDebugAssets UP-TO-DATE
:play-services-appinvite-license-11.4.2:mergeDebugAssets UP-TO-DATE
:play-services-base-license-11.4.2:mergeDebugShaders UP-TO-DATE
:play-services-base-license-11.4.2:compileDebugShaders UP-TO-DATE
:play-services-base-license-11.4.2:generateDebugAssets UP-TO-DATE
:play-services-base-license-11.4.2:mergeDebugAssets UP-TO-DATE
:play-services-basement-license-11.4.2:mergeDebugShaders UP-TO-DATE
:play-services-basement-license-11.4.2:compileDebugShaders UP-TO-DATE
:play-services-basement-license-11.4.2:generateDebugAssets UP-TO-DATE
:play-services-basement-license-11.4.2:mergeDebugAssets UP-TO-DATE
:play-services-tasks-license-11.4.2:mergeDebugShaders UP-TO-DATE
:play-services-tasks-license-11.4.2:compileDebugShaders UP-TO-DATE
:play-services-tasks-license-11.4.2:generateDebugAssets UP-TO-DATE
:play-services-tasks-license-11.4.2:mergeDebugAssets UP-TO-DATE
:mergeDebugAssets
:transformClassesWithDexBuilderForDebug
:transformDexArchiveWithExternalLibsDexMergerForDebug
:transformDexArchiveWithDexMergerForDebug
AGPBI: {"kind":"error","text":"Error converting bytecode to dex:\nCause: com.android.dex.DexException: Multiple dex files define Lcom/google/games/bridge/BuildConfig;","sources":[{}],"original":"UNEXPECTED TOP-LEVEL EXCEPTION:\ncom.android.dex.DexException: Multiple dex files define Lcom/google/games/bridge/BuildConfig;\n","tool":"Dex"}
AGPBI: {"kind":"error","text":"com.android.dex.DexException: Multiple dex files define Lcom/google/games/bridge/BuildConfig;","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:198)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)","sources":[{}]}

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lcom/google/games/bridge/BuildConfig;

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 13s

404 actionable tasks: 12 executed, 392 up-to-date

我希望我能找到一个答案,因为我的工作现在正因为这个而暂停。谢谢拉米·易卜拉欣

EN

Stack Overflow用户

发布于 2017-12-02 00:45:36

(我是Firebase C++ / Unity的开发人员)

听起来你达到了Dex的极限。有一种在资产中使用“分级预构建”的实验性方法->Google->Android>Settings菜单选项。

然而,这仍然是实验性的。如果它不能工作,当前建议的工作流是将构建系统设置为分级,选择“导出”,将您的项目导出到gradle,在生成的gradle生成中启用proguard剥除,然后从那里构建您的项目。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47080199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档