【问题标题】:Fatal Exception: AsyncTask #1 related to doInBackground()致命异常:与 doInBackground() 相关的 AsyncTask #1
【发布时间】:2013-04-15 11:39:59
【问题描述】:

我在运行代码时遇到致命异常:AsyncTask #1。日志告诉我它是由指向com.google.api.client.http.HttpHeaders.set 的 NoSuchMethodError 引起的。我正在使用适用于 Android 的 Factual java 驱动程序,运行该代码时出现此错误。

为什么我会得到这个?我可以做些什么来解决它?

这是错误指向的代码:

    @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

非常感谢任何帮助,如果我能提供其他任何帮助,请告诉我。谢谢!

【问题讨论】:

    标签: android android-asynctask nosuchmethoderror


    【解决方案1】:

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

    【讨论】:

    • 我认为我没有任何理由相信它不会。我正在使用最新版本的 Android,以及最新版本的 Factual 库...
    • 我知道正在调用一个不存在的方法,但我不明白为什么会这样。可能是因为我缺少 Factual 库的依赖项或特定依赖项的版本错误?还能带来什么?我从该链接收集到的是该库可能缺少 main() 方法,但我不确定为什么会这样?
    • @user2163853 是图书馆事实上是图书馆项目吗?如果是这样,您将做一些类似于链接stackoverflow.com/questions/16003396/… 中的事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多