我正在尝试将新的 Android 动态交付功能添加到我的应用程序中,但我访问动态功能模块资源的尝试一直失败。
基本思想是加载一个没有代码但有一堆矢量文件作为可绘制资源的模块。
我能够加载模块甚至访问给定模块的资产,但我不知道如何访问资源。
val res = context.createPackageContext(context.packageName, 0).also {
SplitCompat.install(it)
}.resources
val assetsStream = res.assets.open("test.txt")
val assetContent = assetsStream.bufferedReader()
.use {
it.readText()
}
var iconResourceId = res.getIdentifier(stringIdentifier, IDENTIFIER_DRAWABLE, context.packageName)
正如我所说,我能够阅读资产 txt 文件中的文本,但我似乎没有在资源中找到任何可绘制对象。
当我尝试获取我知道在动态模块的资源文件夹中的可绘制对象时,我得到一个ResourcesNotFoundException
我已通读 Google 提供的 Android 文档,但我无法找到有关如何访问已下载模块资源的详细信息
https://developer.android.com/guide/app-bundle/playcore#access_installed_modules