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

Android APK能否包含Asset Packs?打包APK时资源包未纳入问题求助

如何将Install-Time Asset Pack包含进APK(非Google Play分发)

Asset Pack的动态交付机制原本是为Google Play设计的,默认只有AAB打包会自动处理Asset Pack。要在APK中包含install-time类型的Asset Pack,有两种可行方案:

方案一:生成包含Asset Pack的单一APK

直接将Asset Pack的资源合并到主APK中,适合对分发文件数量有要求的场景(注意:最终APK大小可能超过150MB,需确认分发渠道支持)

  1. 修改主模块的build.gradle文件,添加如下配置:
android {
    compileSdkVersion 33
    assetPacks = [":asset_pack_0"]

    // 强制将install-time Asset Pack合并进主APK
    bundle {
        assetPacks {
            ':asset_pack_0' {
                enableSplit = false
            }
        }
    }

    // 打包时自动复制Asset Pack资源到主APK的assets目录
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.packageApplication.doLast {
                def assetPackAssetDir = project(':asset_pack_0').buildDir.absolutePath + 
                    "/intermediates/merged_assets/${variant.name}/mergeAssets/out"
                def mainApkAssetDir = output.packageApplication.outputDirectory.absolutePath + '/assets'
                copy {
                    from assetPackAssetDir
                    into mainApkAssetDir
                }
            }
        }
    }
}
  1. 执行打包命令:
./gradlew assembleRelease

或者在Android Studio中选择Build > Generate Signed APK生成签名APK。

  1. 验证:解压生成的APK,检查assets目录下是否存在Asset Pack中的资源文件。

方案二:生成拆分APK集

将Asset Pack打包为独立的拆分APK,适合主APK+Asset Pack总大小超150MB的场景,需将所有拆分APK一起分发给参与者。

  1. 确保Asset Pack的build.gradle配置不变(已设置deliveryType = "install-time")
  2. 修改主模块的build.gradle文件:
android {
    compileSdkVersion 33
    assetPacks = [":asset_pack_0"]

    // 启用ABI拆分(可选,也可只保留universal APK)
    splits {
        abi {
            enable true
            reset()
            include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
            universalApk true // 生成通用APK,适配所有架构
        }
    }

    // 配置Asset Pack以install-time方式打包为拆分APK
    bundle {
        assetPacks {
            ':asset_pack_0' {
                deliveryType = "install-time"
            }
        }
    }
}
  1. 打包完成后,在app/build/outputs/apk/release/目录下会生成:

    • 主APK(如app-release-universal.apk)
    • Asset Pack拆分APK(如app-release-asset_pack_0-universal.apk)
  2. 分发时需将所有拆分APK一起发给参与者,使用支持批量安装的APK安装器完成安装。

注意事项

  • 安装前请卸载设备上的旧版本应用,避免资源加载冲突
  • 若使用单一APK,需确认分发渠道(如邮件、即时通讯工具)支持大文件传输
  • 测试时务必验证Asset Pack中的资源能否被应用正常加载

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:30:04