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

Android App Bundle如何适配不同minSdkVersion,替代多APK兼容低版本?

使用App Bundle实现多minSdk版本适配的方案

你的核心需求是:保留对API 16-18用户的兼容,同时给API 19+用户推送搭载最新Admob库的版本,避免低版本用户收到不兼容的升级包。用App Bundle可以通过构建变体(Product Flavors)+ 版本代码策略实现和多APK一样的效果,具体步骤如下:


1. 配置Gradle构建变体

在模块的build.gradle(或build.gradle.kts)中,创建两个针对不同API等级的构建变体,分别配置对应的minSdk和Admob依赖:

android {
    defaultConfig {
        applicationId "com.your.package.name"
        targetSdkVersion 34
        versionCode 100 // 基础版本号,后续更新时递增即可
        versionName "1.0.0"
    }

    // 定义维度,用于区分不同API等级的变体
    flavorDimensions "apiLevel"
    productFlavors {
        // 适配API 16-18的旧版本变体
        legacy {
            dimension "apiLevel"
            minSdkVersion 16
            // 版本代码 = 基础版本号 * 10 + 0,确保比modern变体低
            versionCode defaultConfig.versionCode * 10 + 0
        }
        // 适配API 19+的新版本变体
        modern {
            dimension "apiLevel"
            minSdkVersion 19
            // 版本代码 = 基础版本号 * 10 + 1,确保比legacy变体高
            versionCode defaultConfig.versionCode * 10 + 1
        }
    }

    dependencies {
        // 通用基础依赖
        implementation 'androidx.core:core-ktx:1.12.0'
        implementation 'androidx.appcompat:appcompat:1.6.1'

        // 按变体引入对应版本的Admob
        legacyImplementation 'com.google.android.gms:play-services-ads:19.8.0' // 支持minSdk 16的旧版本
        modernImplementation 'com.google.android.gms:play-services-ads:20.6.0' // 最新版本,要求minSdk 19
    }
}

2. 版本代码的关键作用

  • 给modern变体设置更高的版本代码,确保API 19+的设备会优先获取这个版本的APK
  • legacy变体的版本代码略低,但仍随基础版本号递增,保证API 16-18的用户能收到对应变体的更新,不会被强制推送不兼容的modern版本

3. 构建并发布App Bundle

直接构建App Bundle(Build > Build Bundle(s) / APK(s) > Build Bundle(s)),然后上传到Google Play:

  • Google Play会自动从App Bundle中拆分出对应legacy和modern变体的APK
  • 系统会根据用户设备的API等级自动分发适配的版本:API 16-18的设备只会收到legacyAPK,API 19+的设备收到modernAPK,完全避免低版本用户拿到不兼容的升级包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:01:13