混合版本可能导致运行时崩溃

时间:2018-04-03 16:22:23

标签: android-manifest build.gradle manifest android-cardview android-cards

Manifest文件的第二个实现行似乎存在一些问题(实现' com.android.support:cardview-v7:26.1.0')。我正在创建一个基于地图的应用程序,整个项目没有错误。但这一行显示错误

"所有com.android.supprt库必须使用完全相同的版本规范(混合版本可能导致运行时运行时崩溃。发现版本26.1.0,25.2.0。示例包括com.android.supprt :animated-vector-drawable:26.1.0和com.android.supprt:mediarouter-v7:25.2.0 more ...(Ctrl + F1)"

重建应用时,此错误会显示在以下栏中

Error:Execution failed for task 
':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: java.lang.RuntimeException: 
com.android.builder.dexing.DexArchiveMergerException: Unable to merge dexex"

这是我的清单文件请查看。错误在第15行。

//noinspection GradleCompatible
apply plugin: 'com.android.application'

android {
compileSdkVersion 26
defaultConfig {
    applicationId "com.matt.autoza"
    minSdkVersion 22
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.google.android.gms:play-services-maps:11.6.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

compile 'com.github.d-max:spots-dialog:0.7@aar'
compile 'com.rengwuxian.materialedittext:library:2.1.4'
compile 'com.github.glomadrian:MaterialAnimatedSwitch:1.1@aar'
compile 'uk.co.chrisjenx:calligraphy:2.3.0'
compile 'com.google.firebase:firebase-core:11.6.0'
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.firebase:geofire-android:2.1.2'
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:cardview-v7:26.1.0'
compile 'com.google.firebase:firebase-database:11.6.0'
compile 'com.google.firebase:firebase-auth:11.6.0'
compile 'com.google.android.gms:play-services-maps:11.6.0'
compile 'com.google.android.gms:play-services-location:11.6.0'
compile 'com.google.android.gms:play-services:11.6.0'

}
apply plugin: 'com.google.gms.google-services'

1 个答案:

答案 0 :(得分:1)

compile 'com.github.d-max:spots-dialog:0.7@aar'
compile 'com.github.glomadrian:MaterialAnimatedSwitch:1.1@aar'

compile 'uk.co.chrisjenx:calligraphy:2.3.0'

compile 'com.rengwuxian.materialedittext:library:2.1.4'

compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:cardview-v7:26.1.0'

compile 'com.google.firebase:firebase-core:11.6.0'
compile 'com.firebase:geofire-android:2.1.2'
compile 'com.google.firebase:firebase-database:11.6.0'
compile 'com.google.firebase:firebase-auth:11.6.0'

compile 'com.google.android.gms:play-services-maps:11.6.0'
compile 'com.google.android.gms:play-services-location:11.6.0'
compile 'com.google.android.gms:play-services:11.6.0'


//removed
//compile 'com.google.android.gms:play-services:11.6.0' as there was no need for it
compile 'com.google.android.gms:play-services-location:12.0.1' 
compile 'com.google.android.gms:play-services-maps:12.0.1'


//Updated the firebase versions accurately
compile 'com.firebase:geofire-android:2.1.2'
compile 'com.google.firebase:firebase-core:12.0.1'
compile 'com.google.firebase:firebase-auth:12.0.1'
compile 'com.google.firebase:firebase-database:12.0.1'

//removed appCompat as that is no further required  in androidStudio
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:cardview-v7:26.1.0'

compile 'com.github.glomadrian:MaterialAnimatedSwitch:1.1@aar'
compile 'com.github.d-max:spots-dialog:0.7@aar'

compile 'com.rengwuxian.materialedittext:library:2.1.4'
compile 'uk.co.chrisjenx:calligraphy:2.3.0'

try pasting these at the uppers place. This would solve the problem for sure