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

升级Target SDK到30后OkHttpProfilerInterceptor运行崩溃如何处理?

问题根因

这个报错是OkHttp版本依赖冲突导致的:你项目中引入的旧版OkHttp(通常是3.12.x及更早版本,或者4.0-4.2的早期版本)发布时Android 11(API 30)还未推出,旧版本的版本校验逻辑无法识别API 30的版本号,才会抛出Expected Android API level 21+ but was 30的异常。
你单独升级OkHttp不生效的核心原因是:AndroidNetworking框架、OkHttpProfilerInterceptor插件内部默认依赖了旧版OkHttp,会覆盖你手动声明的高版本OkHttp依赖。

解决方案

按顺序执行以下步骤即可解决:

  • 第一步:统一升级所有OkHttp相关依赖到适配API 30的版本,最低版本要求:
    • OkHttp 3.x分支:至少升级到3.14.9
    • OkHttp 4.x分支:至少升级到4.3.0
  • 第二步:排除间接依赖的旧版OkHttp,在你的build.gradle(app层级)中给冲突的依赖添加排除规则:
dependencies {
    // 排除AndroidNetworking内部的旧版OkHttp
    implementation ('com.amitshekhar.android:android-networking:1.0.2') {
        exclude group: 'com.squareup.okhttp3', module: 'okhttp'
    }
    // 排除OkHttpProfilerInterceptor内部的旧版OkHttp
    implementation ('com.localebro:okhttpprofiler:1.0.8') {
        exclude group: 'com.squareup.okhttp3', module: 'okhttp'
    }
    // 手动引入符合版本要求的OkHttp
    implementation 'com.squareup.okhttp3:okhttp:3.14.9' // 也可替换为4.3.0及以上版本
}
  • 第三步:清理项目缓存后重新编译:依次执行菜单栏的Build -> Clean Project,再执行Rebuild Project即可。
验证方式

你可以在Android Studio的Terminal中执行./gradlew app:dependencies(Windows系统执行gradlew app:dependencies),搜索okhttp关键字,确认所有OkHttp依赖的版本都统一为你声明的高版本,没有低版本残留即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:45:03