React Native正式版APK中Card.Cover加载网络图片URI不显示问题
问题根因
Android 9(API Level 28)及以上系统默认禁止应用发起HTTP明文网络请求,调试版本默认放宽了该限制,因此可以正常加载图片,而release版本默认执行严格的安全规则,HTTP请求被系统拦截,导致图片加载失败。
解决方法
- 最优方案:将图片资源的访问地址替换为HTTPS协议,符合安卓系统安全规范,无需额外修改配置即可直接加载。
- 若必须使用HTTP协议地址,可修改安卓端配置放行明文请求:
- 打开安卓项目路径下的
android/app/src/main/AndroidManifest.xml文件 - 在
<application>标签中新增android:usesCleartextTraffic="true"属性,参考配置如下:
<application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" android:theme="@style/AppTheme" <!-- 新增这一行 --> android:usesCleartextTraffic="true">- 配置完成后重新打包release版本即可正常加载图片。
- 打开安卓项目路径下的
- 异常排查:如果完成上述配置后仍无法加载,可检查release打包的混淆规则,确认react-native-paper相关类没有被误裁剪,在
android/app/proguard-rules.pro文件中添加react-native-paper的保留规则即可。
内容的提问来源于stack exchange,提问作者Gustavo Kimura
相关产品推荐
相关产品推荐

