【发布时间】:2017-11-02 16:28:46
【问题描述】:
我将我正在开发的 unity 项目导入 Android Studio,以便摆脱 READ_PHONE_STATE 和 WRITE_EXTERNAL_STORAGE 权限,unity 2017.2 会自动恼人地添加到 APK 构建中。
在将 build.gradle 版本从 2.1.0 更改为 3.0.0 后,我成功地将项目导入 Android Studio 3.0。清理项目,现在我可以构建了。
问题是我无法构建。我遇到了错误:
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/games/bridge/BuildConfig;
和
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;
和
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/tappx/sdk/android/BuildConfig;
和
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 for unity v 0.9.42
- Firebase SDK(分析、动态链接、通知、remoteConfig)v 4.2.1
- IronSource SDK
- TappX SDK
请查看我的 build.gradle 文件
// 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 - 但它对输出没有任何影响。
这是成绩控制台日志的最后一部分:
: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
我希望我能找到答案,因为我的工作因此而被搁置。 谢谢 拉米·易卜拉欣
【问题讨论】:
标签: android-studio unity3d apk build.gradle google-play-games