AndroidX - Libreria di estensioni Android
Dalla documentazione di AndroidX
Stiamo implementando una nuova struttura di pacchetti per chiarire quali pacchetti sono in bundle con il sistema operativo Android e quali sono impacchettati con l'APK della tua app. In futuro, la gerarchia di pacchetti Android. * Sarà riservata ai pacchetti Android forniti con il sistema operativo. Altri pacchetti verranno emessi nella nuova gerarchia di pacchetti androidx. * Come parte della libreria AndroidX.
Necessità di AndroidX
AndroidX è una libreria riprogettata per rendere più chiari i nomi dei pacchetti. Quindi d'ora in poi la gerarchia Android sarà solo per le classi predefinite Android, che viene fornito con il sistema operativo Android e altre librerie / dipendenze faranno parte di Androidx (ha più senso). Quindi d'ora in poi tutto il nuovo sviluppo verrà aggiornato in androidx.
com.android.support. **: androidx.
com.android.support:appcompat-v7: androidx.appcompat: appcompat
com.android.support:recyclerview-v7: androidx.recyclerview: recyclerview
com.android.support:design: com.google.android.material: materiale
Mappatura completa degli artefatti per i pacchetti AndroidX
In precedenza, support library
utilizzava la versione SDK ma AndroidX utilizzava Semantic-version
. Riprenderà la versione da 28.0.0 → 1.0.0.
Come migrare il progetto corrente
In Android Studio 3.2 (settembre 2018) è disponibile un'opzione diretta per migrare il progetto esistente AndroidX
. Questo refactoring automaticamente tutti i pacchetti.
Prima di migrare, si consiglia vivamente di eseguire il backup del progetto.
Progetto esistente
- Android Studio> Menu Refactor> Migra su AndroidX ...
- Analizzerà e aprirà la finestra del rifrattore in basso. Accetta le modifiche da apportare.
Nuovo progetto
Metti queste bandiere nel tuo gradle.properties
android.enableJetifier=true
android.useAndroidX=true
Controlla i mapping di @ Library per un pacchetto AndroidX uguale .
Controlla sulla pagina ufficiale di Migrate ad AndroidX
Bug di migrazione
- Se crei un'app e riscontri alcuni errori dopo la migrazione, devi correggere quegli errori minori. Non rimarrai bloccato lì, perché può essere facilmente risolto.
- Le librerie di terze parti non vengono convertite in AndroidX nella directory, ma vengono convertite in fase di esecuzione da Jetifier , quindi non preoccuparti di errori di compilazione, l'app funzionerà perfettamente.
Il supporto 28.0.0 è l'ultima versione?
Da supporto Android Revisione 28.0.0
Questa sarà l' ultima versione della funzionalità con il pacchetto android.support e gli sviluppatori sono incoraggiati a migrare su AndroidX 1.0.0
Quindi vai con AndroidX, perché Android aggiornerà solo il pacchetto androidx da ora.
Ulteriori letture
https://developer.android.com/topic/libraries/support-library/androidx-overview
https://android-developers.googleblog.com/2018/05/hello-world-androidx.html
androidx.*
è la gerarchia dei pacchetti per le librerie di supporto. Arriveranno tutti nello stesso pacchetto del nostro periodoandroidx
(come i componenti dell'architettura, altre librerie di supporto).