Android集成jitpack.io同步项目时遇语法错误求助
解决Gradle同步错误:Unexpected tokens (use ';' to separate expressions on the same line)
错误原因
你的settings.gradle.kts第13行的Maven仓库配置语法不符合Kotlin DSL规范,Kotlin作为强类型语言要求明确的函数调用或赋值语法,而你误用了Groovy DSL的写法。
修正步骤
- 修改settings.gradle.kts的JitPack配置
将原配置中的:
maven { url "https://jitpack.io" }
替换为以下任意一种符合Kotlin DSL规范的写法:
// 写法1:标准赋值式(推荐) maven { url = uri("https://jitpack.io") } // 写法2:简化参数传递 maven(url = "https://jitpack.io") // 写法3:函数调用式 maven { url(uri("https://jitpack.io")) }
完整修正后的settings.gradle.kts:
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url = uri("https://jitpack.io") } } } rootProject.name = "Gweiland_Task" include(":app")
清理无用依赖(可选)
模块级build.gradle.kts中的implementation("com.github.jitpack:android-example:1.0.1")是JitPack的示例依赖,实际项目中可移除,避免引入无用代码。重新同步项目
点击Android Studio工具栏的Sync Project with Gradle Files按钮,完成同步即可解决错误。
补充说明
Gradle Kotlin DSL与Groovy DSL语法差异:
- Kotlin要求配置属性时必须明确使用
=赋值 - 涉及URI类型的配置,推荐用
uri()包装字符串,避免类型匹配问题 - 函数调用需明确添加括号(带接收者的lambda表达式除外)
内容的提问来源于stack exchange,提问作者Mohamad Vahid Soudagar
相关产品推荐
相关产品推荐

