【问题标题】:JSoup 1.6.0 on Android throws Exception: String.isEmpty() NoSuchMethodExistsAndroid 上的 JSoup 1.6.0 抛出异常:String.isEmpty() NoSuchMethodExists
【发布时间】:2011-06-18 01:43:18
【问题描述】:

我正在尝试将 JSoup 1.6.0 与我的 Android 应用程序一起使用,但它会引发 NoSuchMethodExists 异常。

This other question 告诉我 isEmpty() 直到 1.6 才添加到 Java JRE——我在 Eclipse 中检查了我的 JRE,它是 1.6,但是当我尝试在我的模拟器上运行我的应用程序时,它会抛出以上异常。有解决办法吗,还是我应该只导入 Apache Commons Lang 库?

【问题讨论】:

  • 您可以编写自己的静态方法来为您进行检查,而不是为此导入整个外部库。至于你得到的错误,这很奇怪。
  • 为什么不自己写方法呢?我认为这是一个单行。这样你就不需要引入 ACLang...
  • 顺便说一句:此方法正在另一个外部库中使用:JSoup。这就是抛出异常的地方(如果相关的话)。
  • 您是否查看了环境变量以确保它们正确无误?

标签: java android jsoup


【解决方案1】:

String.isEmpty() 在 API 级别 9 之前不可用。相反,您可以使用 TextUtils.isEmpty()

看起来 JSoup 1.6 引入了使用 String.isEmpty() 的代码,因此需要 Android API 级别 9。如果您的目标是 Android API 级别 8 或更低 (Froyo),我建议现在使用旧版本的 JSoup。

这在 JSoup 1.6.0 中被视为一个错误,您可以期待很快得到修复。状态见https://github.com/jhy/jsoup/issues/103

【讨论】:

  • 但是,现在我在您的 cmets 中看到这是从外部库调用的。您需要自己对 JSoup 进行更改。
  • 是的。不过感谢您澄清这一点——我已经将目标定为 8 级,所以你去吧。
  • 不过,这对我来说似乎有点奇怪,因为看起来没有其他关于在 Android 中使用 JSoup 和这个特殊例外的问题——其他人似乎已经取得了一段时间的成功.而且,JSoup 声称它与 Android 兼容:jsoup.org/download
  • 道歉;我在兼容性检查中错过了这一点。我会尽快修复 jsoup 的 JRE 1.5 支持。
  • 无需道歉——你称它为测试版,所以你摆脱了困境;)我(我相信还有很多其他人)感谢你在这个项目上所做的工作。感谢您的快速回复(在此处和 Twitter 上)。期待修复。
猜你喜欢
  • 2012-12-31
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-30
  • 2019-03-09
相关资源
最近更新 更多