Компилировать appcompat v7: 26. + ошибка при добавлении игровых сервисов для поставщика местоположения слияния

У меня проблема, и я посмотрел на возможные повторяющиеся вопросы и ответы, и я думаю, что этим не отвечают другие, поэтому спрашивайте здесь.

Я обновил свои игровые сервисы, чтобы воспользоваться поставщиком плавного доступа, и теперь appcompat в моем gradle показывает ошибку.

Итак, я создал новый проект и проверил build.gradle в новом проекте и имел точно такой же appcompat, но мой проект показывает ошибку.

apply plugin: 'com.android.application'

android {
compileSdkVersion 26
buildToolsVersion "26.0.0"
defaultConfig {
    applicationId "au.com.itmobilesupport.sqltwo"
    minSdkVersion 17
    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 {
compile fileTree(include: ['*.jar'], dir: 'libs')
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:26.+'
compile 'com.android.support:recyclerview-v7:26.+'
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-maps:11.0.0'
compile 'com.google.android.gms:play-services:11.0.1'
}

В этой строке отображается ошибка:

compile 'com.android.support:appcompat-v7:26.+'

Но в новом проекте это прекрасно. Почему я получаю сообщение об ошибке?

UPDATE:

Если я удалю эти две строки, ошибка исчезнет:

compile 'com.google.android.gms:play-services-maps:11.0.0'
compile 'com.google.android.gms:play-services:11.0.1'

Но мне они нужны, так что все еще есть ошибка.

Ответ 1

Наконец, разрешил проблему с помощью ответа ZeroOne на аналогичный вопрос.

Что заставило меня взглянуть на ответ ZeroOnes: Google дал мне причину, но не как ошибку. Моя проблема заключалась в том, что следующая строка слишком обширна и добавлено много дополнительных зависимостей, что сделало бы приложение излишне большим.

compile 'com.google.android.gms:play-services:11.0.1'

Мне просто нужно было быть более конкретным, и ошибка исчезла.

Вот окончательный gradle.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.0"
    defaultConfig {
        applicationId "au.com.itmobilesupport.sqltwo"
        minSdkVersion 17
        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 {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    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:26.+'
    compile 'com.android.support:recyclerview-v7:26.+'
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
    testCompile 'junit:junit:4.12'
    compile 'com.google.android.gms:play-services-maps:11.0.1'
    compile 'com.google.android.gms:play-services-location:11.0.1'
}

И это специфицированная строка, которую я меняю выше:

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

Надеюсь, это поможет кому-то, кто сталкивается с той же проблемой.

Ответ 2

Добавьте эти строки в свой build.gradle файл, чтобы получить библиотеки, которые у вас отсутствуют на основе сайта Google.

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

Внимание: использование динамических зависимостей (например, palette-v7: 23.0. +) может привести к неожиданным обновлениям версии и несовместимости регрессии. Мы рекомендуем явно указать версию библиотеки (например, palette-v7: 25.4.0).

Ответ 3

Более конкретно с помощью compile 'com.google.android.gms: play-services-location: 11.0.1' вместо компиляции 'com.google.android.gms: play-services: 11.0.1' сохранен мой проект также, tks много парней.