You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native执行bundleRelease生成release包后后端URI图片不显示

React Native Android Release 包后端URI图片无法加载解决方案

以下是经过验证的可行排查和修复步骤,按优先级执行即可:

  • 检查后端图片URI协议与网络安全配置
    Android 9(API 28)及以上系统默认禁止Release包使用明文HTTP协议请求资源,Debug包默认不受此限制,是该问题最高发的原因:
    1. 优先将后端图片服务升级为HTTPS协议,为长期合规方案
    2. 若暂无法升级,新增网络安全配置白名单:
      在android/app/src/main/res/xml目录下新建network_security_config.xml,内容如下(替换为实际后端域名):
      <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
          <domain-config cleartextTrafficPermitted="true">
              <domain includeSubdomains="true">你的后端域名.com</domain>
          </domain-config>
      </network-security-config>
      
      之后在android/app/src/main/AndroidManifest.xml的<application>标签中添加属性:
      android:networkSecurityConfig="@xml/network_security_config"
      
  • 检查ProGuard/R8混淆规则
    Release构建默认开启混淆,可能误删RN图片加载依赖的Fresco、Image组件相关类:
    在android/app/proguard-rules.pro中添加如下规则:
    -keep public class com.facebook.react.views.image.** { *; }
    -keep class com.facebook.imagepipeline.** { *; }
    -keep class com.facebook.drawee.** { *; }
    
  • 清理构建缓存后重新打包
    之前手动执行bundle命令残留的资源文件、构建缓存可能引发未知异常,执行以下命令全量清理:
    cd android
    ./gradlew clean
    rm -rf app/build
    
    清理完成后再执行./gradlew bundleRelease构建即可。
  • 排查基础权限配置
    检查AndroidManifest.xml中是否已添加网络权限:
    <uses-permission android:name="android.permission.INTERNET" />
    

如果需要定位具体错误,可以在app/build.gradle的release构建类型配置中添加debuggable true,构建可调试Release包后连接Android Studio查看Logcat的错误日志,可快速定位根因。

内容的提问来源于stack exchange,提问作者Marvelous Ikechi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 16:06:06