[network-addons] introduce expo-network-addons (#22993)# Why introduce expo-network-addons which is an opt-in networking addons. currently only support one feature - add brotli compression suppo
[network-addons] introduce expo-network-addons (#22993)# Why introduce expo-network-addons which is an opt-in networking addons. currently only support one feature - add brotli compression support for all okhttp requests on android. close ENG-538 # How - add expo-network-addons - with an autolinked gradle-plugin to do bytecode manipulation for the `ExpoOkHttpInterceptor`, currently only use `BrotliInterceptor` under the hood. - add proguard rules to keep the java names we want to manipulate ### compatibility between `expo-dev-launcher` and `expo-network-addons` since we cannot do bytecode manipulation twice, to deal with the compatibility issues between expo-dev-launcher and expo-network-addons. if we find both library are installed, we will let `expo-network-addons` take the ownership and install dev-launcher's bytecode. # Test Plan - bare-expo `fetch('https://www.cloudflare.com')` and use mitmproxy to check brotli headers - test bare-expo on release build + `enableProguardInReleaseBuilds = true` - decompile the dex and check if the code is expected --------- Co-authored-by: James Ide <[email protected]>
show more ...