Ionic Capacitor构建Android项目时Gradle编译失败求助
Gradle构建失败:build.gradle第2行意外输入'{'的解决方案
问题描述
使用Ionic+Angular+Gradle+Android Studio进行Android项目仿真时,在VS Code终端执行ionic capacitor run android命令遭遇Gradle构建失败,错误提示C:\Users\fjmor\ionic\lista\android\build.gradle文件第2行存在意外输入'{',更换Gradle和Java版本后问题仍未解决。
终端报错信息
capacitor.cmd run android --target Pixel_2_API_30 [capacitor] √ Copying web assets from www to android\app\src\main\assets\public in 2.66s [capacitor] √ Creating capacitor.config.json in android\app\src\main\assets in 1.94ms [capacitor] [info] Inlining sourcemaps [capacitor] √ copy android in 3.01s [capacitor] √ Updating Android plugins in 15.82ms [capacitor] [info] Found 4 Capacitor plugins for android: [capacitor] @capacitor/app@5.0.6 [capacitor] @capacitor/haptics@5.0.6 [capacitor] @capacitor/keyboard@5.0.6 [capacitor] @capacitor/status-bar@5.0.6 [capacitor] √ update android in 134.47ms [capacitor] × Running Gradle build - failed! [capacitor] [error] [capacitor] FAILURE: Build failed with an exception. [capacitor] [capacitor] * Where: [capacitor] Build file 'C:\Users\fjmor\ionic\lista\android\build.gradle' line: 2 [capacitor] [capacitor] * What went wrong: [capacitor] Could not compile build file 'C:\Users\fjmor\ionic\lista\android\build.gradle'. [capacitor] > startup failed: [capacitor] build file 'C:\Users\fjmor\ionic\lista\android\build.gradle': 2: Unexpected input: '{' @ line 2, column 13. [capacitor] allprojects { [capacitor] ^ [capacitor] [capacitor] 1 error [capacitor] [capacitor] [capacitor] * Try: [capacitor] > Run with --stacktrace option to get the stack trace. [capacitor] > Run with --info or --debug option to get more log output. [capacitor] > Run with --scan to get full insights. [capacitor] [capacitor] * Get more help at https://help.gradle.org [capacitor] [capacitor] BUILD FAILED in 1s [capacitor] [ERROR] An error occurred while running subprocess capacitor. capacitor.cmd run android --target Pixel_2_API_30 exited with exit code 1. Re-running this command with the --verbose flag may provide more information.
当前build.gradle内容
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:8.0.2' classpath 'com.google.gms:google-services:4.3.15' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } apply from: "variables.gradle" allprojects { repositories { google() mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir }
解决方案
1. 排查文件隐藏字符与编码问题
错误提示指向第2行,但该行是注释,大概率是文件存在不可见的特殊字符或编码异常:
- 用VS Code打开
build.gradle,右下角切换编码为UTF-8无BOM格式,保存后重新构建 - 尝试手动重新创建
build.gradle文件,逐行复制内容(避免直接粘贴带隐藏字符的文本)
2. 检查variables.gradle文件语法
apply from: "variables.gradle"会引入外部配置文件,如果该文件存在语法错误,可能会导致Gradle解析时定位错误行:
- 打开
android/variables.gradle,检查是否有遗漏的括号、引号或其他语法问题,确保内容符合Groovy语法规范
3. 匹配Gradle与AGP版本兼容性
当前使用的Android Gradle插件(AGP)版本为8.0.2,需要对应Gradle 7.3.3及以上版本:
- 打开
android/gradle/wrapper/gradle-wrapper.properties,修改distributionUrl为兼容版本,例如:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip - 保存后执行
ionic capacitor sync android同步配置,再重新运行构建命令
4. 清理缓存后重新构建
- 进入项目的
android目录,执行命令:./gradlew clean - 删除
android/.gradle文件夹,然后重新执行ionic capacitor run android
内容的提问来源于stack exchange,提问作者DanielRM
相关产品推荐
相关产品推荐

