在应用程序中对com.android.okhttp.AndroidShimResponseCache进行子类化

在应用程序中对com.android.okhttp.AndroidShimResponseCache进行子类化,android,httpresponsecache,Android,Httpresponsecache,我想将ResponseCache子类化,并将com.android.okhttp.androidshimsponseCache子类用作内部委托 特别是,我想向类中添加一个小的预缓存方法,类似于androidshimsresponsecache.put,但是在响应中要缓存我自己的文件 然后,我将使我的类(从ResponseCache继承的类)成为系统默认类 如何在代码中访问AndroidShimResponseCache以在应用程序中对其进行子类化 我无法从我设备上的任何repo或库中获取它。与@

我想将
ResponseCache
子类化,并将
com.android.okhttp.androidshimsponseCache
子类用作内部委托

特别是,我想向类中添加一个小的预缓存方法,类似于
androidshimsresponsecache.put
,但是在
响应中要缓存我自己的文件

然后,我将使我的类(从
ResponseCache
继承的类)成为系统默认类

如何在代码中访问AndroidShimResponseCache以在应用程序中对其进行子类化


我无法从我设备上的任何repo或库中获取它。

与@commonware相比,
AndroidShimResponseCache
有什么神奇之处?我想添加一种方法,将一些文件放入http缓存,作为预缓存措施。如果我直接使用
HttpResponseCache.put
方法,底层的
OkHttp
堆栈拒绝缓存它并返回null。传递给
put
的UrlConnection会被检查其类型并被拒绝。你为什么要费心去搞乱作为
HttpUrlConnection
基础的分叉的OkHttp,而不是直接使用OkHttp,所有这些都会暴露给你?到处使用
HttpUrlConnection
的大型现有应用程序。我正在尝试在不进行网络呼叫的情况下预填充缓存(通过将一些资源打包在应用程序中)。一种解决方案是完全实现自己的缓存,并将其设为默认缓存。我正在寻找一种使用内置缓存的方法。看起来我必须使用反射来获取这些类。