Ich weiß, Androidx- und Support-Abhängigkeit verursacht Multidex-Fehler Wir können Androidx- und Android-Support nicht gleichzeitig verwenden. Also migriere ich total zu AndroidX. aber einer meiner abhängigkeiten lib benutzte android support "lottie".
Was können wir in der obigen Situation tun? Soll ich 'lottie' aus meinem Projekt entfernen?
unten ist mein gradle
defaultConfig {
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
}
ext{
lottieVersion = "2.5.4"
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
def androidx = "1.0.0-rc01"
api "androidx.constraintlayout:constraintlayout:1.1.2"
api "androidx.appcompat:appcompat:$androidx"
api "androidx.recyclerview:recyclerview:$androidx"
api "androidx.cardview:cardview:$androidx"
api "androidx.core:core-ktx:$androidx"
api "com.google.android.material:material:1.0.0-rc01"
implementation "com.google.code.gson:gson:2.8.5"
implementation "androidx.multidex:multidex:2.0.0"
implementation "com.airbnb.android:lottie:$lottieVersion"
}
quelle
Manuelles Hinzufügen
android.useAndroidX=true
undandroid.enableJetifier=true
mir harte Zeit geben. Weil es einen Fehler wirft oderSuggestion: add 'tools:replace="android:appComponentFactory"' to <application>
Um Jet-Fire im Projekt zu aktivieren, gibt es in Android Studio eine Option
Wählen Sie Ihr Projekt ---> Rechtsklick
App ----> Refactor ----> Zu AndroidX migrieren
Dargestellt im Bild unten: -
Klicken Sie anschließend auf Auf AndroidX migrieren .
Es wird um Bestätigung gebeten und für Ihr Projekt gesichert.
Und im letzten Schritt werden Sie aufgefordert, einen Refactor durchzuführen.
Nachdem Sie Refactor ausgeführt haben, überprüfen Sie, ob Ihre gradle.properties
android.useAndroidX=true
undandroid.enableJetifier=true
. Wenn dies nicht der Fall ist, fügen Sie diese beiden Zeilen zu Ihrer Datei gradle.properties hinzu:quelle
Sie brauchen sich keine Sorgen zu machen
Aktivieren Sie einfach Jetifier in Ihrem Projekt .
Öffnen Sie
gradle.properties
und fügen Sie unter zwei Zeilen hinzu.Es werden alle Unterstützungsbibliotheken Ihrer Abhängigkeit zur Laufzeit in AndroidX konvertiert (möglicherweise treten Kompilierungsfehler auf, die App wird jedoch ausgeführt).
quelle
android.enableJetifier=true
wenn dies passiert istjetifier-standalone
, könnte die manuelle Verwendung mit dem AAR eines Drittanbieters funktionieren.Fügen Sie die Zeilen in die Datei gradle.properties ein
Siehe auch https://developer.android.com/jetpack/androidx
quelle
API 29. + Verwendung von AndroidX-Bibliotheken. Wenn Sie API 29. + verwenden, können Sie diese nicht entfernen. Wenn Sie AndroidX entfernen möchten, müssen Sie die gesamte 29. + API aus Ihrem SDK entfernen:
Dies wird gut funktionieren.
quelle
Ich habe diese beiden Codezeilen im Anwendungs-Tag in manifest.xml verwendet und es hat funktioniert.
Quelle: https://github.com/android/android-ktx/issues/576#issuecomment-437145192
quelle
Wenn Ihr Projekt nicht AndroidX (Mean Appcompat) ist und dieser Fehler auftritt, versuchen Sie, Abhängigkeitsversionen, die diesen Fehler auslösen, herunterzustufen, in meinem Fall Play-Services-Location ("Implementierung" com.google.android.gms: Play-Services-Location) : 17.0.0 '"), habe ich das Problem durch ein Downgrade auf com.google.android.gms gelöst: play-services-location: 16.0.0'
quelle
Ich hatte vorher ein Problem wie dieses, es war die Datei gradle.properties nicht vorhanden, nur die Datei gradle.properties.txt, also ging ich in meinen Projektordner und kopierte und fügte die Datei gradle.properties.txt ein, aber ohne. txt Erweiterung dann hat es endlich geklappt.
quelle
Ich habe unten zwei Zeilen in der Datei gradle.properties hinzugefügt
dann habe ich folgenden fehler bekommen
Ich habe die Importe entfernt und unter der Zeile hinzugefügt
Und die Klassen, die von AppCompactActivity erweitert werden, haben die folgende Zeile hinzugefügt. (Für diese Fehler müssen Sie nur Alt + Enter in Android Studio drücken, um die richtige Bibliothek für Sie zu importieren. So können Sie alle Fehler beheben)
In Ihrer XML-Datei, falls Sie welche verwendet haben
Ersetzen Sie es durch
androidx.appcompat.widget.Toolbar
dann in Ihrem Java-Code
quelle
Kommentar Diese Zeile in
gradle.properties
quelle