Я использую Android Studio 3.2 Beta5 для переноса моего проекта на AndroidX. Когда я перестраиваю свое приложение, я получаю следующие ошибки:
ERROR: [TAG] Failed to resolve variable '${animal.sniffer.version}'
ERROR: [TAG] Failed to resolve variable '${junit.version}'
Полная очистка и восстановление не сработали! Кто-нибудь знает, как это исправить?
gradle.properties
android.enableJetifier=true
android.useAndroidX=true
build.gradle
buildscript {
repositories {
google()
jcenter()
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0-beta05'
classpath 'com.google.gms:google-services:4.0.1'
classpath "io.realm:realm-gradle-plugin:5.3.1"
classpath 'io.fabric.tools:gradle:1.25.4'
classpath 'com.google.firebase:firebase-plugins:1.1.5'
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
приложение / build.gradle
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'io.fabric'
apply plugin: 'com.google.firebase.firebase-perf'
android {
compileSdkVersion 28
buildToolsVersion "28.0.0"
defaultConfig {
applicationId "com.iceteaviet.fastfoodfinder"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
}
}
aaptOptions {
cruncherEnabled = false
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
testImplementation 'junit:junit:4.12'
implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
implementation 'androidx.appcompat:appcompat:1.0.0-rc01'
implementation 'com.google.android.material:material:1.0.0-rc01'
implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc01'
implementation 'androidx.cardview:cardview:1.0.0-rc01'
implementation 'com.google.maps.android:android-maps-utils:0.5'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.1'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
implementation 'com.github.bumptech.glide:glide:4.7.1'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'org.greenrobot:eventbus:3.1.1'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'io.realm:realm-android-library:5.3.1'
implementation 'com.facebook.android:facebook-android-sdk:4.34.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
implementation 'io.reactivex.rxjava2:rxjava:2.0.2'
implementation 'androidx.multidex:multidex:2.0.0'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
implementation 'com.google.firebase:firebase-perf:16.0.0'
implementation 'com.jakewharton.timber:timber:4.7.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
}
apply plugin: 'com.google.gms.google-services'
@ChadBingham Нет, это все та же ошибка
Наконец-то нашли решение, ответ здесь: stackoverflow.com/a/52308912/10224384
Возможный дубликат stackoverflow.com/questions/52294319/…
@Nabster эй, эй, мой вопрос был опубликован месяц назад, а этот вопрос был опубликован 20 часов назад!
Такая же проблема и со стабильной версией Android Studio 3.2. Недействительный перезапуск кеша только временно устранил эту проблему
@nboxbypass вы должны выбрать ответ! :)
Попробуйте удалить эту строку:
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
из раздела buildscript / repositories вашего файла build.gradle.
Когда я добавил эту строку, я получил описанную вами ошибку. Когда я его удалил, больше нет. Эта строка должна быть только в разделе allprojects / repositories.
Я считаю, что Джейк Уортон уже добавил поддержку AndroidX в моментальный снимок 9.0.0. См .: github.com/JakeWharton/butterknife/issues/1280
Я исправляю это в два шага
1) Файл -> Недействительные кеши / перезапуск ...

Как-то сработало несколько перестроек, но теперь я снова получаю ту же ошибку ..
для меня Clean Project было достаточно
К тому же Clean Project был всем, что мне требовалось. Спасибо @ f4bo за подсказку.
Оно работает. Я только чистый проект. Этот ответ должен быть установлен как принятый. @nhoxbypass
Попробуйте установить android.enableJetifier = false в gradle.properties. Затем сделать недействительными кеши / перезапустить ... в Android Studio
Это не рекомендуется, поскольку могут быть сторонние библиотеки, которые еще не были обновлены до AndroidX! Как говорится в документации: «android.enableJetifier: если установлено значение true, плагин Android автоматически переносит существующие сторонние библиотеки на использование AndroidX, переписывая их двоичные файлы. По умолчанию флаг установлен в false, если он не указан». developer.android.com/jetpack/androidx
Вроде проблема в Скольжение.
У меня была такая же ошибка, и я только что обновил зависимости Glide до 4.8, и ошибок сборки нет.
Котлин:
// Glide
def glide_version = "4.8.0"
implementation "com.github.bumptech.glide:glide:$glide_version"
kapt "com.github.bumptech.glide:compiler:$glide_version"
Джава :
// Glide
def glide_version = "4.8.0"
implementation "com.github.bumptech.glide:glide:$glide_version"
annotationProcessor "com.github.bumptech.glide:compiler:$glide_version"
Обязательно включите в своем gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
Источник: https://github.com/bumptech/glide/issues/3124
Надеюсь, что это поможет вам!
Эта ошибка также появляется мне без использования Glide в качестве зависимости
Исправление находится в версии 4.2.0, используйте более высокую версию google gms jar.
Попробуйте изменить:
classpath 'com.google.gms:google-services:4.0.1'
по этой версии:
classpath 'com.google.gms:google-services:4.2.0'
Надеюсь, это сработает ...
У меня это сработало вместе с обновлением зависимостей.
Я исправил это, обновив зависимости firebase до последней версии.
Добавление Поддержка Java 8 в файл build.gradle исправило проблему для меня
android {
...
//Add the following configuration in order to target Java 8.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
наклон не найден. Я создаю приложение для ТВ, и он становится красным на все, что касается поддержки Leanback v17
аннулировать кеши и перезапустить студию Android
Нет, это не так, я подумал, что вам нужно использовать пакет androidx.
Я предполагаю, что добавление поддержки Java 8 вынуждает Android Studio аннулировать свои кеши и, таким образом, дает тот же результат, что и побочный эффект ... Хммм, хорошо ...
У меня такая же ошибка после обновления файла build.gradle с помощью Зависимости AndroidX Test. Оказывается, я забыл удалить старую зависимость junit. Итак, для меня исправление заключалось в простом удалении следующей зависимости:
dependencies {
...
testImplementation 'junit:junit:4.12'
}
Это было проблемой для меня.
Ага исправил. Я столкнулся с проблемой с курсом Udacity Kotlin угадай игру
Не могли бы вы объяснить, почему это так?
Если вы используете Kotlin, проблема появится, если вы не используете версию kapt для любого процессора аннотаций, который вы используете в проекте.
Как @Vince упомянул случай с Glide, это могло произойти с Dagger2, Butterknife и т. д.
Если вы используете и Java, и Kotlin, вам необходимо сохранить обе зависимости, как показано ниже (если $glideVersion является предопределенной версией Glide):
implementation "com.github.bumptech.glide:glide:$glideVersion"
kapt "com.github.bumptech.glide:compiler:$glideVersion"
Если вы работаете только с проектом Kotlin, зависимость kapt должна работать отдельно.
РЕДАКТИРОВАТЬ
Еще вам следует иметь в виду, если вы уже используете Androidx. Androidx - отличный рефакторинг, но при переносе он может привести к краху некоторых ваших зависимостей. Основные библиотеки уже обновлены до Androidx, однако некоторые из них не обновлены и даже не будут.
Если проблема не исчезнет с предложенным мной решением выше этого редактирования, вы можете взглянуть на свои зависимости и убедиться, что они также используют Androidx.
РЕДАКТИРОВАТЬ 2
Как упоминал @Ted, я исследовал, и он прав, kapt также обрабатывает файлы java. Только kapt сделает свое дело, нет необходимости сохранять обе зависимости kapt и annotationProcessor.
kapt также может обрабатывать файлы java, поэтому нет необходимости использовать их оба, только kapt в порядке.
Я исправил это, обновив cahche (вместо того, чтобы делать его недействительным, что также очищает локальную историю):
Вот и все!
Удаление testInstrumentationRunner сработало для меня:
defaultConfig {
...
...
// testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
фантастическое решение! Исправлено для меня
Перейдите в файл и нажмите Недействительные кеши и перезапустите.
После перезапуска вы увеличиваете минимальную версию SDK в файле build.gradle вашего приложения.
Исправлено, перейдя в основной каталог и набрав flutter clean.
Отлично, а если вы не используете флаттер;)
@KevinGalligan Тогда используйте Flutter;)
Если вы используете кинжал или масляный нож, обязательно обновите его до последней версии. Или, если у вас есть другая библиотека для инъекций, используемая в вашем проекте, вы можете попробовать проверить ее, поддерживает ли она androidx или нет.
Я обнаружил ту же ошибку, проблема в моем кинжале и масляном ноже. Исправили это, обновив до последней версии.
Версия Android: 4.10.2
Я решил эту проблему за три простых шага: Сначала я добавил это в pubspec.yml: (с двумя пространствами идентификации)
module:
androidX: true
Добавив эти две строки ниже в gradle.properties, у меня есть это в android / gradle.properties, в папке проекта.
android.useAndroidX=true
android.enableJetifier=true
И после этого с помощью терминала написал:
flutter clean
Может, придется остановить устройство и снова запустить.
Я столкнулся с этой ошибкой после добавления масляного ножа в свой проект.
Чтобы устранить эту ошибку, вы должны использовать Java8.
Я бы рекомендовал ответ это.
Как я это решил:
1. добавьте следующий код в build.gradle (модуль: приложение)
android {
...
// Configure only for each module that uses Java 8
// language features (either in its source code or
// through dependencies).
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Есть ли здесь прогресс?