Android 功能模块依赖另一个模块找不到资源

Android feature module dependency on another module not finding resources

我有我的基本模块 (Base)、一个动态功能模块 (A) 和一个不是动态功能的公共模块 (Common),它是一个库。 当我将 Common 添加为 A 的依赖项时,我可以使用它的 类 但是我的构建失败了,因为它无法从 Common 中找到资源(错误:找不到符号 R.drawable.myimage)图书馆。

dependencies {
     implementation project(":Common")
     implementation project(':Base')
}

这是动态功能限制还是导致此问题的原因?

使用

导入您的库模块(通用)

File --> New --> Import Module

你可以随时尝试

Invalidate Caches & Restart

(使用 Android Studio 笨拙地解决了大多数问题)

原来R.id.resource只会从功能模块获取资源,com.yourdomain.base.R.id.resource会引用基础模块的资源,而基础模块可以访问库模块的资源。

这解决了我的问题。

在动态功能中安装 SplitCompat activity

override fun onAttach(context: Context?) {
super.onAttach(context)
SplitCompat.install(context)
}

可以参考官方动态投放文档

https://github.com/arpitagarwal1301/AndroidHub/issues/8