Android Support v4\v7\v13和AndroidX理解【转载】
为什么要用support库呢?
因为在低版本Android平台上开发一个APP时,想使用高版本才有的功能,此时就需要使用Support来支持兼容。
1. android-support-v4
compile "com.android.support:support-v4
2011年4月份,谷歌推出最低兼容到1.6版本系统的包。
eclipse新建工程时,都默认包含了,里面有类似Fragment,NotificationCompat,LoadBroadcastManager,ViewPager,PageTabAtrip,Loader,FileProvider 等等控件。
V4包含了V7和V13的基础功能。
2. android-support-v7
compile "com.android.support:appcompat-v7:xx.xx"
2014年 I/O大会时推出,最低兼容Android2.1系统。
最新的v7包增加了很多material design的兼容类和素材,其中涉及的内容有Theme、value、布局、新的控件、新的动画实现方式,包含了support-v4的全部内容。
android studio在创建工程的时候默认导入了v7工程,并且将style使用了兼容style。
3. android-support-v13
为平板开发推出的版本兼容包,最低兼容Android3.2的系统。可以说Android 3.x系统都是平板专用系统。
4. androidX
从android9.0 (API28)开始, support库将会进行改动, V7: 28.0.0将会是support库的终结版本。未来新的特性和改进都会进入Androidx包。其主要原因是support库的命名已经越来越令人迷惑 ,包越来越臃肿。
依赖包的变化从:api 'com.android.support:appcompat-v7:28.0.0'
变成了:api 'androidx.appcompat:appcompat:1.0.0'
需要注意的是,build.gradle中的插件版本要在3.2.0以上才可以。
如果项目中包含的第3方包中引用了support包,而又想使用androidX,则可以进行如下配置:
android.useAndroidX=true
android.enableJetifier=false
Android Studio就提供了sopport转androix的能力;需要先在gradle.properties 文件中加入配置:
android.useAndroidX=true
android.enableJetifier=true
然后