2

全部,

我正在尝试在我的应用程序中使用现有的开源项目(我们将其称为 A)作为库。项目 A 还带有自己的库项目 (B)。项目 A 编译并运行得很好;但是,当我尝试在我的应用程序中使用 A 时(我检查了 A 中的“Is Library”并将 A 添加到我的应用程序中)我收到几个错误“没有找到属性 'X'in 包中的资源标识符......”这些B 中存在特定属性。我什至检查了它们是否被添加到 A 中的 R 中,事实上,它们是。

我的问题:为什么我的应用程序看不到这些资源存在?

我到处搜索,发现只有一种情况像我一样:

Android 库没有将其资源拉到其他项目

但我没有看到我的任何资源都被命名为相同的。

我正在使用带有 ADT v20.0 的 Eclipse

我很感激任何帮助!

编辑:如果有帮助,我正在尝试使用的开源应用程序是 AnySoftKeyboard (ASK)。我也尝试过创建一个新项目并将 ASK 添加为库 - 没有骰子。

EDIT2:使 ASK 成为库的一部分需要将几个 switch 语句转换为 if-else 语句,因为 R Id 未声明为库的最终版本。

4

1 回答 1

2

这些错误显然是由于在您转换为库的 AnySoftKeyboard 项目中使用了自定义属性。我发现这个答案中提到的ADT(在 Rev 17 上)最近添加了一个解决方案。

按照指示,我尝试替换所有实例

http://schemas.android.com/apk/res/com.menny.android.anysoftkeyboard

http://schemas.android.com/apk/res-auto

在新转换的库项目中,并且能够构建和运行包含该项目的应用程序(虽然没有真正测试任何功能)。

希望这可以帮助。

于 2012-07-13T02:46:57.357 回答