【发布时间】:2021-05-07 05:44:20
【问题描述】:
我正在使用 install-time 选项将我的 Android 应用配置为使用 Play Asset Delivery。
我正在按照官方指南找到here
这是我的以下配置:
在项目设置中,我创建了一个asset_pack目录,包括子目录src/main/assets
在应用程序 gradle 中我设置了我的资产包:
assetPacks = [":asset_pack"]
在 settings.gradle 我包含了我的资产包:
include ':app'
include ':asset_pack'
在asset pack gradle中我添加了对asset pack的引用和下载方法:
assetPack {
packName = "asset_pack"
dynamicDelivery {
deliveryType = "install-time"
}
}
在我尝试从此根目录检索资产之前,一切似乎都运行良好。
文档说明我应该使用这种方法:
val packageContext: Context = createPackageContext("com.example.app", 0)
val assetManager: AssetManager = packageContext.assets
val inputStream: InputStream = assetManager.open("basemap/phil.jpg")
我的应用在尝试检索资产时崩溃(我已将 com.example.app 替换为我的应用信息)
当我查看assetManager 列表assetManager.list("") 时,显示的文件都是应用程序包的一部分。不幸的是,名为asset_pack 的文件夹或其任何内容并未作为选项显示。
这是我的问题:我想我看不到我的asset_pack 文件的原因是因为它在我的应用程序目录中处于同一级别,但我不知道如何使用assetManager 访问该文件夹。有人知道我如何访问这些文件吗?
【问题讨论】:
标签: android kotlin android-assets android-asset-delivery