在尝试通过HTTPS访问API时,React Native Android应用的发布版本会出现“通用网络错误”

问题描述 投票:0回答:1

我正在尝试使用API​​ 16运行我的React Native应用程序(版本0.59.1)并且没有Google Play服务。我的问题是,当我在发布模式下构建我的应用程序时,通过HTTPS调用我的API会给我一个“网络错误”而没有进一步的细节。这些调用是使用FETCH进行的。

在调试模式下运行时,通过HTTPS调用API工作正常。我还确认只有HTTP在发布模式下运行时才有效。

我看过几篇帖子建议创建我自己的TLS / SSL连接工厂,但似乎React Native应该已经使用他们的OkHttpProvider处理这个:https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java

我还包括了这里显示的保护规则:https://stackoverflow.com/a/38484643/3178433

我也尝试过关闭亲卫,这似乎没有什么区别。

我错过了什么吗?是否有缺少的proguard规则?反应提供的OkHttpClientProvider是不是像我想的那样使用?

react-native react-native-android android-4.2-jelly-bean
1个回答
1
投票

找到了解决方案。我添加了这个proguard规则并解决了问题:

-keepclassmembers class * implements javax.net.ssl.SSLSocketFactory {
    private final javax.net.ssl.SSLSocketFactory delegate;
}
© www.soinside.com 2019 - 2024. All rights reserved.