【发布时间】:2019-11-26 20:08:02
【问题描述】:
** 见下方编辑 **
我构建了一个多库项目并成功发布到 jitpack.io 上的私有存储库。一些库包含布局文件等形式的资源。我有另一个项目可以实现这些库并且构建良好,但是当我尝试运行它时,我不断收到有关某些布局和导航文件中的属性的错误(来自图书馆):
例如,我正在加载一个名为 fragment_radio_main 的布局文件,该文件是从 com.github.username.libraryname:radio:version 导入的。在该布局中,我有一个RecyclerView,它使用属性app:layoutManager。这就是失败发生的地方
AAPT: error: attribute layoutManager (aka com.organization.appname:layoutManager) not found.
AAPT: error: attribute sc_border_width (aka com.organization.appname:sc_border_width) not found.
AAPT: error: attribute sc_corner_radius (aka com.organization.appname:sc_corner_radius) not found.
AAPT: error: attribute sc_tint_color (aka com.organization.appname:sc_tint_color) not found.
AAPT: error: attribute defaultNavHost (aka com.organization.appname:defaultNavHost) not found.
在上述日志中,layoutManager 来自 RecyclerView,前缀为 sc_* 的属性来自我的一个布局使用的第 3 方库,defaultNavHost 来自导航中的 NavHostFragment图书馆。还有更多的属性失败了,但我相信这很重要。
在aka行(aka com.organization.appname:sc_tint_color)中,sc_tint_color属性实际上并不是com.organization.appname定义的属性,而是由第 3 方定义。也许需要进行一些配置来解决这些属性?我只是坚持这一点。
如果您需要更多信息,我很乐意提供。任何帮助将不胜感激。
** 2019 年 11 月 27 日编辑 **
事实证明,如果我将 Radio 库导入到我当前的项目中,我还必须添加我的 Radio 库使用的任何第 3 方依赖项,这些依赖项包含我当前项目中的资源(具体而言,在这种情况下是可样式化的)文件,以访问这些属性。
所以我想我的问题是,有人知道如何避免这样做吗?
【问题讨论】:
-
任何解决方案@James
-
@bhardwaj 还没有
-
除了手动导入还有什么?