【问题标题】:Is there a way to pass a configuration file file from a client app to a library project?有没有办法将配置文件文件从客户端应用程序传递到库项目?
【发布时间】:2020-03-26 23:16:06
【问题描述】:

我正在构建一个使用配置文件生成自定义资源的库项目。我有一个在构建阶段执行此操作的 gradle 插件。除非有其他解决方案,否则我想将这些资源存储在库的构建文件夹中,以便无需声明占位符值即可访问它们。问题是配置文件需要由客户端应用程序提供。但是,当然,如果我将插件应用到我的库中,我将无权访问存储文件的客户端应用程序的目录。如果我将它应用到客户端应用程序,我无法将生成的资源存储在库的构建文件夹中。有没有办法在两个项目之间传递这个?或者如果我的方法完全错误?

【问题讨论】:

    标签: android gradle android-gradle-plugin android-library


    【解决方案1】:

    显然,唯一的方法是使用海关样式属性。我在这里找到了描述:https://blog.danlew.net/2011/03/03/custom_styles_in_android_libraries/

    唯一的问题是这个解决方案会强制客户端应用程序依赖于库中声明的主题。这不适用于我的用例。相反,我认为使用占位符会更简单。因此,我将所有颜色、尺寸和样式声明为 null 对象,然后在构建客户端应用程序后将其覆盖。

    【讨论】:

      【解决方案2】:

      有一种方法可以在客户端应用程序中实现配置。 1.在lib项目中创建接口 2. 在客户端应用程序中实现该接口。 3.在客户端应用程序实现的界面中做可配置的事情。 4.在lib项目中调用接口方法(需要实际配置的地方)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        相关资源
        最近更新 更多