Android项目添加ViewModel依赖报错:无法获取'lifecycle_version'属性
解决ViewModel依赖中
lifecycle_version未定义的错误 错误原因
你在依赖配置中使用了$lifecycle_version作为版本占位符,但Gradle未找到该变量的定义,因此抛出属性未识别的错误。
解决方案
方案1:定义版本变量
在对应位置添加版本变量的定义,有两种常用配置位置:
- 根项目
build.gradle:全局定义,所有模块可复用该版本号
buildscript { ext { lifecycle_version = "2.6.2" // 使用最新稳定版,可按需替换 } }
- 当前模块
build.gradle:仅当前模块生效
android { // 保留原有Android配置内容 } // 在android块外部添加版本变量定义 ext { lifecycle_version = "2.6.2" } dependencies { // 原有依赖代码无需改动 implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version" // ... 其他依赖配置 }
方案2:直接使用具体版本号
跳过变量定义,直接将$lifecycle_version替换为实际版本号(推荐使用最新稳定版):
dependencies { // ViewModel依赖(注意Java项目需替换kapt为annotationProcessor) implementation "androidx.lifecycle:lifecycle-viewmodel:2.6.2" annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.6.2" // 原有其他依赖 implementation 'androidx.appcompat:appcompat:1.5.0' implementation 'com.google.android.material:material:1.6.1' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' }
额外注意
你使用Java开发Android项目,kapt是Kotlin专属的注解处理器,Java项目应改用annotationProcessor,否则注解处理逻辑可能无法正常运行。
内容的提问来源于stack exchange,提问作者rrezz
相关产品推荐
相关产品推荐

