【问题标题】:Renderscript in a library project will cause findViewById() return null库项目中的渲染脚本将导致 findViewById() 返回 null
【发布时间】:2013-11-27 12:55:39
【问题描述】:

我遇到了与Android Build in Eclipse not generating the right resource ids in R.java 完全相同的问题,因为该链接没有“renderscript”标签,我在这里再次报告了它并提供了一些附加信息。

总之,如果我创建了一个库项目并添加了一些自定义渲染脚本,则会出现以下问题。如果我通过添加将库项目与另一个 UI 项目链接

android.library.reference.1=..xxx

在 UI 项目的 project.properties 文件中,然后在该 UI 项目中调用 findViewById() 将始终返回 null,无论我做什么。如果我删除库项目中的自定义渲染脚本,UI 项目工作正常。

我还尝试删除库项目中所有可能的资源(仅保留渲染脚本资源),出现同样的问题。所以这证明问题是由renderscript引起的。

我正在使用最新的 SDK 包“adt-bundle-windows-x86-20131030”和 Android SDK 工具版本 22.3、平台工具版本 19、构建工具版本 19。

同样的问题也出现在早期的 SDK 版本中。

这是 Eclipse ADT 的错误吗?在修复之前是否有任何解决方法。谢谢!

更新: 一些更新。我找到了这个问题的“解决方案”。如果我使用旧的“adt-bundle-windows-x86-20130729”SDK 包编译并启动应用程序(它会成功),然后切换回“adt-bundle-windows-x86-20130917”或“adt -bundle-windows-x86-20131030"(新的),这个问题就会消失!我在两台机器上试过这个,它的行为都是这样的。我不知道原因,但如果您遇到同样的问题,希望这会对您有所帮助。

【问题讨论】:

  • 检查是否导入了"android.R"
  • @VenomVendor 感谢您的回复。不,我没有导入 android.R。我要这样做吗?你能详细说明一下吗。谢谢!
  • 另外,我在Nexus 5(运行Android 4.4)和另一部运行Android 4.2的手机上试过,问题是一样的。
  • 你不应该导入,"android.R",如果XML有错误,则不会生成“R”文件,你已经手动打开并检查是否eclipse 显示任何错误,也尝试清理和构建
  • 我没有导入 android.R... 据我所见,eclipse 并没有抱怨什么。

标签: android eclipse renderscript


【解决方案1】:

一些更新。我找到了这个问题的“解决方案”。如果我使用旧的“adt-bundle-windows-x86-20130729”SDK 包编译并启动应用程序(它会成功),然后切换回“adt-bundle-windows-x86-20130917”或“adt -bundle-windows-x86-20131030"(新的),这个问题就会消失!我在两台机器上试过这个,它的行为都是这样的。我不知道原因,但如果您遇到同样的问题,希望这会对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多