AndroidX is een belangrijke verbetering van de oorspronkelijke Android Support Library.
Het biedt de androidx.*
pakket bibliotheken, ontvlochten van het platform API.Dit betekent dat het achterwaartse compatibiliteit biedt en vaker wordt bijgewerkt dan het Android platform.
Algemene vragen
Hoe migreer ik mijn bestaande app, plugin of host-editable module project naar AndroidX?
U heeft Android Studio 3.2 of hoger nodig. Als u het niet hebt geïnstalleerd, kunt u de nieuwste versie downloaden van de Android Studio site.
- Open Android Studio.
- Selecteer Open een bestaand Android Studio Project.
- Open de
android
map binnen uw app. - Wacht tot het project succesvol is gesynchroniseerd. (Dit gebeurt automatisch zodra u het project opent, maar als het niet gebeurt, selecteer dan Sync Project with Gradle Files uit het File menu).
- Selecteer Migrate to AndroidX uit het Refactor menu.
- Als u wordt gevraagd om een back-up van het project voordat u verder gaat, vink dan Backup project as Zip file aan, klik dan Migrate. Sla ten slotte het zip-bestand op de door u gewenste locatie op.
- De refactoring preview toont de lijst met wijzigingen. Klik tenslotte op Refactor uitvoeren:
- Dat is het! U heeft met succes uw project gemigreerd naar AndroidX.
Tot slot, als u een plugin heeft gemigreerd, publiceer de nieuwe AndroidX versie naar pub en update uw CHANGELOG.md
om aan te geven dat deze nieuwe versie compatibel is met AndroidX.
Wat als ik Android Studio niet kan gebruiken?
U kunt een nieuw project maken met behulp van de Flutter tool en vervolgens de Dart code en assets naar het nieuwe project verplaatsen.
Om een nieuw project te maken voert u uit:
flutter create -t <project-type> <new-project-path>
Toevoegen aan app
Als uw Flutter-project een moduletype is om aan een bestaande Android app toe te voegen, en een .android
directory bevat, voegt u de volgende regel aan pubspec.yaml
toe:
module: ... androidX: true # Add this line.
Daarna voert u flutter clean
uit.
Als uw module in plaats daarvan een android
map bevat, volg dan de stappen in de vorige sectie.
Hoe weet ik of mijn project AndroidX gebruikt?
Vanaf Flutter v1.12.13, gebruiken nieuwe projecten die zijn gemaakt met flutter create -t <project-type>
standaard AndroidX.
Projecten die voor deze Flutter-versie zijn gemaakt, mogen niet afhankelijk zijn van een oud build artifact of een oude Support Library class.
In een app- of moduleproject moet het bestand android/gradle.properties
of .android/gradle.properties
het volgende bevatten:
android.useAndroidX=trueandroid.enableJetifier=true
Wat als ik mijn app of module niet naar AndroidX migreer?
Uw app kan blijven werken. Echter, het combineren van AndroidX en Support artifactsis over het algemeen niet aanbevolen omdat het kan resulteren in afhankelijkheidsconflicten of andere soorten Gradle mislukkingen. Als gevolg hiervan, als meer plugins migreren naar AndroidX, plugins die afhankelijk zijn van Android core libraries zullen waarschijnlijk leiden tot build mislukkingen.
Wat als mijn app is gemigreerd naar AndroidX, maar niet alle van de plugins die ik gebruik?
De Flutter tool gebruikt Jetifier om automatisch Flutter plugins die gebruik maken van de Support Library te migreren naar AndroidX, zodat u dezelfde plugins kunt gebruiken, zelfs als ze nog niet zijn gemigreerd naar AndroidX.
Ik heb problemen met de migratie naar AndroidX
Open een issue op GitHub en voeg toe aan de titel van het issue.