android 2.3.6版本中的NoClassDefFoundError(HttpResponseCahe)

时间:2014-01-10 06:45:13

标签: java android caching classnotfoundexception httpresponsecache

我开发了一个Android应用程序,它在4.0及更高版本中运行良好,但是当它涉及2.3.4版时,它给出了一个关于Responcecache的例外。我按照github的说法进行了跟踪: - https://github.com/candrews/HttpResponseCache。我在2.3.4和2.3.6中运行异常。

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.jakewharton.DiskLruCache
at com.integralblue.httpresponsecache.compat.libcore.net.http.HttpResponseCache.<init>(HttpResponseCache.java:83)
at com.geeklabs.footmark.util.HttpResponseUtil.enableHttpResponseCache(HttpResponseUtil.java:41)
com.integralblue.httpresponsecache.HttpResponseCache.install(httpCacheDir, httpCacheSize);
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

如何解决此问题请帮助我。

2 个答案:

答案 0 :(得分:0)

异常stacktrace指定它是NoClassDefFoundError

在成功编译源时会发生这种情况,但在运行时,找不到所需的类文件。

自从您在4.0中开发它以来,当时特定的类可用,并且您的应用程序成功运行。

现在你试图在较低版本中运行已编译的应用程序,即2.3.4和2.3.6,所以这些类可能不可用,所以JVM抛出了这个错误

您唯一需要做的就是将所需的jar文件添加到您的应用中,然后尝试运行它。

答案 1 :(得分:0)

请查看this thread

  

在库httpresponsecache-1.3.jar中使用disklrucache-1.2.1.jar

     

在disklrucache-1.2.1.jar中,软件包是:com.jakewharton,但在版本2.0.2中,软件包已更改&gt; com.jakewharton.disklrucache

以下是与DiskLruCache项目关联的GitHub:https://github.com/JakeWharton/DiskLruCache

您可以在此处下载合适的修订版:https://repository.sonatype.org