1

我正在研究动态模块功能交付,并且我在动态模块中也有一些可绘制的资源。我面临的问题是我无法获得资源的标识符,但是如果我直接引用它们中的任何一个,那么它工作得很好。因此,仅在尝试访问资源标识符时才会出现问题。目前我正在尝试这样做:

val resID = resources.getIdentifier("drawable_name", "drawable",packageName)

和这个

val resID = resources.getIdentifier("drawable_name", "drawable","explicit package name of module") 

但是,当我直接访问可绘制对象时R.drawable.mydrawable,它可以工作。请指导我如何访问资源标识符,因为目前它每次都返回 0,这意味着它无法访问标识符。

4

1 回答 1

0

尝试将.modulePluginName作为后缀添加到您的 packageName。

例如。您的 packageName 是com.android.test,而您的动态模块名称是moduleHello。然后设置pluginPackageName = "com.android.test.moduleHello"

像这样访问资源:

val resID = resources.getIdentifier("drawable_name", "drawable",pluginPackageName)
于 2020-12-01T07:43:54.773 回答