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

基于Android 11的自定义SDK接入Android Studio遇依赖兼容问题

解决API 30环境下依赖兼容与自定义API调用问题

方案1:降级依赖库适配API 30

  • 逐个排查报错的Gradle依赖,替换为支持API 30的稳定版本:
    • 例如androidx.core:core-ktx可选用1.7.0(API 30兼容的最新稳定版)
    • com.google.android.material:material可选用1.6.1
  • 修改模块级build.gradle中的依赖声明,替换版本号后同步Gradle,验证依赖是否正常加载。

方案2:保留高编译SDK,通过版本隔离调用自定义API

  • 保持项目compileSdk = 34、targetSdk = 34,仅设置minSdk = 30
  • 创建API 30专属代码目录src/main/java-api30,将调用自定义API的逻辑放在该目录下
  • 在模块级build.gradle中配置源集:
    android {
        sourceSets {
            main {
                java {
                    srcDirs = ['src/main/java', 'src/main/java-api30']
                }
            }
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    
  • 调用自定义API前做版本判断,避免高版本环境报错:
    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) {
        // 执行自定义系统服务调用逻辑
        CustomSystemService.getInstance().customMethod()
    }
    
  • 限制Custom SDK的依赖范围:
    dependencies {
        implementation("com.your.custom:sdk:1.0.0") {
            version {
                strictly "1.0.0"
                because "Custom SDK only supports API 30"
            }
            constraints {
                require("androidx.core:core-ktx", "1.7.0")
            }
        }
    }
    

方案3:扩展Custom SDK的API适配范围(需修改AOSP)

  • 若有权限修改AOSP源码,将自定义系统服务的API适配逻辑扩展至API 34,添加@RequiresApi(Build.VERSION_CODES.R)或兼容更高版本的注解
  • 重新构建支持API 34的Custom SDK,导入Android Studio后即可在compileSdk=34环境下正常调用自定义API

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:55:18