首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoClassDefFoundError -使用实际的安卓驱动程序进行基本的数据库调用

NoClassDefFoundError -使用实际的安卓驱动程序进行基本的数据库调用
EN

Stack Overflow用户
提问于 2013-04-15 06:22:51
回答 1查看 251关注 0票数 0

我正在尝试开始在我正在构建的应用程序中使用Android的事实驱动程序。我已经通过将here中的.jar文件放入我的应用程序中的libs文件夹来安装它们的驱动程序。基本上,我只是从here获取了演示代码,并将其放入我自己的活动中,根据需要进行修改以使其最初工作。

当我运行该活动时,我得到一个指向我首先实例化事实的行的NoClassDefFoundError,如下所示:

代码语言:javascript
复制
protected Factual factual = new Factual("KEY", "SECRET");

我必须对代码进行一处更改,这样Eclipse才能接受它。这个变化发生在下面的FactualRetrievalTask类中:

代码语言:javascript
复制
public class FactualRetrievalTask extends AsyncTask<Query, Integer, List<ReadResponse>> {
    @Override
    protected List<ReadResponse> doInBackground(Query... params) {
        List<ReadResponse> results = new ArrayList<ReadResponse>(); //changed from Lists.newArrayList();
        for (Query q : params) {
            results.add(factual.fetch("restaurants-us", q));
        }
        return results;
    }

List<ReadResponse> results = new ArrayList<ReadResponse>();List<ReadResponse> results = Lists.newArrayList();,但这给了我一个错误,说“列表无法被解析”。在做了一些研究之后,我决定我可以把它改成现在的样子。

但是,当我运行时,我得到指向com.google.common.collect.ListsNoClassDefFoundError。我有一种感觉,我所做的这个改变可能是导致这个问题的原因,但我不确定如何继续并解决它。任何帮助都将不胜感激。相关日志如下:

代码语言:javascript
复制
04-14 17:06:01.209: E/AndroidRuntime(11688): FATAL EXCEPTION: main
04-14 17:06:01.209: E/AndroidRuntime(11688): java.lang.NoClassDefFoundError: com.google.common.collect.Lists
04-14 17:06:01.209: E/AndroidRuntime(11688):    at com.factual.driver.Factual.<init>(Factual.java:46)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at com.factual.driver.Factual.<init>(Factual.java:57)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at com.example.blobtag2.PlaceActivity.<init>(PlaceActivity.java:64)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at java.lang.Class.newInstanceImpl(Native Method)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at java.lang.Class.newInstance(Class.java:1409)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at android.app.Instrumentation.newActivity(Instrumentation.java:1040)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1757)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1873)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at android.app.ActivityThread.access$1500(ActivityThread.java:135)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at android.os.Looper.loop(Looper.java:150)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at android.app.ActivityThread.main(ActivityThread.java:4358)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at java.lang.reflect.Method.invokeNative(Native Method)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at java.lang.reflect.Method.invoke(Method.java:507)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
04-14 17:06:01.209: E/AndroidRuntime(11688):    at dalvik.system.NativeStart.main(Native Method)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-15 06:29:45

听起来您需要包含Google's guava

代码语言:javascript
复制
 java.lang.NoClassDefFoundError: com.google.common.collect.Lists
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16005067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档