AndroidX 是对 android.support.xxx 包的整理后产物。由于之前的 support 包过于混乱,所以,Google 推出了AndroidX。
Android 版本 28.0.0 (9.0)是支持support库的最后一个版本。谷歌将不再发布 android.support 库版本。 所有新功能都将在 androidx 命名空间中开发。
所以Android 9.0之前还可以使用support,Android 10.0之后要使用androidx了。
androidx对RecycleView有了优化,并且包名也改变了,还有其他控件support相关的控件都修改了包名。
用 AS3.2之后的版本生成的工程,默认支持 AndroidX ,用的 UI 控件也是 androidx 包下的。
用 Android 源码编译 AS 的工程时,会编译不过,提示缺少 androidx 的包。
如使用 AppCompatActivity ,编译时会提示错误: 程序包androidx.appcompat.app不存在
在系统应用对应的 Android.mk 中添加如下,LOCAL_STATIC_ANDROID_LIBRARIES := androidx.recyclerview_recyclerview androidx.preference_preference androidx.appcompat_appcompat androidx.annotation_annotation androidx.legacy_legacy-preference-v14 androidx.leanback_leanback-preference androidx.leanback_leanback
系统源码中添加这个依赖即可使用androidx相关属性。
旧的support依赖,一般如下:
LOCAL_STATIC_ANDROID_LIBRARIES := android-support-v7-recyclerview android-support-v7-preference android-support-v7-appcompat android-support-v14-preference android-support-v17-preference-leanback android-support-v17-leanback android-support-tv-provider android-arch-lifecycle-extensions
需要不同的版本搭配,比较麻烦!所以androidx是不错的选择。
Android查看源码编译中存在的库:https://blog.csdn.net/wenzhi20102321/article/details/122889502
共勉:新一年要加油。