-1

昨天我将 adt 更新到 v 21。今天,经过小幅更正后,我重建并启动了项目,但它崩溃了。在我的项目中,我使用了一些库项目。ActionbarSherlock 就是其中之一。Logcat 说“java.lang.NoClassDefFoundError: com.actionbarsherlock.R$styleable at...”

4

2 回答 2

1

不过,我的解决方案有所不同。

我们需要确保在库项目中没有具有相同包名的项目。

如果 2 个库项目具有相同的包名,则构建过程不会为其中任何一个生成 R。更改其中一个的包名称(因此两个库具有不同的包名称)解决了这个问题。

于 2013-01-25T17:14:29.573 回答
0

在查看 logcat 并挠头几分钟后,我注意到,库项目的 R 类尚未在我的项目 /gen 文件夹中生成。为什么?这对我来说是个秘密。

我刚刚重建了图书馆项目,而不是我的 - 它解决了这个问题。

来自 adt 发行说明:

更新了构建以仅使用库所需的 ID 为库项目生成 R 资源类,从而降低了字段和方法达到 DEX 文件限制的风险。

似乎 adt 只是忽略了在 v21 之前的版本下构建的库项目

于 2012-11-21T16:30:10.177 回答