2013-04-15 47 views
2

我在运行我的代码时遇到致命异常: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 

任何帮助是极大的赞赏,请让我知道,如果我可以提供其他的东西。谢谢!

回答

0

它看起来像你的库Factual正在调用一个不存在的函数。你确定它适用于你的Android版本吗?

+0

我不认为我有任何理由相信它没有。我正在使用Android的最新版本以及Factual库的最新版本... – user2163853

+0

查看此链接http://stackoverflow.com/questions/5407250/causes-of-java-lang-nosuchmethoderror-main- exception-in-thread-main –

+0

我知道一个不存在的方法正在被调用,但我不明白的是为什么会发生这种情况。难道是因为我缺少Factual库的依赖关系或者具有特定依赖关系的错误版本吗?还能带来什么呢?我从该链接收集的是该库可能缺少main()方法,但我不确定为何适用? – user2163853

相关问题