Flipper网络插件未显示网络请求

时间:2020-08-29 22:05:57

标签: android plugins native fbflipper

根据此处的documents,我遵循了必要的步骤。但是,即使我在调试应用程序时可以看到请求的数据,也看不到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的网络模块:

文档说here “由于拦截器可以修改请求和响应,因此请在所有其他拦截器之后添加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”,并且启用了网络插件。

有什么我没注意到的东西吗?

1 个答案:

答案 0 :(得分:0)

在功能provideOkHttpClient中,代码正在创建NetworkFlipperPlugin的新实例,该实例未在脚蹼客户端中注册。

MoveeApp中,代码还创建了一个NetworkFlipperPlugin,它耦合到鳍状肢客户端,但是该插件未注册为拦截器。

在MoveeApp中公开鳍状网络插件并进行检索,例如:

.addNetworkInterceptor(FlipperOkhttpInterceptor(MoveeApp.flipperNetworkPlugin))