J'utilise Android Studio 3.2 Beta5 pour migrer mon projet vers AndroidX . Lorsque je reconstruis mon application, j'ai ces erreurs:
ERREUR: [TAG] Échec de la résolution de la variable '$ {animal.sniffer.version}'
ERREUR: [TAG] Échec de la résolution de la variable '$ {junit.version}'
Le nettoyage et la reconstruction complets n'ont pas fonctionné! Quelqu'un sait comment réparer ceci?
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
}
app / 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'
Réponses:
Je corrige cela en deux étapes
1) Fichier -> Invalider les caches / redémarrer ...
2) Construire -> Projet propre
la source
J'ai eu la même erreur après la mise à jour de mon fichier build.gradle avec les dépendances AndroidX Test . Il s'avère que j'ai oublié de supprimer l'ancienne dépendance junit. Donc, pour moi, le correctif consistait simplement à supprimer la dépendance suivante:
la source
L'ajout de la prise en charge de Java 8 au fichier build.gradle a résolu un problème pour moi
la source
Il semble que Glide soit le problème.
J'ai eu la même erreur et je viens de mettre à jour les dépendances de Glide à 4.8 et il n'y a pas d'erreurs de construction.
Kotlin:
Java:
Assurez-vous d'avoir activé dans votre gradle.properties:
Source: https://github.com/bumptech/glide/issues/3124
J'espère que ceci vous aidera!
la source
Correction du problème en allant dans le répertoire principal et en tapant
flutter clean
la source
La suppression du testInstrumentationRunner a fonctionné pour moi:
la source
Si vous utilisez
Kotlin
, le problème apparaîtra si vous n'utilisez pas lakapt
version d'un processeur d'annotation que vous utilisez dans le projet.Comme @Vince mentionné le cas
Glide
, cela pourrait se produire avecDagger2
,Butterknife
etc.Si vous utilisez à la fois
Java
etKotlin
vous devez garder les deux dépendances, comme suit (était$glideVersion
une version prédéfinieGlide
):Si vous êtes sur un
Kotlin
seul projet, lekapt
dépendance devrait fonctionner seule.EDIT
Une autre chose que vous devriez avoir à l'esprit est si vous utilisez déjà
Androidx
.Androidx
est un excellent refactor, mais lors de la migration, il peut entraîner la réduction de certaines de vos dépendances. Les bibliothèques traditionnelles sont déjà mises à jourAndroidx
, mais certaines ne le sont pas et ne le seront même pas.Si le problème ne disparaît pas avec la solution fournie au-dessus de cette modification, vous pouvez jeter un œil à vos dépendances et vous assurer qu'elles utilisent
Androidx
également.EDIT 2
Comme @Ted l'a mentionné, j'ai fait des recherches et il a raison
kapt
gère également lesjava
fichiers.kapt
seul fera l'affaire, pas besoin de garder les deuxkapt
et lesannotationProcessor
dépendances.la source
Essayez de supprimer cette ligne:
à partir de la section buildscript / repositories de votre fichier build.gradle.
Quand j'ai ajouté cette ligne, j'ai eu l'erreur que vous avez décrite. Quand je l'ai enlevé, plus. Cette ligne ne doit figurer que dans la section allprojects / repositories.
la source
Essayez de définir android.enableJetifier = false dans gradle.properties. Puis invalider les caches / redémarrer ... dans Android Studio
la source
Le correctif est dans 4.2.0, utilisez la version supérieure de google gms jar.
Essayez de changer:
par cette version:
J'espère que cela fonctionne ...
la source
Si vous utilisez un poignard ou un couteau à beurre, assurez-vous de le mettre à jour avec la dernière version. Ou, si vous avez une autre bibliothèque d'injection utilisée dans votre projet, vous pouvez essayer de la vérifier si elle prend en charge androidx ou non.
J'ai trouvé la même erreur, le problème est sur mon poignard et mon couteau à beurre. Je l'ai corrigé en le mettant à jour vers la dernière version.
la source
Version Android: 4.10.2
J'ai résolu ce problème en trois étapes simples: J'ai d'abord ajouté ci-dessous ceci dans pubspec.yml: (avec deux espaces d'identification)
En ajoutant ces deux lignes ci-dessous dans gradle.properties, je l'ai dans android / gradle.properties, dans le dossier du projet.
Et après cela, j'ai écrit avec le terminal:
Vous devrez peut-être arrêter l'appareil et le relancer.
la source
J'ai résolu ce problème en mettant à jour les dépendances de Firebase au plus tard.
la source
Je l'ai corrigé en rafraîchissant le cahche (au lieu de l'invalider - ce qui efface également l'histoire locale):
C'est tout!
la source
Accédez au fichier et cliquez sur Invalidate caches et redémarrez.
Après le redémarrage, vous augmentez la version minimale du SDK dans le
build.gradle
fichier de votre application .la source