Android Studio报错 解决找不到 android.support.v7.XXX 问题
Android Studio报错 解决找不到 android.support.v7.XXX 问题
对于类似以下错误
Error inflating class android.support.v7.widget.RecyclerView
Didn’t find class “android.support.v7.widget.RecyclerView”
Error inflating class android.support.v7.widget.Toolbar
Didn’t find class “android.support.v7.widget.Toolbar”
Error inflating class android.support.v7.widget.appcompat
Didn’t find class “android.support.v7.widget.appcompat”
…
很有可能是因为android.support的v4、v7版本混乱冲突导致的.网上其他解决办法都导向统一版本号、清除缓存重新加载等方式,这里提供一种最新方法:改用androidx
AndroidX与support包的关系
androidx 是对 android.support.xxx 包的整理后产物。由于之前的support包过于混乱,所以,google推出了 androidX。
新的Android扩展库(AndroidX)取代了使用七年之久的Android支持库,旨在简化相关工作,并为该库未来的发展打下坚实的基础。
Android支持库允许开发人员在旧版本的Android上支持新的OS特性,或者回退到等效的功能,是一种可以部分地减轻Android生态系统碎片化的有效方式。按照谷歌的说法:然而,在其自然发展的过程中,出现了多个让许多开发人员为之困惑的选项。其中一个例子是存在以“v7”命名的组件和包,这是该库需要的原始Android SDK级别,目前需要的最小版本是14(Android 4.0)。
自2018年5月Androidx发布少量组件不够稳定的alpha测试版一年后,已经完成多个组件的稳定版并持续更新中
更多信息可参考Androidx官方文档
Androidx使用方式
在build.gradle中用
implementation 'androidx.xxx(组件名):xxx(组件名):1.0.0(版本号)'
替换
implementation 'com.android.support.v7.widget.xxx(组件名):x.x.x(版本号)'
并在xml文件中用
<androidx.xxx.widget.xxx(驼峰)
...>
</androidx.xxx.widget.xxx(驼峰)>
替换对应组件标签
<android.support.v7.widget.xxx
...>
</android.support.v7.widget.xxx>
例:recyclerView
在build.gradle中用
implementation 'androidx.recyclerview:recyclerview:1.0.0'
替换
implementation 'com.android.support:recyclerview-v7:x.x.x'
并在xml文件中用
<androidx.recyclerview.widget.RecyclerView
...>
</androidx.recyclerview.widget.RecyclerView>
替换对应组件标签
<android.support.v7.widget.RecyclerView
...>
</android.support.v7.widget.RecyclerView>
由于Androidx中是对于support包的整合升级,可能还需要修改组件相应代码,如recyclerView组件中,若使用还需要在Activity/fragment的代码中修改:
manager.setOrientation(LinearLayoutManager.VERTICAL);
的参数 LinearLayoutManager.VERTICAL为RecyclerView.VERTICAL
其他不同组件版本号及命名方式可能各不相同,具体可参考Androidx官方文档
如果对你有帮助,就一键三连呗(点赞+收藏+关注),我会持续更新更多干货~~
更多推荐


所有评论(0)