Ich verwende Android Studio 3.2 Beta5 , um mein Projekt auf AndroidX zu migrieren . Beim Neuerstellen meiner App wurden folgende Fehler angezeigt:
FEHLER: [TAG] Fehler beim Auflösen der Variablen '$ {animal.sniffer.version}'
FEHLER: [TAG] Fehler beim Auflösen der Variablen '$ {junit.version}'
Vollständig sauber & Wiederaufbau hat nicht funktioniert! Weiß jemand, wie man das behebt?
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'
Antworten:
Ich behebe das mit zwei Schritten
1) Datei -> Caches ungültig machen / neu starten ...
2) Erstellen -> Projekt bereinigen
quelle
Ich habe den gleichen Fehler erhalten, nachdem ich meine build.gradle-Datei mit AndroidX- Testabhängigkeiten aktualisiert habe . Es stellte sich heraus, dass ich vergessen habe, die alte Junit-Abhängigkeit zu entfernen. Für mich bestand die Lösung einfach darin, die folgende Abhängigkeit zu entfernen:
quelle
Das Hinzufügen von Java 8-Unterstützung zur build.gradle- Datei hat das Problem für mich behoben
quelle
Es scheint Glide das Problem zu sein.
Ich hatte den gleichen Fehler und habe gerade die Abhängigkeiten des Glide auf 4.8 aktualisiert, und es gibt keine Build-Fehler.
Kotlin:
Java:
Stellen Sie sicher, dass in gradle.properties Folgendes aktiviert ist:
Quelle: https://github.com/bumptech/glide/issues/3124
Hoffe das wird dir helfen!
quelle
Es wurde behoben, indem zum Hauptverzeichnis gewechselt und eingegeben wurde
flutter clean
quelle
Das Entfernen des testInstrumentationRunner hat bei mir funktioniert:
quelle
Wenn Sie verwenden
Kotlin
, wird das Problem angezeigt, wenn Sie diekapt
Version nicht für einen im Projekt verwendeten Anmerkungsprozessor verwenden.Wie @Vince den Fall erwähnt mit
Glide
, dies mit passieren könnteDagger2
,Butterknife
usw.Wenn Sie beide verwenden
Java
undKotlin
Sie werden beide Abhängigkeiten halten müssen, wie folgt (waren$glideVersion
eine vordefinierte VersionGlide
):Wenn Sie sich in einem
Kotlin
einzigen Projekt befinden, sollte diekapt
Abhängigkeit alleine funktionieren.BEARBEITEN
Eine andere Sache, die Sie beachten sollten, ist, wenn Sie bereits verwenden
Androidx
.Androidx
ist ein großartiger Refactor, aber bei der Migration können einige Ihrer Abhängigkeiten zusammenbrechen. Mainstream-Bibliotheken sind bereits aktualisiertAndroidx
, einige jedoch nicht und sogar nicht.Wenn das Problem mit meiner über dieser Bearbeitung bereitgestellten Lösung nicht behoben wird, können Sie sich Ihre Abhängigkeiten ansehen und sicherstellen, dass sie auch verwendet
Androidx
werden.EDIT 2
Wie @Ted erwähnt hat, habe ich zurück recherchiert und er hat Recht,
kapt
auch mitjava
Dateien umzugehen .kapt
allein reicht aus, es ist nicht erforderlich, beidekapt
undannotationProcessor
Abhängigkeiten beizubehalten.quelle
Versuchen Sie, diese Zeile zu entfernen:
aus dem Abschnitt "Buildscript / Repositorys" Ihrer build.gradle-Datei.
Als ich diese Zeile hinzugefügt habe, habe ich den von Ihnen beschriebenen Fehler erhalten. Als ich es entfernte, nicht mehr. Diese Zeile sollte sich nur im Abschnitt allprojects / repositories befinden.
quelle
Versuchen Sie, android.enableJetifier = false in gradle.properties zu setzen. Dann Caches ungültig machen / neu starten ... in Android Studio
quelle
Das Update ist in 4.2.0, verwenden Sie die höhere Version von Google GMS Jar.
Versuchen Sie zu ändern:
von dieser Version:
Hoffe das funktioniert ...
quelle
Wenn Sie Dolch oder Buttermesser verwenden, aktualisieren Sie es bitte auf die neueste Version. Wenn in Ihrem Projekt eine andere Injektionsbibliothek verwendet wird, können Sie versuchen, zu überprüfen, ob Androidx unterstützt wird oder nicht.
Ich habe den gleichen Fehler gefunden, das Problem liegt an meinem Dolch und Buttermesser. Habe es behoben, indem ich es auf die neueste Version aktualisiert habe.
quelle
Android-Version: 4.10.2
Ich habe dieses Problem mit drei einfachen Schritten gelöst: Zuerst habe ich in pubspec.yml Folgendes hinzugefügt: (mit zwei Identifikationsräumen)
Wenn ich diese beiden Zeilen unten in gradle.properties hinzufüge, habe ich dies in android / gradle.properties im Projektordner.
Und danach schrieb ich mit dem Terminal:
Möglicherweise müssen Sie das Gerät anhalten und erneut ausführen.
quelle
Ich habe dies behoben, indem ich die Firebase-Abhängigkeiten auf den neuesten Stand gebracht habe.
quelle
Ich habe es behoben, indem ich die Cahche aktualisiert habe (anstatt sie ungültig zu machen - wodurch auch die lokale Geschichte gelöscht wird):
Das ist es!
quelle
Gehen Sie zur Datei und klicken Sie auf Caches ungültig machen und neu starten.
Nach dem Neustart erhöhen Sie die minimale SDK-Version in der
build.gradle
Datei Ihrer App .quelle