Flutter构建报错:找不到Theme.AppCompat.light.NoActionBar资源
修复方案
这个报错的根源是Android资源名大小写敏感,你引用的AppCompat主题名拼写错误:官方主题名中Light首字母为大写,你写成了小写light,对应的Theme.AppCompat.light.NoActionBar资源实际不存在。你之前执行的清缓存、重启IDE操作没有修正这个拼写错误,所以问题无法解决。
具体操作步骤
- 修正所有错误的主题引用
遍历以下文件位置,把所有出现的Theme.AppCompat.light.NoActionBar全局替换为正确写法Theme.AppCompat.Light.NoActionBar:android/app/src/main/res/路径下所有values类目录(包括values、values-night、各分辨率适配的values目录)中的styles.xml/themes.xml文件android/app/src/main/AndroidManifest.xml中<application>、<activity>标签下的android:theme属性
- 确认AppCompat依赖存在
打开android/app/build.gradle文件,检查dependencies代码块,若没有AppCompat依赖则补充如下配置:
如果你的项目还没迁移到AndroidX,仍使用旧版Support库,替换为对应Support库版本的AppCompat依赖即可dependencies { // 保留文件中原有的所有其他依赖,不要删除 implementation "androidx.appcompat:appcompat:1.6.1" } - 清理缓存重新构建
在项目根目录打开终端,依次执行以下命令:
如果执行后还是报缓存相关错误,手动打开Windows的Gradle缓存默认目录flutter clean flutter pub get flutter runC:\Users\你的系统用户名\.gradle\caches,删除其中和appcompat相关的缓存文件夹,再重新执行构建即可。
内容的提问来源于stack exchange,提问作者Da2ny
相关产品推荐
相关产品推荐

