React 本机捆绑发布没有资产

Posted

技术标签:

【中文标题】React 本机捆绑发布没有资产【英文标题】:React native bundle release there's no asset 【发布时间】:2020-12-31 18:25:22 【问题描述】:

我正在 react native android 中创建一个捆绑版本。我使用“assembleRelease”创建了一个apk,我测试了资产是否存在,但是当我尝试捆绑“bundleRelease”时,没有资产。

图片显示我的资产目录。

这是我的 index.android.bundle。 BGAppPros 是自动生成的。

在我的 android/app/build.gradle 中

代码如下所示。我有一种感觉这是罪魁祸首“resourcesDirRelease”

简而言之,我想要一个离线资产。但捆绑版本已正确 ib 编译。

project.ext.react = [
    entryFile: 'index.js',
    bundleInRelease        : true,
     resourcesDirRelease   : 'src/release/res',
]

【问题讨论】:

【参考方案1】:

我解决了我的问题,你还需要检查你的脚本

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/

在调用时确保它是正确的路径

 resourcesDirRelease   : 'src/release/res',

【讨论】:

【参考方案2】:

bundleRelease 生成一个 android app bundle (.aab),只能通过 Play 商店使用。

尝试以下命令生成捆绑包:

cd android
./gradlew clean
./gradlew bundleRelease

逐步使用这些命令,它会生成捆绑 apk 以在 Play 商店中使用,我希望你会在生产版本中找到所有资产。

【讨论】:

以上是关于React 本机捆绑发布没有资产的主要内容,如果未能解决你的问题,请参考以下文章

在不安装引用模块的情况下捆绑 dll 资产的想法

Express.js:为 webpack 中捆绑的静态资产设置缓存控制标头

Symfony 资产捆绑

捆绑科尔多瓦应用程序时删除资产

没有资产文件夹将 Angular 2 应用程序与最新的 webpack 捆绑在一起

iOS UIWebView - 在本机应用程序中缓存资产