Gradle7.0.2环境下onesignal-gradle-plugin未找到报错如何解决?
报错原因
该报错由两个问题共同触发:
- 你在
plugins块中引入第三方非Gradle官方插件时未指定版本号,不符合Gradle 7.0+的语法要求 - 项目的插件仓库列表中未配置该插件所在的公共仓库,导致无法检索到对应资源
解决方案
方案1:直接补全plugins块配置(推荐)
- 先打开项目根目录的
settings.gradle文件,确保pluginManagement节点已配置正确的仓库:
pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- 修改你的Module级build.gradle的
plugins块,给OneSignal插件补充对应版本号,和你引入的4.2.0版本SDK匹配的插件版本为0.14.0:
plugins { id 'com.android.application' id 'com.google.gms.google-services' // 补充version字段 id 'gradle.plugin.com.onesignal.onesignal-gradle-plugin' version '0.14.0' }
修改完成后重新同步Gradle即可。
方案2:改用传统buildscript引入方式(方案1失效时使用)
- 打开项目级build.gradle,在
buildscript节点中添加插件依赖:
buildscript { repositories { google() mavenCentral() gradlePluginPortal() } dependencies { // 保留你原有的其他classpath配置,比如Android Gradle插件、google-services插件 classpath "com.android.tools.build:gradle:7.0.2" classpath "com.google.gms:google-services:4.3.10" // 新增OneSignal插件依赖 classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.14.0' } }
- 修改Module级build.gradle,删除
plugins块中的OneSignal插件声明,在文件最顶部添加插件引入语句,注意顺序:
plugins { id 'com.android.application' id 'com.google.gms.google-services' // 删除原来的OneSignal插件行 } // 新增这行,注意放在com.android.application之后,google-services之前 apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin' // 原有其他配置、dependencies配置保持不变
注意:必须严格遵守插件引入顺序,否则会导致资源合并冲突、通知功能异常等问题
内容的提问来源于stack exchange,提问作者TrungDung
相关产品推荐
相关产品推荐

