创建发布包后不显示带有 URI 源的图像

Images with URI sources does not display after creating release bundle

我总是通过 运行 命令 ./gradlew bundleRelease 创建我的发布包,但是,我最近发现来自后端的源图像无法显示,而静态图像做。

之前,我误以为静态图片根本不显示。然后我得到了 运行 的建议 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/,但是这创建了我不得不删除的重复资源。事实证明这不是问题,因为静态图像已正确渲染。我还没有找到任何相关的解决方案,但很高兴听到建议。下面是我的 app/build.gradle 的一部分:

project.ext.react = [
    enableHermes: true,  // clean and rebuild if changing
    bundleAssetName: "index.android.bundle",
    bundleInRelease: true,
    bundleInDebug: true
]

apply from: "../../node_modules/react-native/react.gradle"
               :
               :
               :
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)

P.S:使用 ./gradlew assembleDebug 创建 apk 构建非常有效。

经过几天毫无结果的调试,我发现错误不是来自我的代码。

从后端提供图像的 Cloudinary 将我的图像作为 http 而不是 https 图像返回。并且 android 版本 9 及更高版本不会在发布时呈现 http 图像,除非我在我的 AndroidManifest.xml 中要求它这样做。所以,我通过这样做解决了它。您可以参考此 了解如何操作。