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

升级至SDK31后Android Studio提示ActivityResultContracts包不存在求助

问题分析与解决办法

核心原因

你遇到的ActivityResultContracts包不存在错误,主要和AndroidX包导入错误、项目依赖冲突、以及未完全适配AndroidX环境有关,结合你的情况具体拆解如下:

1. 导入语句错误

ActivityResultContracts属于AndroidX的androidx.activity.result.contract包,很多人会写错导入路径,你需要确认代码里的导入语句是:

import androidx.activity.result.contract.ActivityResultContracts;

如果写成import ActivityResultContracts;或者其他错误路径,必然会报包不存在。

2. 项目已在使用AndroidX,但存在依赖冲突

你配置的依赖(androidx.appcompat、androidx.activity)都是AndroidX库,说明你的项目已经部分启用AndroidX,不存在“未迁移”的情况——反而如果项目里还残留旧的com.android.support系列依赖,会导致AndroidX和旧Support库冲突,引发依赖加载异常。

检查你的build.gradle(app模块),如果有类似com.android.support:appcompat-v7、com.android.support:support-v4这类依赖,全部替换为对应的AndroidX版本:

  • com.android.support:appcompat-v7 → androidx.appcompat:appcompat:1.5.1(你已经添加)
  • com.android.support:support-v4 → androidx.core:core:1.9.0

3. Gradle插件版本不匹配

androidx.activity:activity:1.6.1需要对应的Gradle插件版本支持,建议将项目根目录build.gradle中的Gradle插件版本升级到7.0.0及以上:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.0' // 或更高版本,比如7.4.2
    }
}

同时确保gradle-wrapper.properties中的Gradle版本和插件版本匹配(比如插件7.0.0对应Gradle 7.0+):

distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip

4. 类继承问题

registerForActivityResult只能在继承自ComponentActivity或AppCompatActivity的类中使用(AppCompatActivity本身继承自ComponentActivity),你之前改继承ComponentActivity解决过registerForActivityResult的问题,现在要确保当前调用ActivityResultContracts的类也符合这个要求,不能继承旧的android.app.Activity。

5. 构建缓存问题

旧的构建缓存可能导致依赖未正确加载,执行以下操作清理缓存:

  • 在Android Studio中点击File → Invalidate Caches... → 选择Invalidate and Restart
  • 或者在终端执行:
./gradlew clean build

额外定位权限适配提示

针对SDK31的定位权限变更,除了权限请求代码,还需要注意:

  • 在AndroidManifest.xml中添加ACCESS_COARSE_LOCATION、ACCESS_FINE_LOCATION权限,若需要后台定位,还要添加ACCESS_BACKGROUND_LOCATION(SDK29+需要)
  • 请求权限时,先请求ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION,用户允许后,再请求ACCESS_BACKGROUND_LOCATION(不能一次性请求三个,否则会被系统拒绝)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:55:15