使用Firebase开发登录App遇Gradle报错:Unsupported method: NativeArtifact.getSourceFolders()
我之前开发Firebase登录应用时也碰到过这个一模一样的问题,当时折腾了好一会儿才找到可行的解决办法,给你几个亲测有效的方案:
检查Firebase依赖与Gradle版本的兼容性
有时候最新版Gradle和部分Firebase依赖版本存在兼容性冲突,你可以尝试把Firebase依赖降级到经过验证的稳定版本。比如如果当前用的是com.google.firebase:firebase-auth:22.0.0及以上版本,可暂时降级到21.0.8这类稳定版,之后重新同步Gradle试试。清理Gradle缓存并重启IDE
缓存损坏是这类奇怪错误的常见诱因,按以下步骤操作:- 点击Android Studio顶部菜单栏的
File->Invalidate Caches...,勾选Invalidate and Restart选项,重启IDE。 - 手动删除项目根目录下的
.gradle文件夹,以及模块目录中的.gradle和build文件夹,之后重新同步项目。
- 点击Android Studio顶部菜单栏的
匹配Android Gradle Plugin(AGP)与Gradle版本
仅仅更新Gradle wrapper是不够的,AGP版本必须和Gradle版本匹配。打开项目根目录的build.gradle文件,确保com.android.tools.build:gradle的版本符合官方的兼容要求,调整到匹配版本后再同步。排查Native相关的插件或依赖
这个错误涉及NativeArtifact类,如果你项目没有用到NDK或Native开发,检查是否误加了相关插件(比如Native类型的模块插件),或者引入了带Native代码的第三方库。试着暂时移除这些内容,看看错误是否消失。新建测试项目验证配置
有时候项目的配置文件损坏会导致这类问题,你可以新建一个空的Android项目,只添加Firebase登录所需的依赖,然后同步Gradle。如果新项目能正常同步,说明原项目的配置存在问题,你可以逐步迁移原项目的代码和配置来定位问题点。
内容的提问来源于stack exchange,提问作者Abdul Jabbar

