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

如何在minSdk为22时在Android 14+设备上运行库插桩测试

解决Android 14上插桩测试因targetSdk<23无法安装的问题

问题背景

Android 14(API 34+)禁止安装targetSdkVersion < 23的APK,会触发INSTALL_FAILED_DEPRECATED_SDK_VERSION错误。你的库设置minSdkVersion=22且未配置已弃用的库级targetSdkVersion属性,导致插桩测试APK默认使用与minSdkVersion一致的22版本,无法在API 34+设备上运行。

解决方案:针对插桩测试模块单独配置targetSdkVersion

库级的targetSdkVersion属性虽已弃用,但插桩测试模块(androidTest)是独立的构建单元,可以单独为其配置targetSdkVersion,既不影响库本身的minSdkVersion=22兼容性,又能让测试APK满足Android 14的安装要求。

配置示例

Groovy(build.gradle)
android {
    defaultConfig {
        minSdk 22
        // 库级targetSdk无需配置(已弃用)
    }

    // 为插桩测试单独设置targetSdkVersion
    androidTest {
        defaultConfig {
            targetSdk 34
        }
    }
}
Kotlin DSL(build.gradle.kts)
android {
    defaultConfig {
        minSdk = 22
    }

    androidTest {
        defaultConfig {
            targetSdk = 34
        }
    }
}

原理说明

  • 库项目的targetSdkVersion属性弃用后,编译时会基于minSdkVersion和compileSdkVersion处理兼容性逻辑,不影响库的发布和对低版本设备的支持。
  • 插桩测试APK是独立构建的产物,单独为其设置targetSdkVersion=34后,就能符合Android 14的安装规则,避免触发安装错误。

不推荐的临时方案

虽然直接设置库级的targetSdkVersion=34能解决问题,但该属性已被官方标记为弃用,未来会被移除,因此不建议长期使用,优先选择测试模块单独配置的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 18:23:14