我正在开发一款新应用。目前我正在尝试添加依赖
compile 'com.google.android.gms:play-services:10.2.1'
当我这样做时,compile 'com.android.support:appcompat-v7:25.2.0'
上的gradle编译错误说:
所有com.android.support库必须使用完全相同的版本 规范(混合版本可能导致运行时崩溃)。发现 版本25.2.0,24.0.0。例子包括 com.android.support:animated-vector-drawable:25.2.0和 com.android.support:mediarouter-v7:24.0.0 less ...(⌘F1)有一些 库的组合,或工具和库,是 不兼容,或可能导致错误。一个这样的不兼容性是 使用不支持的Android支持库版本进行编译 最新版本(或特别是低于您的版本的版本 targetSdkVersion。)
如何最好地解决此问题?
Gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "appIdhere"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
resValue "string", "authority", "${applicationId}"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
provided "org.projectlombok:lombok:1.16.8"
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support:design:25.2.0'
compile 'com.android.support:recyclerview-v7:25.2.0'
compile 'com.android.support:cardview-v7:25.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:support-v4:25.2.0'
compile 'com.squareup.okhttp:okhttp:2.7.0'
compile 'com.google.android.gms:play-services:10.2.1'
testCompile 'junit:junit:4.12'
}
答案 0 :(得分:4)
使用以下内容更新build.gradle文件:
compile' com.android.support:appcompat-v7:25.3.1'
答案 1 :(得分:4)
答案 2 :(得分:1)
以后的答案,但希望对遇到类似问题的人有所帮助。
首先,“不要使用组合的play-services目标。它引入了数十个库,使您的应用程序肿。相反,仅指定您的应用程序使用的特定Google Play服务API。”以下是每个API的播放服务模块列表:https://developers.google.com/android/guides/setup#split
您的问题,com.android.support
库中的play-services
库版本与com.android.support:appcompat-v7:25.3.1
冲突。要解决此问题,只需修改
compile 'com.google.android.gms:play-services:10.2.1'
compile 'com.google.android.gms:play-services-maps:10.2.1'
compile 'com.google.android.gms:play-services-places:10.2.1'
到
compile ('com.google.android.gms:play-services-maps:10.2.1') {
exclude group: 'com.android.support'
}
compile ('com.google.android.gms:play-services-places:10.2.1') {
exclude group: 'com.android.support'
}
答案 3 :(得分:0)
您应该在build.gradle文件中替换以下行:
compile 'com.google.android.gms:play-services:10.2.1'
这些行
compile 'com.google.android.gms:play-services-fitness:10.2.1'
compile 'com.google.android.gms:play-services-wearable:10.2.1'
您也可以根据您的要求添加这些行
//for Google+
compile 'com.google.android.gms:play-services-plus:10.2.1'
//for Google Account Login
compile 'com.google.android.gms:play-services-auth:10.2.1'
作为参考,您必须遵循 [https://developers.google.com/android/guides/setup]