致命异常:与doInBackground()相关的AsyncTask#1
问题描述:
我在运行我的代码时遇到致命异常:AsyncTask#1。日志告诉我这是由NoSuchMethodError指向com.google.api.client.http.HttpHeaders.set
引起的。我正在使用Android的Factual java驱动程序,并且在运行代码时出现此错误。致命异常:与doInBackground()相关的AsyncTask#1
为什么我得到这个?我能做些什么来解决它?
这里是一个错误指向代码:
@Override
protected List<ReadResponse> doInBackground(Query... params) {
List<ReadResponse> results = Lists.newArrayList();
for (Query q : params) {
results.add(factual.fetch("restaurants-us", q));
}
return results;
}
,我得到的错误日志是在这里:
04-14 18:07:43.731: E/AndroidRuntime(12714): FATAL EXCEPTION: AsyncTask #1
04-14 18:07:43.731: E/AndroidRuntime(12714): java.lang.RuntimeException: An error occured while executing doInBackground()
04-14 18:07:43.731: E/AndroidRuntime(12714): at android.os.AsyncTask$3.done(AsyncTask.java:200)
04-14 18:07:43.731: E/AndroidRuntime(12714): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
04-14 18:07:43.731: E/AndroidRuntime(12714): at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
04-14 18:07:43.731: E/AndroidRuntime(12714): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
04-14 18:07:43.731: E/AndroidRuntime(12714): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
04-14 18:07:43.731: E/AndroidRuntime(12714): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
04-14 18:07:43.731: E/AndroidRuntime(12714): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
04-14 18:07:43.731: E/AndroidRuntime(12714): at java.lang.Thread.run(Thread.java:1027)
04-14 18:07:43.731: E/AndroidRuntime(12714): Caused by: java.lang.NoSuchMethodError: com.google.api.client.http.HttpHeaders.set
04-14 18:07:43.731: E/AndroidRuntime(12714): at com.factual.driver.Factual.request(Factual.java:668)
04-14 18:07:43.731: E/AndroidRuntime(12714): at com.factual.driver.Factual.request(Factual.java:614)
04-14 18:07:43.731: E/AndroidRuntime(12714): at com.factual.driver.Factual.request(Factual.java:610)
04-14 18:07:43.731: E/AndroidRuntime(12714): at com.factual.driver.Factual.get(Factual.java:343)
04-14 18:07:43.731: E/AndroidRuntime(12714): at com.factual.driver.Factual.fetch(Factual.java:110)
04-14 18:07:43.731: E/AndroidRuntime(12714): at com.example.blobtag2.PlaceActivity$FactualRetrievalTask.doInBackground(PlaceActivity.java:139)
04-14 18:07:43.731: E/AndroidRuntime(12714): at com.example.blobtag2.PlaceActivity$FactualRetrievalTask.doInBackground(PlaceActivity.java:1)
04-14 18:07:43.731: E/AndroidRuntime(12714): at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-14 18:07:43.731: E/AndroidRuntime(12714): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
04-14 18:07:43.731: E/AndroidRuntime(12714): ... 4 more
任何帮助是极大的赞赏,请让我知道,如果我可以提供其他的东西。谢谢!
答
它看起来像你的库Factual正在调用一个不存在的函数。你确定它适用于你的Android版本吗?
我不认为我有任何理由相信它没有。我正在使用Android的最新版本以及Factual库的最新版本... – user2163853
查看此链接http://stackoverflow.com/questions/5407250/causes-of-java-lang-nosuchmethoderror-main- exception-in-thread-main –
我知道一个不存在的方法正在被调用,但我不明白的是为什么会发生这种情况。难道是因为我缺少Factual库的依赖关系或者具有特定依赖关系的错误版本吗?还能带来什么呢?我从该链接收集的是该库可能缺少main()方法,但我不确定为何适用? – user2163853