我正在使用 install-time
选项将我的 Android 应用程序配置为使用 Play Asset Delivery。
我正在按照官方指南找到here
这是我的以下配置:
在项目设置中,我创建了一个asset_pack目录,包括子目录src/main/assets
在应用程序 gradle 中,我设置了我的 Assets 包:
assetPacks = [":asset_pack"]
在 settings.gradle 我包含了我的 Assets 包:
include ':app'
include ':asset_pack'
在asset pack gradle中我添加了对asset pack的引用和下载方法:
assetPack {
packName = "asset_pack"
dynamicDelivery {
deliveryType = "install-time"
}
}
在我尝试从此根目录检索 Assets 之前,一切似乎都运行良好。
文档说明我应该使用这种方法:
val packageContext: Context = createPackageContext("com.example.app", 0)
val assetManager: AssetManager = packageContext.assets
val inputStream: InputStream = assetManager.open("basemap/phil.jpg")
我的应用在尝试检索 Assets 时崩溃(我已将 com.example.app 替换为我的应用信息)
当我查看assetManager 列表时,显示的assetManager.list("")
文件都是应用程序包的一部分。不幸的是,名为asset_pack 的文件夹或其任何内容并未作为选项显示。
这是我的问题:我想我看不到我的asset_pack 文件的原因是因为它在我的应用程序目录中处于同一级别,但我不知道如何使用assetManager 访问该文件夹。有人知道我如何访问这些文件吗?
最佳答案
正确答案见 How to access assets-pack data in Android (kotlin) 基本上编辑您的运行配置以创建要从 app-bundle 安装的 apk
关于Android 安装时 Assets 交付访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66019971/