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

求助:未引入的androidx.activity:activity:1.8.0依赖引发编译SDK版本冲突

解决间接依赖androidx.activity:activity:1.8.0导致的API 34编译要求冲突问题

问题背景

未手动引入androidx.activity:activity:1.8.0依赖,但项目被间接依赖该库,而它强制要求编译API版本≥34;当前使用Android Gradle插件(AGP)7.4.2,其推荐最高compileSdk为33,修改compileSdk到34则报错,新建项目、重建Gradle均无效。

解决方案

方案一:强制降级activity依赖版本(快速解决)

androidx.activity:activity:1.7.2是兼容API33的稳定版本,可通过Gradle强制依赖规则锁定该版本,覆盖间接引入的1.8.0:

  1. 打开app模块的build.gradle(或build.gradle.kts),在dependencies块中添加:
dependencies {
    // 强制所有依赖使用activity 1.7.2版本
    implementation("androidx.activity:activity:1.7.2") {
        force = true
    }
}
  1. 点击Android Studio右上角的Sync Project with Gradle Files,同步完成后重新编译即可。

方案二:升级AGP与compileSdk版本(长期适配)

若想保留最新版activity库,需升级AGP到支持API34的版本:

  1. 打开项目根目录的build.gradle(根目录,非app模块),修改AGP版本为7.4.3及以上(如7.4.3、8.0.0):
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.3'
    }
}
  1. 打开app模块的build.gradle,更新compileSdkVersion和targetSdkVersion:
android {
    compileSdkVersion 34

    defaultConfig {
        targetSdkVersion 34
        // minSdkVersion可保持原有版本,无需同步升级
    }
}
  1. 同步Gradle,若弹出Gradle版本不匹配提示,按照提示升级Gradle wrapper版本(AGP7.4.3对应Gradle 7.5)。

补充说明

  • 间接依赖来源:多数Jetpack组件(如Fragment、Navigation)会自动关联最新版activity库,若未显式指定版本,Gradle会拉取符合约束的最高版本,而1.8.0刚好新增了API34的强制要求。
  • 降级版本的安全性:1.7.2与1.8.0核心功能一致,仅新增了API34相关的适配逻辑,降级后不会影响按钮等基础UI组件的正常使用。

内容的提问来源于stack exchange,提问作者Reddi3n

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:51:21