根据此处的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()
}
}
}
文档说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”,并且启用了网络插件。
有什么我没注意到的东西吗?
答案 0 :(得分:0)
在功能provideOkHttpClient
中,代码正在创建NetworkFlipperPlugin
的新实例,该实例未在脚蹼客户端中注册。
在MoveeApp
中,代码还创建了一个NetworkFlipperPlugin
,它耦合到鳍状肢客户端,但是该插件未注册为拦截器。
在MoveeApp中公开鳍状网络插件并进行检索,例如:
.addNetworkInterceptor(FlipperOkhttpInterceptor(MoveeApp.flipperNetworkPlugin))