一、AndroidX什么是樣子的
一個(gè)AndroidX完整的依賴庫格式如下所示:
implementation ‘a(chǎn)ndroidx.appcompat:appcompat:1.0.2’
了解了AndroidX是什么之后,現(xiàn)在你應(yīng)該放輕松了吧?它其實(shí)并不是什么全新的東西,而是對Android Support Library的一次升級。因此,AndroidX上手起來也沒有任何困難的地方,比如之前你經(jīng)常使用的RecyclerView、ViewPager等等庫,在AndroidX中都會(huì)有一個(gè)對應(yīng)的版本,只要改一下包名就可以完全無縫使用,用法方面基本上都沒有任何的變化。
但是有一點(diǎn)需要注意,AndroidX和Android Support Library中的庫是非常不建議混合在一起使用的,因?yàn)樗鼈兛赡軙?huì)產(chǎn)生很多不兼容的問題。較好的做法是,要么全部使用AndroidX中的庫,要么全部使用Android Support Library中的庫。
而現(xiàn)在Android團(tuán)隊(duì)官方的態(tài)度也很明確,未來都會(huì)為AndroidX為主,Android Support Library已經(jīng)不再建議使用,并會(huì)慢慢停止維護(hù)。另外,從Android Studio 3.4.2開始,我發(fā)現(xiàn)新建的項(xiàng)目已經(jīng)強(qiáng)制勾選使用AndroidX架構(gòu)了。
那么對于老項(xiàng)目的遷移應(yīng)該怎么辦呢?由于涉及到了包名的改動(dòng),如果從Android Support Library升級到AndroidX需要手動(dòng)去改每一個(gè)文件的包名,那可真得要改死了。為此,Android Studio提供了一個(gè)一鍵遷移的功能,只需要對著你的項(xiàng)目名右擊 → Refactor → Migrate to AndroidX。
點(diǎn)擊Migrate,Android Studio就會(huì)自動(dòng)檢查你項(xiàng)目中所有使用Android Support Library的地方,并將它們?nèi)扛某葾ndroidX中對應(yīng)的庫。另外Android Studio還會(huì)將你原來的項(xiàng)目備份成一個(gè)zip文件,這樣即使遷移之后的代碼出現(xiàn)了問題你還可以隨時(shí)還原回之前的代碼。
延伸閱讀:
二、Treble計(jì)劃是什么
Treble計(jì)劃是一個(gè)非常重要的變革,對系統(tǒng)層面的影響很大。Google每發(fā)布一個(gè)Android大版本,廠商和APP需要相應(yīng)適配,這個(gè)過程比較漫長,比如去年發(fā)布Android O,目前Android O機(jī)型用戶量比較小,APP都沒能快速跟進(jìn)把targetSdk適配到O的情況下,Android P即將到來,Android碎片化一直是痛點(diǎn)。該計(jì)劃的核心主旨是讓系統(tǒng)與硬件相關(guān)的解耦,加快系統(tǒng)升級速度。Treble始于Android O,到Android P又得以進(jìn)一步完善。