我开发了一个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)
如何解决此问题,请帮助我。
由于异常堆栈跟踪指定它是一个NoClassDefFoundError
当源已成功编译但在运行时找不到所需的类文件时,会发生这种情况。
由于您在 4.0 中开发了它,因此当时特定类可用,并且您的应用程序运行成功。
现在您正在尝试在较低版本(即 2.3.4 和 2.3.6)中运行编译的应用程序,因此此处这些类可能不可用,因此 JVM 抛出该错误
您唯一需要做的就是将所需的 jar 文件添加到您的应用程序中,然后尝试运行它。
请看一下这个线程。
在库 httpresponsecache-1.3 中.jar使用 disklrucache-1.2.1.jar
在 disklrucache-1.2.1 中.jar软件包是:com.jakewharton,但在 2.0.2 版本中,软件包>更改为 com.jakewharton.disklrucache
以下是与 DiskLruCache 项目相关的 GitHub:https://github.com/JakeWharton/DiskLruCache
您可以在此处下载合适的修订版:https://repository.sonatype.org