React Native Android:生产发布的 apk 中未显示静态图像

IT技术 reactjs react-native reactjs-flux
2021-03-29 04:14:48

我的 react-native 应用程序中有静态图像,可通过访问

  <Image source={require("../assets/preview-full-img-title-logo@2x.png")} />

在开发中它显示良好但在生产版本中 APK 没有显示可能是什么原因?我已按照此处提到的步骤进行操作。

https://facebook.github.io/react-native/docs/signed-apk-android.html
6个回答

这是为我完成的命令:

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

看看github问题>

删除两个“\”作品形成我: react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
2021-05-27 04:14:48
版本 61.5。此命令创建文件夹并复制图像。但是一旦我关闭终端(并断开电缆)并再次运行该应用程序,图像就不再可见。我使用 <Image source=".​​/assets/image.png" /> ... 想法?
2021-05-27 04:14:48
它给了我 error: option '--bundle-output' missing
2021-06-17 04:14:48
您能否再次检查答案中的链接。这是正确的吗?
2021-06-20 04:14:48

我正在使用带有shrinkResources true配置的react-native v0.59.9 它使 react-native 无法找到资产。

确保你没有shrinkResources在 android build.gradle 上设置,除非新版本的 react-native 稍后支持它。

我正在使用 RN 0.61.2

正如@made-in-moon 所说,这对我有用:

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

我使用的是 61.5,此命令在 res 中创建了几个文件夹,其中包含我在应用程序中使用的图像。如果我运行应用程序:“npx react-native run-android”并且连接了电缆,图像是可见的。一旦我断开电缆并重新打开手机上的应用程序,图像就看不到了。
2021-05-27 04:14:48
@mtoninelli 我不知道这个问题 TBH。在我的设备上,图像显示完美。尝试卸载并重新安装。让我们知道什么有效。
2021-06-20 04:14:48

验证图像是否在../res文件夹中${project}/android/app/src/res如果没有,那么您需要复制该文件夹中的图像。这可以使用以下react命令来完成

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

理想情况下,当图像尺寸较大时,这会发生在 Android 中。在运行时避免此类问题的另一种方法是优化图像大小。

对于 iOS 14 也可以升级到最新版本的 react-native 0.63.3