从APK运行时图像不出现

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

此问题与Android有关。

我们最近将我们的react-native项目从Expo迁移到裸工作流程。但是,我们遇到一个问题,即在运行内置的apk文件时无法加载图像。

[使用react-native android在仿真器或设备上调试时,一切正常。但是,对于内置的APK图片,根本不会出现。

我们的构建按如下进行

react-native bundle --platform android /
     --dev false /
     --entry-file index.js 
     --bundle-output android/app/src/main/assets/app.bundle 
     --assets-dest android/app/src/main/res
android/gradlew -p android clean
android/gradlew -p android assembleRelease

我看到第一步将我们的图像捆绑到以下目录中

android/app/src/main/res/drawable-mdpi

项目结构看起来像这样

index.js
App.js
   ios/
   android/
   app/
      assets/
         package.json
         images/
            image01.png
            image02.png
      screens/
         MyScreen.js

[app/assets/package.json让我们避免包含绝对路径

{ 
   "name": "@assets" 
}

并且在MyScreen.js中,在render()方法中

   <Image source={require('@assets/images/image01.png')} />

解压缩内置的apk(app-release.apk),可以看到在MANIFEST.MF文件中引用了图像

/release/app-release/META-INF

像这样

Name: res/drawable-mdpi-v4/app_assets_images_image01.png
SHA-256-Digest: [BLAH]

Name: res/drawable-mdpi-v4/app_assets_images_image02.png
SHA-256-Digest: [BLAH]

release/app-release/res/drawable-mdpi-v4之内

存在图像并说明其与清单名称相同。

所以我对为什么在设备上运行apk时为什么它们不显示感到完全困惑。

这不是一个罕见的问题,与此同时,还有其他一些堆栈溢出问题,但是我经历了所有这些,并且没有建议的解决方案对我们有用。

Gradle版本= 5.6.3

RN版本= 61.5

android react-native apk android-image
1个回答
0
投票

您可以在渲染Image的地方显示代码吗?

而且还可以张贴文件夹结构的图片吗?

因为文件的路径不同,这取决于我们是在调试还是在发行版中工作。

© www.soinside.com 2019 - 2024. All rights reserved.