Я использую Android Studio 3.2 Beta5 для переноса своего проекта в AndroidX . Когда я перестроил свое приложение, я получил эти ошибки:
ОШИБКА: [TAG] Не удалось разрешить переменную '$ {animal.sniffer.version}'
ОШИБКА: [TAG] Не удалось разрешить переменную '$ {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'
Ответы:
Я исправляю это в два этапа
1) File -> Invalidate Caches / restart ...
2) Сборка -> Чистый проект
источник
Я получил ту же ошибку после обновления моего файла build.gradle тестовыми зависимостями AndroidX . Оказывается, я забыл удалить старую зависимость от junit. Так что для меня исправление было просто удалить следующую зависимость:
источник
Исправлена проблема с добавлением поддержки Java 8 в файл build.gradle.
источник
Кажется, это проблема Glide .
У меня была та же ошибка, и я только что обновил зависимости Glide до 4.8, и нет ошибок сборки.
Котлин:
Ява :
Обязательно включите в свой gradle.properties:
Источник: https://github.com/bumptech/glide/issues/3124
Надеюсь, что это поможет вам!
источник
Исправил это, перейдя в основной каталог и набрав
flutter clean
источник
Удаление testInstrumentationRunner у меня сработало:
источник
Если вы используете
Kotlin
, проблема появится, если вы не используетеkapt
версию для любого процессора аннотаций, который вы используете в проекте.Как @Vince упоминается случай с
Glide
, это может произойти сDagger2
,Butterknife
и т.д.Если вы используете как
Java
иKotlin
вы должны держать оба зависимость, следующим образом (были$glideVersion
предопределенная версияGlide
):Если вы работаете с
Kotlin
единственным проектом,kapt
зависимость должна работать в одиночку.РЕДАКТИРОВАТЬ
Еще одна вещь, которую вы должны иметь в виду, если вы уже используете
Androidx
.Androidx
это отличный рефакторинг, но при миграции он может привести к разрушению некоторых ваших зависимостей. Основные библиотеки уже обновленыAndroidx
, однако некоторые из них нет и даже не будут.Если проблема не исчезнет с моим предложенным решением выше этой правки, вы можете взглянуть на свои зависимости и убедиться, что они также используются
Androidx
.РЕДАКТИРОВАТЬ 2
Как упомянул @Ted, я исследовал назад, и он прав
kapt
также обрабатываетjava
файлы.kapt
один сделает свое дело, не нужно сохранять и тоkapt
и другоеannotationProcessor
.источник
Попробуйте удалить эту строку:
из раздела buildscript / repositories вашего файла build.gradle.
Когда я добавил эту строку, я получил ошибку, которую вы описали. Когда я его убрал, больше нет. Эта строка должна быть только в разделе allprojects / repositories.
источник
Попробуйте установить android.enableJetifier = false в gradle.properties. Затем сделать недействительными кэши / перезапустить ... в Android Studio
источник
Исправление в 4.2.0, используйте более высокую версию gms gms jar.
Попробуйте изменить:
по этой версии:
Надеюсь, это работает ...
источник
Если вы используете кинжал или нож, пожалуйста, обязательно обновите его до последней версии. Или, если у вас есть другая библиотека инъекций, используемая в вашем проекте, вы можете попробовать проверить, поддерживает ли она androidx или нет.
Я нашел ту же ошибку, проблема в моем кинжале и ноже. Исправили это, обновив его до последней версии.
источник
Версия Android: 4.10.2
Я решил эту проблему тремя простыми шагами: Сначала я добавил это в pubspec.yml: (с двумя пробелами)
Добавление этих двух строк ниже в gradle.properties, у меня это в android / gradle.properties, в папке проекта.
И после этого я написал с терминала:
Возможно, вам придется остановить устройство и запустить снова.
источник
Я исправил это, обновив зависимости Firebase до последней версии.
источник
Я исправил это, обновив каше (вместо того, чтобы аннулировать его, что также очищает локальную историю):
Это оно!
источник
Перейдите в файл и нажмите Invalidate caches и перезапустите.
После перезапуска вы увеличиваете минимальную версию SDK в
build.gradle
файле вашего приложения .источник