Настройка Gradle для api 26 (Android)
Так как я обновил свой Nexus 5x до Android O DP3, я не могу проверить свои приложения. Я получаю сообщение об ошибке, поскольку не настроил мой Gradle файл для работы с новым уровнем API (26).
Итак, я изменил эту и зависимостей, но я все время получаю ошибки во всех моих библиотеках поддержки, таких как
Failed to resolve: com.android.support:design:26.0.0-beta2
Нажав
Install repository and sync project
Восстанавливает прогрессдиалога для загрузки правильной зависимости, но не удаляет ошибку. Очистка проекта, установка репозиториев, а затем восстановление проекта также не будут работать.
AppCompat-v7
В appcompat-v7: 26.0.0-beta2 я получаю (до даже Gradle sync) скрипучие строки с ошибкой:
When using a compileSdkVersion older than android-O revision 2,
the support library version must be 26.0.0-alpha1 or lower (was 26.0.0-beta2)
Может кто-нибудь помочь мне правильно настроить файл Gradle для Android API 26?
Любая помощь будет оценена.
PS: Я использую Gradle 3.0.0-alpha3 на данный момент, но получаю ту же ошибку на Gradle 2.3.2
Мой Gradle файл:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion '26.0.0'
defaultConfig {
applicationId "********"
minSdkVersion 21
targetSdkVersion 26
versionCode 3
versionName "2.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:26.0.0-beta2'
compile 'com.android.support:design:26.0.0-beta2'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:cardview-v7:26.0.0-beta2'
compile 'com.android.support:recyclerview-v7:26.0.0-beta2'
compile 'com.redbooth:WelcomeCoordinator:1.0.1'
compile 'com.github.kittinunf.fuel:fuel-android:1.4.0'
compile 'com.pkmmte.view:circularimageview:1.1'
compile 'com.ramotion.foldingcell:folding-cell:1.1.0'
}
Ответы
Ответ 1
Добавили ли вы конечную точку google maven?
Важно: Библиотеки поддержки теперь доступны через репозиторий Google Maven. Вам не нужно загружать репозиторий поддержки из диспетчера SDK. Для получения дополнительной информации см. Поддержка настройки библиотеки.
Добавьте конечную точку в файл build.gradle:
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com'
}
}
}
Что можно заменить ярлыком google()
с Android Gradle v3:
allprojects {
repositories {
jcenter()
google()
}
}
Если у вас уже есть URL-адрес maven внутри repositories
, вы можете добавить ссылку после них, то есть:
allprojects {
repositories {
jcenter()
maven {
url 'https://jitpack.io'
}
maven {
url 'https://maven.google.com'
}
}
}
Ответ 2
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "com.keshav.retroft2arrayinsidearrayexamplekeshav"
minSdkVersion 15
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'
}
}
}
compile 'com.android.support:appcompat-v7:26.0.1'
compile 'com.android.support:recyclerview-v7:26.0.1'
compile 'com.android.support:cardview-v7:26.0.1'
Ответ 3
Appart от установки URL-адреса источника maven к вашему gradle, я бы предложил добавить библиотеки дизайна и appcompat.
В настоящее время последняя версия - 26.1.0
maven {
url "https://maven.google.com"
}
...
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
Ответ 4
Вы можете добавить google()
в блок репозиториев
allprojects {
repositories {
jcenter()
maven {
url 'https://github.com/uPhyca/stetho-realm/raw/master/maven-repo'
}
maven {
url "https://jitpack.io"
}
google()
}
}
Ответ 5
Появляется решение, разрешенное Android Studio 3.0 Canary 4 и Gradle 3.0.0-alpha4.
Ответ 6
вы должны добавить в свой файл MODULE-LEVEL build.gradle:
//module-level build.gradle file
repositories {
maven {
url 'https://maven.google.com'
}
}
см. Репозиторий Google Maven
Я заметил, что когда я использую Android Studio 2.3.3, я ДОЛЖЕН добавлять репозитории {maven {url ' https://maven.google.com '}} в MODULE-LEVEL build.gradle.
В случае Android Studio 3.0.0 нет необходимости добавлять в модуль build.gradle. Достаточно добавить в уровень проекта build.gradle, о котором упоминалось в других сообщениях здесь, а именно:
//project-level build.gradle file
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
}
ОБНОВЛЕНИЕ 11-14-2017: Решение, которое я представляю, было действительным, когда я делал сообщение. С тех пор были различные обновления (даже в отношении сайта, на который я ссылаюсь), и я не знаю, действительно ли это. В течение одного месяца я выполнял свою работу в зависимости от решения выше, пока не перешел на Android Studio 3.0.0
Ответ 7
после добавления:
maven {
url "https://maven.google.com"
}
убедитесь, что ваша синхронизация Gradle находится в режиме онлайн
Вы можете проверить это в: Android studio → Настройки → Сборка, Выполнение, Развертывание → Gradle → Автономная работа (убедитесь, что этот флажок не установлен)