首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android DFM动态FeatureModule资源NotFoundException

Android DFM动态FeatureModule资源NotFoundException
EN

Stack Overflow用户
提问于 2020-12-23 16:40:17
回答 1查看 97关注 0票数 0

在我们的应用程序中,我们开始使用动态功能模块(DFM)来处理大量资源。我们将大多数可绘制文件移动到DFM,并在需要时加载它们。

用于使用提供程序和应用程序上下文加载可绘制文件(如文档中所示),并且仅当加载了dfm时才有效

代码语言:javascript
复制
val drawable = ContextCompat.getDrawable(applicationContext, DFM.getDrawableResID(m_drawableName));

DFM.getDrawableResID(m_drawableName) -从模块返回资源ID (DrawableRes)

在应用程序类中重写attachBaseContext

代码语言:javascript
复制
override fun attachBaseContext(base: Context ) {
        super.attachBaseContext(base)
        SplitCompat.install(this)
    }

在主模块的MainActivity中,attachBaseContext也被覆盖

代码语言:javascript
复制
override fun attachBaseContext(newBase: Context) {
        super.attachBaseContext(newBase)
        SplitCompat.installActivity(this)
    }

下载模块工作,下载后在列表中有一个绘图文件。但在应用程序重启之后-

代码语言:javascript
复制
No package ID 7e found for ID 0x7e010219
Fatal Exception: android.content.res.Resources$NotFoundException
Resource ID #0x7e0101e4

模块已安装,从模块获取的文件列表没有问题...

EN

回答 1

Stack Overflow用户

发布于 2021-01-13 20:02:39

已解决:

只有在“会话”中安装之后,我们才能使用应用程序上下文。重新启动app和SplitCompat.install() (在应用程序和活动中)后,所有DFM资源仅可由活动上下文使用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65421306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档