Kotlin项目配置Retrofit依赖时出现Gradle属性未定义错误
解决Retrofit依赖同步时的
okhttpVersion未定义错误 嘿,这个问题我之前配置Retrofit的时候也踩过坑!你遇到的错误本质很简单:Gradle找不到你在依赖里引用的okhttpVersion和retrofitVersion变量——你只在依赖声明里用了这些变量,但没提前给它们赋值呀。
下面给你两种解决办法,选一种适合你的就行:
方法一:统一定义版本变量(推荐)
这种方式方便后续统一更新版本号,只需要改一处就够了。
如果用Groovy DSL(build.gradle)
在你的Module级别的build.gradle文件顶部(android代码块之前)添加版本变量的定义:
ext { // 可以替换成当前最新的稳定版本号 okhttpVersion = "4.12.0" retrofitVersion = "2.9.0" }
如果用Kotlin DSL(build.gradle.kts)
在build.gradle.kts文件里添加:
val okhttpVersion by extra("4.12.0") val retrofitVersion by extra("2.9.0")
定义完之后再同步Gradle,之前的错误就会消失啦。
方法二:直接硬编码版本号
如果你不想用变量管理版本,也可以直接把版本号写死在依赖声明里,比如:
implementation "com.squareup.okhttp3:okhttp:4.12.0" implementation "com.squareup.okhttp3:logging-interceptor:4.12.0" implementation ("com.squareup.retrofit2:retrofit:2.9.0"){ exclude module: 'okhttp' } implementation "com.squareup.retrofit2:converter-gson:2.9.0"
另外提一句:你原来依赖里排除Retrofit自带OkHttp的写法是对的,这样能确保项目里只用你指定的OkHttp版本,避免版本冲突~
内容的提问来源于stack exchange,提问作者Muhammed Haris
相关产品推荐
相关产品推荐

