【发布时间】:2013-09-15 14:55:41
【问题描述】:
我正在创建一个带有自定义视图的 API。为了使视图在 XML 中具有自定义属性,我想为 API 使用“Android 库项目”。这样我可以在 attrs.xml 中声明我的自定义属性的定义。
但我在将库项目导出到 JAR 文件时遇到问题。引用 JAR 的项目会遇到 JAR 中包含的 android 资源文件的问题。有谁知道如何做到这一点?希望我的问题很清楚。 在这种情况下,我不能让项目成为开源项目。
[更新] 来自:http://developer.android.com/guide/developing/projects/index.html#considerations
"您不能将库项目导出到 JAR 文件 库不能作为二进制文件(例如 jar 文件)分发。这是因为库项目是由主项目编译为使用正确的资源 ID。”
所以我想这可以回答我的问题。我已经尝试了一个半有效的解决方案。它是从 java 源文件生成一个 JAR 并仅将 Android xml 资源作为 attrs.xml 添加到每个使用 JAR 的项目中。但这不是我想要实现的目标的好解决方案。我想要一个同时包含源和 xml 资源的 JAR,但还没有找到解决方案。
【问题讨论】:
-
你能写出它给出了什么样的错误?
-
@neeraj-nama 将带有资源的 Android 库(包括 gen 文件夹)导出到 JAR 时,引用 JAR 的项目无法创建自己的 R 文件,因为已经存在一个。这适用于常规的 Android 库项目参考,但不适用于 JAR 中的项目参考。至少我还没想好怎么做。