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

React Native安卓构建版本图片无法显示问题求助

React Native安卓端图片加载失败问题

我的React Native应用在iOS构建版本中图片显示完全正常,但安卓构建版本加载图片时会抛出“无法打开文件”的错误。已经尝试调整文件夹结构但问题依旧,奇怪的是同一位置的本地HTML文件能正常加载。

生成URI的代码

import {Platform} from 'react-native';

function BaseURI(){

    let baseURI = './assets/';

    if (Platform.OS === 'android')
    {
        baseURI = 'file:///android_asset/';
    }

    return baseURI;
}

function AssetURI(url){
    return BaseURI() + url;
}

export {BaseURI, AssetURI}

加载图片使用的URI示例:file:///android_asset/resources/buttons/Logo.png

排查与解决方法

  • 检查路径大小写:安卓对文件名大小写敏感,iOS不敏感,确认代码中写的文件名(比如Logo.png)和实际文件系统中的文件名完全一致,包括大小写。
  • 确认资源目录配置:
    • 图片必须放在安卓项目的android/app/src/main/assets目录下,路径层级要和URI匹配(比如resources/buttons/Logo.png对应assets/resources/buttons/Logo.png)。
    • 若使用react-native init创建项目,需在android/app/build.gradle中确保assets目录被正确配置:
      android {
          sourceSets {
              main {
                  assets.srcDirs = ['src/main/assets', '../../assets'] // 根据实际路径调整
              }
          }
      }
      
  • 改用官方加载方式:别手动拼file://路径,直接用require让RN自动处理跨平台:
    const logo = require('./assets/resources/buttons/Logo.png');
    // 组件中使用
    <Image source={logo} />
    
  • 清理缓存重建:执行cd android && ./gradlew clean清理安卓缓存,再回到根目录跑react-native run-android重新构建。
  • 验证APK内容:把APK后缀改成.zip解压,检查assets目录里有没有目标图片,确认打包时文件被正确包含。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:12:57