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

Android Studio中使用Play Asset Delivery访问默认APK内asset文件报错如何解决

直接运行默认APK访问PAD内置资源的解决方案

1. 调整构建配置强制合并资源到Base APK

在应用级build.gradle文件中针对debug构建变体添加配置,让开发阶段直接运行的APK自动把asset pack中的资源合并到主包,不需要走AAB转APK的流程:

android {
    // 其余原有配置保持不变
    buildTypes {
        debug {
            // 清空assetPacks配置,强制所有asset pack资源合并到主APK
            assetPacks = []
        }
        release {
            // 正式包保留原有asset pack配置即可
            assetPacks = [":你的asset pack模块名称"]
        }
    }
}

注意替换配置中的模块名称为你实际创建的asset pack模块名

2. 统一使用标准AssetManager API访问资源

不需要做路径适配,直接调用系统Assets访问接口读取文件即可,该写法在debug直接运行、正式AAB分包两种场景下都可以正常工作:

// Kotlin 示例
val inputStream = context.assets.open("hello.txt")
// 后续按正常逻辑读取流内容即可
// Java 示例
InputStream inputStream = context.getAssets().open("hello.txt");

3. 临时快速测试方案

如果只是临时验证资源读取逻辑,也可以直接把hello.txt临时复制到app模块的src/main/assets目录下,debug运行时会直接读取该路径下的文件,测试完成后删除即可,不会影响正式打包的PAD逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:45:03