我有一个Library
项目设置和一个依赖于这个库项目的项目 - 一切都编译得很好,但是我的Dependent
项目运行良好;
但是,在使用项目中的活动时,我遇到了间歇性问题Library
。
我的Library
项目可以作为库项目“未选中”,并且“选择器”活动可以单独运行。以自己的方式运行Library
项目可以正常工作,没有任何问题。
当我使用Library
依赖项目中的项目(和“选择器”活动)时,它会给我NullPointerExceptions
(或历史上的 DexOp)错误,说“选择器”活动找不到它的资源。
谁能告诉我他们以前是否经历过这种情况?
编辑
layout.xml
手动将项目活动使用的复制Library
到依赖项目,使项目正确打开“选择器”活动。这是必须的吗?!确定不是吗?R.java
这进一步让我想知道在项目中合并/引用整数 id 是否存在问题Library
。
编辑
我不确定这是否有任何后果,但我的一个Library
项目是对不同前端项目中使用的一组自定义视图的包装。
这些自定义视图每个都有一个 Activity,以便可以单独测试它们。
其中一个视图具有自定义属性,这些属性在单独运行时运行良好。但是,依赖项目似乎没有正确地拉入属性并将它们保留在其原始命名空间中,从而导致导入的布局引发编译错误:
[2012-05-16 12:07:28 - Project] D:\opt\workspace\CustomGlowList\res\layout\main.xml:14: error: No resource identifier found for attribute 'listId' in package 'com.company.library.glowlist'
[2012-05-16 12:07:28 - Project] D:\opt\workspace\CustomGlowList\res\layout\main.xml:14: error: No resource identifier found for attribute 'type' in package 'com.company.library.glowlist
编辑
通过删除项目中存在的重复文件名解决了 DexOp 错误Dependent
。不确定文件名是问题还是文件内容。
编辑
到目前为止,我一直无法找到解决这个问题的方法(尽管@yorkw 的回答肯定有助于 xml 属性!谢谢)。
但是,我设法使这个问题断断续续:
我浏览了每个库项目,并确保它们都有自己的命名空间(即com.company.library.component1
,com.company.library.component2
等)。经过几次清理(每个项目都以正确的优先级排序)后,此问题自行解决,但是在切换库/不是库以测试组件时最终会再次出现。