2011-12-05 48 views
2

从ADT 14开始,资源字段不能用作开关 的情况。调用此修复程序以获取更多信息。这是什么原因用于? enter image description here什么是迁移Android代码?

+1

你能链接到你所指的“修复”吗?你的问题很混乱。 –

+0

这个问题完全令人困惑。一个解决办法是解决问题。如果您使用带资源ID的交换机,则由于ID不是最终的,它们不再工作。所以它修复了由此产生的错误。因为它似乎在你参考的文件中解释过。 – njzk2

回答

8

看看官方博客张贴关于这一点:

http://tools.android.com/recent/switchstatementconversion

http://tools.android.com/tips/non-constant-fields

基本上,在库项目资源常量不再是 “最后”。来自ADT网站:

换句话说,常量在库项目中不是最终的。 的原因很简单:当多个库项目合并为 时,字段的实际值(必须是唯一的)可能会发生冲突。在ADT 14之前,所有字段都是最终字段,因此,所有 库在使用时都必须将其所有资源和关联的Java代码 与主项目一起重新编译。这 表现糟糕,因为它使构建非常缓慢。它还 阻止分发不包含源 代码的库项目,限制了库项目的使用范围。

16

对于那些谁不解决这个问题还没有的 - 这是i`v做了什么:

  1. 转到您的“project.properties”文件。
  2. 删除此行“android.library =真正的”

我之所以有这个问题,是因为我做了拷贝粘贴&属性文件到我的项目(失踪)。

欢呼声。