Android Jetpack项目构建报错:无法获取archLifecycleVersion属性
解决Gradle错误:Could not get unknown property 'archLifecycleVersion' for root project
嘿,这个问题我见得挺多的,咱们一步步来搞定它:
问题根源
你遇到的错误核心原因有两个:
- 你在
app/build.gradle的依赖里使用了$rootProject.archLifecycleVersion这个版本变量,但根项目的build.gradle文件里根本没定义这个变量,Gradle找不到它自然会报错。 - 你重复添加了
android.arch.lifecycle:extensions的依赖,这既冗余也可能引发潜在冲突。
解决方案
方案1:直接用固定版本(简单快捷)
打开app/build.gradle,找到你的dependencies代码块,删掉其中一行重复的lifecycle依赖:
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support.constraint:constraint-layout:1.1.0' // 保留固定版本的这行,删掉下面带变量的那行 implementation 'android.arch.lifecycle:extensions:1.1.1' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' }
修改完后点击Android Studio右上角的Sync Now同步Gradle,再重新执行Build->Make Project就可以了。
方案2:用版本变量统一管理(推荐,方便后续升级)
如果你想跟着官方教程的规范,用统一变量管理版本号,可以这么做:
- 打开项目根目录下的
build.gradle文件,找到ext代码块(如果没有就新建一个),添加archLifecycleVersion变量:
ext { archLifecycleVersion = '1.1.1' // 也可以把其他常用版本号放这里统一管理,比如: // kotlin_version = '1.2.51' // supportLibVersion = '27.1.1' }
- 回到
app/build.gradle,删掉固定版本的那行lifecycle依赖,只保留带变量的那行:
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support.constraint:constraint-layout:1.1.0' // 保留带变量的这行,删掉上面固定版本的那行 implementation "android.arch.lifecycle:extensions:$rootProject.archLifecycleVersion" testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' }
- 点击Sync Now同步Gradle,之后再Make Project就不会报错了。
小提示
官方教程里用版本变量是为了让你在多个模块里统一依赖版本,后续升级时只需要改根目录的变量值就行,不用每个模块挨个改,所以推荐你用方案2哦~
内容的提问来源于stack exchange,提问作者Muhammad Touseef
相关产品推荐
相关产品推荐

