因?yàn)樵诘桶姹続ndroid平臺(tái)上開(kāi)發(fā)一個(gè)APP時(shí)蚯涮,想使用高版本才有的功能了赵,此時(shí)就需要使用Support來(lái)支持兼容。
1.android-support-v4
compile "com.android.support:support-v4
2011年4月份舰始,谷歌推出最低兼容到1.6版本系統(tǒng)的包第焰。
eclipse新建工程時(shí),都默認(rèn)包含了上枕,里面有類似Fragment咐熙,NotificationCompat,LoadBroadcastManager辨萍,ViewPager棋恼,PageTabAtrip,Loader分瘦,F(xiàn)ileProvider 等等控件蘸泻。
V4包含了V7和V13的基礎(chǔ)功能。
2. android-support-v7
compile "com.android.support:appcompat-v7:xx.xx"
2014年 I/O大會(huì)時(shí)推出嘲玫,最低兼容Android2.1系統(tǒng)悦施。
最新的v7包增加了很多material design的兼容類和素材,其中涉及的內(nèi)容有Theme去团、value抡诞、布局穷蛹、新的控件、新的動(dòng)畫(huà)實(shí)現(xiàn)方式昼汗,包含了support-v4的全部?jī)?nèi)容肴熏。
android studio在創(chuàng)建工程的時(shí)候默認(rèn)導(dǎo)入了v7工程,并且將style使用了兼容style顷窒。
3. android-support-v13
為平板開(kāi)發(fā)推出的版本兼容包蛙吏,最低兼容Android3.2的系統(tǒng)⌒可以說(shuō)Android 3.x系統(tǒng)都是平板專用系統(tǒng)鸦做。
4. androidX
從android9.0 (API28)開(kāi)始, support庫(kù)將會(huì)進(jìn)行改動(dòng), V7: 28.0.0將會(huì)是support庫(kù)的終結(jié)版本。未來(lái)新的特性和改進(jìn)都會(huì)進(jìn)入Androidx包谓着。其主要原因是support庫(kù)的命名已經(jīng)越來(lái)越令人迷惑 泼诱,包越來(lái)越臃腫。
依賴包的變化從: com.android.support:appcompat-v7:28.0.0
變成了: androidx.appcompat:appcompat:1.0.0
需要注意的是赊锚,build.gradle中的插件版本要在3.2.0
以上才可以治筒。
Android Studio就提供了sopport轉(zhuǎn)androix的能力;
特別提醒舷蒲,在更改 gradle.properties和app 下的gradle 后不要進(jìn)行同步耸袜,直接去點(diǎn)refactor --> migrate to androidX,因?yàn)榇藭r(shí)同步,會(huì)由于很多包是是android.support下的而出現(xiàn)各種錯(cuò)誤
gradle.properties 配置
#表示當(dāng)前項(xiàng)目啟用 androidx
android.enableJetifier=true
#表示將依賴包也遷移到androidx
android.useAndroidX=true
然后就是點(diǎn)擊 refactor --> migrate to androidX.
完成之后還是會(huì)報(bào)很多問(wèn)題阿纤,我遇到的是:
Fragment
全部轉(zhuǎn)成了androidx.core.app.Fragment
,
類似的還有以下類:
FragmentManager
句灌、
FragmentPagerAdapter
、
ViewPager
變成了androidx.core.view.ViewPager
將這些類刪除引用后重新引用即可欠拾。