gpt4 book ai didi

android - 使用图书馆项目中的 Activity

转载 作者:IT老高 更新时间:2023-10-28 23:33:09 26 4
gpt4 key购买 nike

我设置了一个 Library 项目和一个依赖于该库项目的项目 - 一切都可以正常编译,但是我的 Dependent 项目运行良好;

我在使用 Library 项目中的 Activity 时遇到了间歇性问题。

我的 Library 项目可以作为库项目“取消选中”,并且“picker”Activity 可以单独运行。以自己的方式运行 Library 项目可以正常运行,没有任何问题。

当我使用依赖项目中的 Library 项目(和“选择器” Activity )时,它给了我 NullPointerExceptions(或历史上的 DexOp)错误,说“picker"Activity 找不到它的资源。

谁能告诉我他们以前是否经历过这种情况?

编辑

手动将Library项目Activity使用的layout.xml复制到依赖项目,使项目正确打开“picker”Activity。这是必须的吗?!确定不是吗?这进一步让我想知道在 Library 项目中合并/引用来自 R.java 的整数 id 是否存在问题。

编辑

我不确定这是否有任何后果,但我的一个 Library 项目是对不同前端项目中使用的一组自定义 View 的封装。

这些自定义 View 每个都有一个 Activity,以便可以单独测试它们。

其中一个 View 具有自定义属性,在单独运行时效果很好。但是,依赖项目似乎没有正确地拉入属性并将它们保留在其原始命名空间中,导致导入的布局引发编译错误:

[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.component1com.company.library.component2等)。经过几次清理(每个项目都以正确的优先级排序)后,此问题自行解决,但在切换库/不是库以测试组件时最终会再次出现。

最佳答案

原因:

Issue 9656: Library projects don't support custom XML attributes for custom classes

解决办法:

升级到最新的 SDK 和 ADT 版本(从 r17 开始修复)并使用 http://schemas.android.com/apk/res-auto 作为自定义属性的命名空间 URI,参见 Revisions for ADT 17.0.0 :

Added support for custom views with custom attributes in libraries. Layouts using custom attributes must use the namespace URI http://schemas.android.com/apk/res-auto instead of the URI that includes the app package name. This URI is replaced with the app specific one at build time.

相关话题:

Help with a custom View attributes inside a Android Library Project

关于android - 使用图书馆项目中的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com