AndroidX migráció

AndroidX az eredeti Android Support Library jelentős fejlesztése.

A platform API-tól függetlenített androidx.* csomagkönyvtárakat biztosít.Ez azt jelenti, hogy visszafelé kompatibilitást kínál, és gyakrabban frissül, mint az Android platform.

Gyakori kérdések

Hogyan migrálhatom a meglévő alkalmazásomat, bővítményemet vagy host által szerkeszthető modulprojektemet az AndroidX-re?

A Android Studio 3.2 vagy újabb verzióra lesz szüksége. Ha nincs telepítve,letöltheti a legújabb verziót azAndroid Studio oldaláról.

  1. Nyissa meg az Android Studio-t.
  2. Válassza a Meglévő Android Studio projekt megnyitása opciót.
  3. Nyissa meg a android könyvtárat az alkalmazásán belül.
  4. Várjon, amíg a projekt sikeresen szinkronizálódik. (Ez automatikusan megtörténik, amint megnyitja a projektet, de ha nem, válassza a File menüből a Sync Project with Gradle Files parancsot).
  5. A Refactor menüből válassza a Migrate to AndroidX parancsot.
  6. Ha a folytatás előtt a projekt biztonsági mentésére kérik, jelölje be a Backup project as Zip file, majd kattintson a Migrate gombra. Végül mentse a zip fájlt a kívánt helyre. Válassza ki a backup project as zip file
  7. A refaktorálás előnézetben megjelenik a változások listája. Végül kattintson a Do Refactor gombra: Az alulról felfelé történő oldalátmenet animációja Androidon
  8. Ez az! Sikeresen áttelepítette a projektjét AndroidX-re.

Végül, ha egy bővítményt migrált, tegye közzé az új AndroidX-verziót a pubban, és frissítse a CHANGELOG.md-ját, hogy jelezze, ez az új verzió kompatibilis az AndroidX-szel.

Mi van, ha nem tudom használni az Android Studio-t?

Létrehozhat egy új projektet a Flutter eszközzel, majd a Dart kódot ésaz eszközöket áthelyezheti az új projektbe.

Az új projekt létrehozásához futtassa:

flutter create -t <project-type> <new-project-path>

Add to App

Ha a Flutter projekt egy meglévő Android alkalmazáshoz hozzáadható modul típusú, és tartalmaz egy .android könyvtárat, adja hozzá a következő sort a pubspec.yaml-hez:

 module: ... androidX: true # Add this line.

Végül futtassa a flutter clean.

Ha a modulja ehelyett egy android könyvtárat tartalmaz, akkor kövesse az előző szakaszban leírt lépéseket.

Honnan tudom, hogy a projektem AndroidX-et használ-e?

A Flutter v1.12.13-tól kezdve a flutter create -t <project-type>el létrehozott új projektek alapértelmezés szerint AndroidX-et használnak.

Az ezt a Flutter verziót megelőzően létrehozott projektek nem függhetnek semmilyen régi build artifacttól vagy régi Support Library osztálytól.

Egy alkalmazás- vagy modulprojektben a android/gradle.properties vagy .android/gradle.propertiesfájlnak tartalmaznia kell:

android.useAndroidX=trueandroid.enableJetifier=true

Mi van, ha nem migrálom az alkalmazásomat vagy modulomat AndroidX-re?

Az alkalmazása továbbra is működhet. Az AndroidX és a Support artifacts kombinálása azonban általában nem ajánlott, mert függőségi konfliktusokhoz vagy másfajta Gradle hibákhoz vezethet. Ennek eredményeképpen, ahogy egyre több bővítmény áttér az AndroidX-re,az Android core könyvtáraktól függő bővítmények valószínűleg build hibákat fognak okozni.

Mi van, ha az alkalmazásom áttér az AndroidX-re, de nem az összes általam használt bővítményt?

A Flutter eszköz a Jetifier segítségével automatikusan áttelepíti a támogató könyvtárat használó Flutter bővítményeket az AndroidX-re, így ugyanazokat a bővítményeket akkor is használhatja, ha azok még nem lettek áttelepítve az AndroidX-re.

Problémáim vannak az AndroidX-re való áttelepítéssel

Open an issue on GitHub and add to the title of the issue.

Szólj hozzá!