You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 02:54:37