小编6ri*_*sm0的帖子

无法访问动态特征模块的资源

我正在尝试将新的 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)
Run Code Online (Sandbox Code Playgroud)

正如我所说,我能够阅读资产 txt 文件中的文本,但我似乎没有在资源中找到任何可绘制对象。

当我尝试获取我知道在动态模块的资源文件夹中的可绘制对象时,我得到一个 ResourcesNotFoundException

我已通读 Google 提供的 Android 文档,但找不到有关如何访问下载的模块资源的详细信息

https://developer.android.com/guide/app-bundle/playcore#access_installed_modules

android dynamic-feature dynamic-delivery

8
推荐指数
1
解决办法
684
查看次数