在模块中定义资源ID(仅定义它,就像前向声明一样)

时间:2018-07-31 18:34:04

标签: android

这是某种可能性吗?

这是一个小例子:

  • 核心模块=>没有依赖关系
  • 主模块=>包括一些第三方库,其中包括一个名为circle的可绘制对象

目标

在核心模块中使用R.drawable.circle,而无需添加第三方依赖项

尝试过的解决方案

以某种方式“提前声明”该ID,例如在核心库中:

<resources>
    <drawable name="circle" />
    // or
    //  <item name="circle" type="drawable " />
</resources>

然后假设合并将合并(并覆盖)核心模块中的可绘制对象与主模块中定义的可绘制对象。

这似乎不符合我想要的方式,运行我的应用程序时总是会遇到android.content.res.Resources$NotFoundException异常...

有什么办法解决这个问题吗?

例外

如果我在核心模块中使用<drawable>资源声明,则会出现以下异常:

android.content.res.Resources$NotFoundException: Resource "com.my.app.debug:drawable/circle" (7f070061) is not a Drawable (color or path): TypedValue{t=0x1/d=0x0 a=3 r=0x7f070061}

如果我使用<item>声明,则会得到以下提示:

android.content.res.Resources$NotFoundException: Drawable com.my.app.debug:drawable/circle with resource ID #0x7f070061

0 个答案:

没有答案