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

Androidx Activity所属依赖及未声明即可使用问题咨询

问题原因解答

1. 可正常使用ActivityResultContracts的原因

androidx.activity.result.contracts.ActivityResultContracts 属于androidx.activity:activity核心库的内容,并非只有androidx.activity:activity-ktx才提供,后者只是Kotlin扩展库,仅包含便捷的Kotlin扩展函数,核心类都在前者中。
你显式引入的androidx.appcompat:appcompat:1.3.1本身就存在传递依赖,会自动引入适配版本的androidx.activity:activity库,1.3.1版本的appcompat对应的activity依赖版本已经包含Activity Result API的完整实现,因此无需单独声明即可直接使用相关类。

2. 可导入多数androidx.*类的原因

Gradle默认开启传递依赖特性,你声明的几个直接依赖都会自动引入它们自身依赖的其他Androidx组件:

  • com.google.android.material:material:1.4.0 依赖appcompat、core、annotation等多个Androidx子库
  • androidx.appcompat:appcompat:1.3.1 除了activity之外,还会传递引入fragment、drawerlayout、viewpager2、loader等多个Androidx组件
  • androidx.lifecycle、androidx.recyclerview、androidx.constraintlayout等依赖也都会引入各自关联的Androidx公共依赖

你可以在项目根目录执行./gradlew :app:dependencies(Windows系统执行gradlew.bat :app:dependencies)查看完整依赖树,所有你能导入的Androidx类都属于这些被传递引入的依赖包,不存在可以导入任意Androidx类的情况——比如未显式/传递引入Room依赖的前提下,你无法导入androidx.room.*下的相关类。


内容的提问来源于stack exchange,提问作者Sourav Kannantha B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:39:04