AndroidX是一個開源項目,Android團(tuán)隊用它結(jié)合Jetpack來進(jìn)行開發(fā)且蓬、測試题翰、打包诈胜、發(fā)布類庫冯事。
AndroidX是Android Support Library的一個主要改進(jìn)。像Support Library一樣缓熟,AndroidX是在AndroidOS之外單獨提供的,并且根據(jù)Android不同版本提供向后兼容能力够滑。
AndroidX通過提供同等的特性吕世、新的類庫來完全代替以往的Support Library。除此之外命辖,AndroidX包括下面的特性:
1.AndroidX里所有的包名都保持一致,使用以androidx開頭的命名空間尔许。Support Library都對應(yīng)著使用androidx.*的包名终娃。舊的類庫和新的類庫的對應(yīng)關(guān)系可以參見:
https://developer.android.com/jetpack/androidx/migrate
2.和Support Library不同,AndroidX的包是獨立維護(hù)和更新的尝抖。使用的是嚴(yán)格的Semantic 版本命名規(guī)范⊙萌郏可以在項目里進(jìn)行獨立更新搅荞。
3.所有新的Support Library開發(fā)都將轉(zhuǎn)移到AndroidX類庫中。包括原始的Support Library維護(hù)以及新的Jetpack組件的引入咕痛。
使用AndroidX
如何將AndroidX遷移到現(xiàn)有項目,請參見遷移章節(jié):https://developer.android.com/jetpack/androidx/migrate
如果想使用AndroidX創(chuàng)建一個新的項目仿野,需要將SDK編譯版本設(shè)置為Android9.0以上腔丧,并且在gradle.properties文件中設(shè)置下面2個flag的值:
android.useAndroidX: 當(dāng)設(shè)置為true的時候作烟,Android plugin使用適當(dāng)?shù)腁ndroidX類庫而不再使用Support Library拿撩。 默認(rèn)的屬性值是False如蚜。
android.enableJetifier: 當(dāng)設(shè)置為true压恒,Android plugin重寫第三方類庫的二進(jìn)制文件错邦,將他們自動遷移到AndroidX。默認(rèn)的屬性值是False期吓。
其他資源
Jetpack組件是AndroidX 庫里面的一部分倾芝。
想得到關(guān)于從Support Library重構(gòu)為AndroidX的其他信息,可以訪問:
https://android-developers.googleblog.com/2018/05/hello-world-androidx.html