Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 最新的谷歌地图库使用旧版本的支持库_Android_Android Gradle Plugin_Build.gradle_Google Maps Android Api 2 - Fatal编程技术网

Android 最新的谷歌地图库使用旧版本的支持库

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

我最近将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-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”是更好的解释