根据这里的文档,我遵循了必要的步骤。然而,尽管我在调试应用程序时可以看到请求的数据,但在Flipper上没有看到任何网络流量。这是我的代码:
依赖关系:
debugImplementation 'com.facebook.flipper:flipper:0.54.0'
debugImplementation 'com.facebook.flipper:flipper-network-plugin:0.54.0'
debugImplementation 'com.facebook.soloader:soloader:0.9.0'应用程序设置:
class MoveeApp : Application() {
override fun onCreate() {
super.onCreate()
initFlipper()
}
private fun initFlipper() {
SoLoader.init(this, false)
if (BuildConfig.DEBUG && FlipperUtils.shouldEnableFlipper(this)) {
val flipperClient = AndroidFlipperClient.getInstance(this)
val networkFlipperPlugin = NetworkFlipperPlugin()
flipperClient.addPlugin(
InspectorFlipperPlugin(
this@MoveeApp,
DescriptorMapping.withDefaults()
)
)
flipperClient.addPlugin(networkFlipperPlugin)
flipperClient.start()
}
}
}我提供OkHttpClient的网络模块:
该文档说,这里“由于拦截器可以修改请求和响应,在所有其他情况下添加Flipper拦截器以获得网络流量的准确视图”。这就是为什么我在添加请求拦截器之后添加了网络拦截器,如下所示。
@InstallIn(ApplicationComponent::class)
@Module
object NetworkModule {
@Singleton
@Provides
fun provideOkHttpClient(requestInterceptor: RequestInterceptor): OkHttpClient =
OkHttpClient.Builder()
.addInterceptor(requestInterceptor)
.addNetworkInterceptor(FlipperOkhttpInterceptor(NetworkFlipperPlugin()))
.build()
}桌面应用程序的版本也是"0.54.0“,并且启用了网络插件。
有什么我没注意到的吗?
发布于 2020-09-20 19:41:47
在函数provideOkHttpClient中,代码正在创建一个没有在flipper客户端注册的NetworkFlipperPlugin的新实例。
在MoveeApp中,代码还创建了一个耦合到flipper客户端的NetworkFlipperPlugin,但是该插件没有注册为拦截器。
在MoveeApp中公开flipper网络插件并检索它,如下所示:
.addNetworkInterceptor(FlipperOkhttpInterceptor(MoveeApp.flipperNetworkPlugin))https://stackoverflow.com/questions/63652212
复制相似问题