我正在尝试生成已签名的APK以在物理设备上测试我的应用。在我尝试将Google AdMob
横幅广告添加到我的应用之前,该应用正在运行。我一直收到这个错误:
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.
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/internal/zzkf;
这是我的build.gradle
:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.coolappsforall.fartboard"
minSdkVersion 14
targetSdkVersion 25
versionCode 2
versionName "1.0.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false;
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services-ads:11.6.0'
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.1'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-appindexing:8.4.0'
}
不确定导致问题的原因,如果有人知道,或者您还需要其他任何内容,请告知我们。
非常感谢您在这件事上的时间和帮助。
答案 0 :(得分:1)
如果某些类与不同的库重叠,则会发生此错误。尝试添加:
compile 'com.android.support:multidex:1.0.1'
答案 1 :(得分:0)
second_date
//更改compilesdk版本
// add line multiDexEnabled true in defaultConfig
defaultConfig {
applicationId "com.coolappsforall.fartboard"
minSdkVersion 14
targetSdkVersion 25
versionCode 2
versionName "1.0.1"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
//add below lines after closed bracts
dexOptions {
javaMaxHeapSize "4g"
}
和
compileSdkVersion 23
答案 2 :(得分:0)
这是因为您混合了不同版本的Google Play服务依赖项。因此,你需要使它们相同:
dependencies {
...
compile 'com.google.android.gms:play-services-ads:11.6.0'
compile 'com.google.android.gms:play-services-appindexing:11.6.0'
}