Android构建时AppBarMainBinding等生成类提示android.support包不存在求助
问题根因
- 自动生成的ViewBinding类仍导入
android.support旧支持包类,是因为项目本地的app_bar_main.xml、content_main.xml布局文件中直接使用了旧支持包的控件全类名声明。Jetifier仅负责转换第三方依赖库的包引用,不会修改项目本地的布局、业务代码中的旧包引用,因此开启Jetifier也无法解决该问题。
解决方案
步骤1:修改布局文件的控件包引用
- 打开
res/layout/app_bar_main.xml,替换以下控件的全类名:android.support.design.widget.CoordinatorLayout→com.google.android.material.coordinatorlayout.widget.CoordinatorLayoutandroid.support.design.widget.FloatingActionButton→com.google.android.material.floatingactionbutton.FloatingActionButtonandroid.support.v7.widget.Toolbar→androidx.appcompat.widget.Toolbar
- 打开
res/layout/content_main.xml,替换根布局的全类名:android.support.constraint.ConstraintLayout→androidx.constraintlayout.widget.ConstraintLayout
步骤2:修正build.gradle残留的旧配置
打开build.gradle(:app),修改两处配置:
- 替换测试运行器为AndroidX版本:
把defaultConfig下的
修改为testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - 替换导航组件为AndroidX版本:
把依赖中的
修改为implementation 'android.arch.navigation:navigation-fragment:1.0.0' implementation 'android.arch.navigation:navigation-ui:1.0.0'implementation 'androidx.navigation:navigation-fragment:2.5.3' implementation 'androidx.navigation:navigation-ui:2.5.3'
步骤3:清理缓存重新构建
- 点击Android Studio顶部菜单
Build → Clean Project - 再点击
Build → Rebuild Project - 若仍报错,执行
File → Invalidate Caches / Restart清理IDE缓存,重启后再次构建即可。
内容的提问来源于stack exchange,提问作者Arttu Tuominen
相关产品推荐
相关产品推荐

