AndroidX ist eine wesentliche Verbesserung der ursprünglichen Android Support Library.
Es bietet die androidx.*
Paketbibliotheken, die von der Plattform-API entbündelt sind.Das bedeutet, dass es Abwärtskompatibilität bietet und häufiger aktualisiert wird als die Android-Plattform.
Allgemeine Fragen
Wie migriere ich mein bestehendes App-, Plugin- oder Host-editierbares Modulprojekt zu AndroidX?
Sie benötigen Android Studio 3.2 oder höher. Wenn Sie es nicht installiert haben, können Sie die neueste Version von derAndroid Studio-Website herunterladen.
- Öffnen Sie Android Studio.
- Wählen Sie „Open an existing Android Studio Project“.
- Öffnen Sie das Verzeichnis
android
innerhalb Ihrer App. - Warten Sie, bis das Projekt erfolgreich synchronisiert wurde. (Dies geschieht automatisch, sobald Sie das Projekt öffnen, aber wenn nicht, wählen Sie Projekt mit Gradle-Dateien synchronisieren aus dem Menü Datei).
- Wählen Sie Migrate to AndroidX aus dem Menü Refactor.
- Wenn Sie aufgefordert werden, das Projekt zu sichern, bevor Sie fortfahren, aktivieren Sie Projekt als Zip-Datei sichern und klicken Sie dann auf Migrate. Speichern Sie abschließend die Zip-Datei an dem von Ihnen gewünschten Ort.
- Die Refactoring-Vorschau zeigt die Liste der Änderungen. Klicken Sie abschließend auf Refactor durchführen:
- Das war’s! Sie haben Ihr Projekt erfolgreich auf AndroidX migriert.
Wenn Sie abschließend ein Plugin migriert haben, veröffentlichen Sie die neue AndroidX-Version in Pub und aktualisieren Sie Ihr CHANGELOG.md
, um anzugeben, dass diese neue Version mit AndroidX kompatibel ist.
Was ist, wenn ich Android Studio nicht verwenden kann?
Sie können ein neues Projekt mit dem Flutter-Tool erstellen und dann den Dart-Code und die Assets in das neue Projekt verschieben.
Um ein neues Projekt zu erstellen, führen Sie aus:
flutter create -t <project-type> <new-project-path>
Zur App hinzufügen
Wenn Ihr Flutter-Projekt ein Modultyp zum Hinzufügen zu einer bestehenden Android-App ist und ein .android
-Verzeichnis enthält, fügen Sie die folgende Zeile zu pubspec.yaml
hinzu:
module: ... androidX: true # Add this line.
Schließlich führen Sie flutter clean
aus.
Wenn Ihr Modul stattdessen ein android
Verzeichnis enthält, dann folgen Sie den Schritten im vorherigen Abschnitt.
Woher weiß ich, ob mein Projekt AndroidX verwendet?
Ab Flutter v1.12.13 verwenden neue Projekte, die mit flutter create -t <project-type>
erstellt wurden, standardmäßig AndroidX.
Projekte, die vor dieser Flutter-Version erstellt wurden, dürfen nicht von einem alten Build-Artefakt oder einer alten Support Library-Klasse abhängen.
In einem App- oder Modul-Projekt muss die Datei android/gradle.properties
oder .android/gradle.properties
enthalten:
android.useAndroidX=trueandroid.enableJetifier=true
Was ist, wenn ich meine App oder mein Modul nicht auf AndroidX migriere?
Ihre App kann weiterhin funktionieren. Die Kombination von AndroidX und Support-Artefakten wird jedoch generell nicht empfohlen, da dies zu Abhängigkeitskonflikten oder anderen Fehlern in Gradle führen kann. Je mehr Plugins auf AndroidX migriert werden, desto wahrscheinlicher ist es, dass Plugins, die von Android-Kernbibliotheken abhängig sind, Build-Fehler verursachen.
Was ist, wenn meine App auf AndroidX migriert wird, aber nicht alle von mir verwendeten Plugins?
Das Flutter-Tool verwendet Jetifier, um Flutter-Plugins, die die Support-Bibliothek verwenden, automatisch auf AndroidX zu migrieren, so dass Sie die gleichen Plugins verwenden können, auch wenn sie noch nicht auf AndroidX migriert wurden.
Ich habe Probleme bei der Migration auf AndroidX
Eröffnen Sie einen Eintrag auf GitHub und fügen Sie zum Titel des Eintrags hinzu.