Android Studio中Gradle同步失败:未知属性'build'错误修复咨询
修复Gradle同步失败:未知属性'build'的问题
核心问题分析
你的报错源于两个关键冲突:
- Gradle插件版本过旧:当前使用的
com.android.tools.build:gradle:3.3.3不支持build.properties中的android.nonTransitiveRClass=true配置项,这会触发属性识别错误。 - OneSignal插件配置错误:根项目直接应用插件,但未在
buildscript中声明对应的依赖classpath,导致插件无法正常初始化。
修复步骤
1. 升级Gradle插件及Wrapper版本
将Gradle插件升级到支持android.nonTransitiveRClass的版本(最低7.0.0,推荐使用稳定版):
- 修改根目录
build.gradle中的dependencies块:
buildscript { repositories { google() mavenCentral() } dependencies { // 替换为7.4.2或更高稳定版 classpath 'com.android.tools.build:gradle:7.4.2' } }
- 修改
gradle/wrapper/gradle-wrapper.properties中的分发版本,与插件版本匹配:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
2. 修正OneSignal插件配置
OneSignal插件需要先在根项目声明classpath,再在模块级配置中应用:
- 在根
build.gradle的buildscript > dependencies中添加插件classpath:
dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 添加OneSignal插件依赖,使用兼容的版本范围 classpath 'com.onesignal:onesignal-gradle-plugin:[0.14.0, 0.99.99]' }
- 删除根项目中的
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin',将其移动到**模块级build.gradle(通常是app/build.gradle)**的顶部:
apply plugin: 'com.android.application' // 应用OneSignal插件 apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
3. 清理缓存并同步项目
- 保存所有修改后的文件
- 点击Android Studio顶部菜单
File > Sync Project with Gradle Files - 若仍有异常,执行
File > Invalidate Caches... > Invalidate and Restart清除缓存
4. 可选优化
jcenter()已停止维护,建议从根build.gradle的allprojects > repositories中移除,替换为mavenCentral():
allprojects { repositories { google() mavenCentral() maven { url "https://jitpack.io" } } }
内容的提问来源于stack exchange,提问作者Artem
相关产品推荐
相关产品推荐

