Android 资源模块化

Android resources modularization

我的 Android 项目分为 5 个模块。 'app' 模块使用具有所有资源可绘制对象的 UI 处理所有视图和处理。

现在,我正在实现一个比较图像的算法,源代码不能在'app'模块中。访问这些可绘制对象的正确方法是什么?我认为,为了维护项目架构,我应该 create/add 这个模块中的这些可绘制对象,如果是的话……我如何访问它们?因为这仅在 java class 位于 'app' 模块中时有效,而我不希望这样。

bmpimg1 = BitmapFactory.decodeResource(application.getApplicationContext().getResources(), R.drawable.example);

我是否必须在 gradle 文件中添加一些行? 提前致谢。

我通过将这些行添加到新模块的 build.gradle 解决了这个问题:

sourceSets{
    main.res.srcDirs = ['src/main/res']
}

然后识别了放置在res/drawable文件夹中的这个模块的drawables:

bmpimg1 = BitmapFactory.decodeResource(application.getApplicationContext().getResources(), R.drawable.example);

谢谢。