AndroidX je zásadní vylepšení původní podpůrné knihovny Androidu.
Poskytuje knihovny balíčků androidx.*
oddělené od API platformy.To znamená, že nabízí zpětnou kompatibilitu a je aktualizována častějinež platforma Android.
Časté dotazy
Jak migruji svou stávající aplikaci, zásuvný modul nebo projekt hostitelského modulu na AndroidX?
Potřebujete Android Studio 3.2 nebo vyšší. Pokud jej nemáte nainstalovaný,můžete si stáhnout nejnovější verzi ze stránekAndroid Studio.
- Otevřete Android Studio.
- Zvolte Otevřít existující projekt Android Studio.
- Otevřete adresář
android
v rámci vaší aplikace. - Počkejte, dokud nebude projekt úspěšně synchronizován. (K tomu dojde automaticky po otevření projektu, ale pokud se tak nestane, vyberte z nabídky Soubor možnost Synchronizovat projekt se soubory Gradle).
- V nabídce Refaktor vyberte možnost Migrovat do AndroidX.
- Jestliže jste před pokračováním vyzváni k zálohování projektu, zaškrtněte možnost Zálohovat projekt jako soubor Zip a poté klikněte na možnost Migrovat. Nakonec uložte soubor ZIP do preferovaného umístění.
- V náhledu refaktorizace se zobrazí seznam změn. Nakonec klikněte na tlačítko Do Refactor:
- To je vše! Úspěšně jste převedli svůj projekt na AndroidX.
Nakonec, pokud jste převedli zásuvný modul, publikujte novou verzi AndroidX do hospody a aktualizujte svůj CHANGELOG.md
, abyste uvedli, že tato nová verze je kompatibilní s AndroidX.
Co když nemohu používat Android Studio?
Můžete vytvořit nový projekt pomocí nástroje Flutter a poté přesunout kód a soubory Dart do nového projektu.
Pro vytvoření nového projektu spusťte:
flutter create -t <project-type> <new-project-path>
Add to App
Pokud je váš projekt Flutter typu modul pro přidání do existující aplikace Android a obsahuje adresář .android
, přidejte do pubspec.yaml
následující řádek:
module: ... androidX: true # Add this line.
Nakonec spusťte flutter clean
.
Pokud váš modul místo toho obsahuje adresář android
, postupujte podle kroků v předchozí části.
Jak poznám, že můj projekt používá AndroidX?
Počínaje verzí Flutter v1.12.13 nové projekty vytvořené pomocí flutter create -t <project-type>
používají ve výchozím nastavení AndroidX.
Projekty vytvořené před touto verzí Flutteru nesmí záviset na žádnémstarém artefaktu sestavení nebostaré třídě podpůrné knihovny.
V projektu aplikace nebo modulu musí soubor android/gradle.properties
nebo .android/gradle.properties
obsahovat:
android.useAndroidX=trueandroid.enableJetifier=true
Co když svou aplikaci nebo modul na AndroidX nepřevedu?
Vaše aplikace může nadále fungovat. Kombinování artefaktů AndroidX a Support se však obecně nedoporučuje, protože může vést ke konfliktům závislostí nebo jinému druhu selhání Gradle. V důsledku toho, jak stále více zásuvných modulů migruje na AndroidX,zásuvné moduly závislé na knihovnách jádra Androidu pravděpodobně způsobí selhání sestavení.
Co když je moje aplikace migrována na AndroidX, ale ne všechny zásuvné moduly, které používám?
Nástroj Flutter používá Jetifier k automatické migraci zásuvných modulů Flutter využívajících podpůrnou knihovnu na AndroidX, takže můžete používat stejné zásuvné moduly, i když ještě nebyly migrovány na AndroidX.
Mám problémy s migrací na AndroidX
Otevřete problém na GitHubu a do názvu problému přidejte .