我开发了一个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)
如何解决此问题请帮助我。
答案 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