Android 最新的谷歌地图库使用旧版本的支持库
我最近将build.gradle文件更改为使用Android 最新的谷歌地图库使用旧版本的支持库,android,android-gradle-plugin,build.gradle,google-maps-android-api-2,Android,Android Gradle Plugin,Build.gradle,Google Maps Android Api 2,我最近将build.gradle文件更改为使用implementation而不是compile。 implementation关键字强制您确保所有依赖项都具有相同的版本 显然,谷歌地图依赖项“com.google.android.gms:play services maps:12.0.1”使用的是旧版本的支持库(26.1.0) 运行/gradlew dependencies-b app/build.gradle 以下是输出: +--- com.google.android.gms:play-se
implementation
而不是compile
。
implementation
关键字强制您确保所有依赖项都具有相同的版本
显然,谷歌地图依赖项“com.google.android.gms:play services maps:12.0.1”使用的是旧版本的支持库(26.1.0)
运行/gradlew dependencies-b app/build.gradle
以下是输出:
+--- com.google.android.gms:play-services-maps:12.0.1
| +--- com.google.android.gms:play-services-base:12.0.1
| | +--- com.google.android.gms:play-services-basement:12.0.1
| | | +--- com.android.support:support-v4:26.1.0
| | | | +--- com.android.support:support-compat:26.1.0 -> 27.1.0 (*)
| | | | +--- com.android.support:support-media-compat:26.1.0
| | | | | +--- com.android.support:support-annotations:26.1.0 -> 27.1.0
| | | | | \--- com.android.support:support-compat:26.1.0 -> 27.1.0 (*)
| | | | +--- com.android.support:support-core-utils:26.1.0 -> 27.1.0 (*)
| | | | +--- com.android.support:support-core-ui:26.1.0 -> 27.1.0 (*)
| | | | \--- com.android.support:support-fragment:26.1.0 -> 27.1.0 (*)
问题是:这种情况有解决方案吗?我知道使用compile
而不是implementation
解决了这个问题,但是compile
将在2019年被删除
以下是build.gradle
文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.test.myapplication"
minSdkVersion 14
targetSdkVersion 27
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:appcompat-v7:27.1.0'
implementation 'com.google.android.gms:play-services-maps:12.0.1'
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'
}
您可以限制支持库版本,尝试使用
resolutionStrategy
Follow或类似的方法。“我知道使用编译而不是实现解决了问题”——我不知道。为27.1.0
添加support-v4
的implementation
,以强制升级该工件。然后,希望Google不仅更新他们的库,而且使用比support-v4
更小/更少过时的工件。当你面对这种情况时,使用“api”是更好的解释