我正在构建一个使用配置文件生成自定义资源的库项目。我有一个gradle插件,可以在构建阶段执行此操作。除非有其他解决方案,否则我想将这些资源存储在库的build文件夹中,以便无需声明占位符值即可对其进行访问。问题在于配置文件需要由客户端应用程序提供。但是,当然,如果我将插件应用于我的库,则我无权访问客户端应用程序存储文件的目录。而且,如果将其应用于客户端应用程序,则无法将生成的资源存储在库的build文件夹中。有没有办法在两个项目之间传递呢?还是我的方法完全错误?
答案 0 :(得分:0)
显然,唯一的方法是使用海关样式属性。我在这里找到了说明:Difference between Type.IsGenericTypeDefinition and Type.ContainsGenericParameters
唯一的问题是,该解决方案将迫使客户端应用程序依赖于库中声明的主题。这不适用于我的用例。相反,我认为使用占位符会更简单。因此,我将所有颜色,尺寸和样式都声明为空对象,然后在构建客户端应用程序后将其覆盖。
答案 1 :(得分:0)
有一种方法可以在客户端应用程序中实现配置。 1.在lib项目中创建一个接口 2.在客户端应用程序中实现该接口。 3.在客户端应用程序实现的界面中进行可配置的操作。 4.在lib项目中调用接口方法(需要实际配置)