多个dex文件定义Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
Multiple dex files define Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
我在 android studio
上尝试编译我的项目时遇到此错误
app:transformClassesWithDexForDebug FAILED
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
`com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-i386/bin/java'' finished with non-zero exit value 2`
下面是我的 build.gradle 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "paritosh.d9.groceries"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.android.support:design:23.1.1'
compile 'com.facebook.android:facebook-android-sdk:4.11.0'
compile 'com.facebook.android:audience-network-sdk:4.7.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-auth:8.4.0'
}
我试图解决这个问题已经好几个小时了。我试过
删除我的播放服务依赖项,但这并没有解决问题。
请帮我解决这个问题。谢谢
你有重复的依赖项——两个 类 是相同的。您应该了解哪个库包含您应该排除的那个库。为此,您需要 运行 控制台中的下一行:
./gradlew app:androidDependencies
此外,您可以在 Android Studio 中使用 Gradle 插件执行相同的操作:
输出将是这样的:
+--- com.android.support:multidex:1.0.1
+--- io.realm:realm-android-library:1.0.0
| \--- com.getkeepsafe.relinker:relinker:1.2.1
+--- com.android.support:appcompat-v7:23.3.0
| +--- com.android.support:animated-vector-drawable:23.3.0
| | \--- com.android.support:support-vector-drawable:23.3.0
| \--- com.android.support:support-vector-drawable:23.3.0
+--- com.android.support:design:23.3.0
| +--- com.android.support:appcompat-v7:23.3.0
| | +--- com.android.support:animated-vector-drawable:23.3.0
| | | \--- com.android.support:support-vector-drawable:23.3.0
| | \--- com.android.support:support-vector-drawable:23.3.0
| \--- com.android.support:recyclerview-v7:23.3.0
查找 gms
库的重复项并像这样排除它:
compile(group: 'com.google.android.gms', name: 'play-services-gcm', version: "8.4.0") {
exclude(group: 'com.google.android.gms', module: 'play-services-base')
exclude(group: 'com.google.android.gms', module: 'play-services-basement')
}
如果还是不能解决问题,请告诉我
的输出结果
./gradlew app:androidDependencies
我在 android studio
上尝试编译我的项目时遇到此错误app:transformClassesWithDexForDebug FAILED
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
`com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-i386/bin/java'' finished with non-zero exit value 2`
下面是我的 build.gradle 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "paritosh.d9.groceries"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.android.support:design:23.1.1'
compile 'com.facebook.android:facebook-android-sdk:4.11.0'
compile 'com.facebook.android:audience-network-sdk:4.7.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-auth:8.4.0'
}
我试图解决这个问题已经好几个小时了。我试过 删除我的播放服务依赖项,但这并没有解决问题。 请帮我解决这个问题。谢谢
你有重复的依赖项——两个 类 是相同的。您应该了解哪个库包含您应该排除的那个库。为此,您需要 运行 控制台中的下一行:
./gradlew app:androidDependencies
此外,您可以在 Android Studio 中使用 Gradle 插件执行相同的操作:
输出将是这样的:
+--- com.android.support:multidex:1.0.1
+--- io.realm:realm-android-library:1.0.0
| \--- com.getkeepsafe.relinker:relinker:1.2.1
+--- com.android.support:appcompat-v7:23.3.0
| +--- com.android.support:animated-vector-drawable:23.3.0
| | \--- com.android.support:support-vector-drawable:23.3.0
| \--- com.android.support:support-vector-drawable:23.3.0
+--- com.android.support:design:23.3.0
| +--- com.android.support:appcompat-v7:23.3.0
| | +--- com.android.support:animated-vector-drawable:23.3.0
| | | \--- com.android.support:support-vector-drawable:23.3.0
| | \--- com.android.support:support-vector-drawable:23.3.0
| \--- com.android.support:recyclerview-v7:23.3.0
查找 gms
库的重复项并像这样排除它:
compile(group: 'com.google.android.gms', name: 'play-services-gcm', version: "8.4.0") {
exclude(group: 'com.google.android.gms', module: 'play-services-base')
exclude(group: 'com.google.android.gms', module: 'play-services-basement')
}
如果还是不能解决问题,请告诉我
的输出结果./gradlew app:androidDependencies