React-native run-android 构建了我的应用程序的正确版本,但 assembleRelease/react-native run-android --variant=release

Posted

技术标签:

【中文标题】React-native run-android 构建了我的应用程序的正确版本,但 assembleRelease/react-native run-android --variant=release 没有【英文标题】:React-native run-android builds the correct version of my app, but assembleRelease/ react-native run-android --variant=release do not 【发布时间】:2018-11-09 05:59:57 【问题描述】:

当我运行react-native run-android 时,我的应用程序的正确版本同时在模拟器和物理设备上运行。但是,当我尝试运行./gradlew assembleReleasereact-native run-android --variant=release 时,我得到了该应用程序的旧版本。在运行 assembleRelease 之前,我尝试过运行 ./gradlew clean。我也尝试过手动删除 apk 和 json 文件。但我不断得到一个旧版本的应用程序,它没有所有的新功能。

编辑:使用来自此post 的指示。我能够加载新版本,但是,我丢失了新版本附带的所有新图像。任何想法如何确保图像已加载

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

【问题讨论】:

【参考方案1】:

最初来自这个 SO post

https://github.com/react-community/lottie-react-native/issues/269

转到您的项目目录并检查此文件夹是否存在 android/app/src/main/assets i) 如果存在则删除两个文件,即 index.android.bundle 和 index.android.bundle.meta ii) 如果文件夹 assets 不存在然后在那里创建 assets 目录。

从你的项目根目录执行 cd android && ./gradlew clean

最后,导航回根目录并检查是否有一个名为 index.js 的单个条目文件 i) 如果只有一个文件,即 index.js 则运行以下命令 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

ii) 如果有两个文件,即 index.android.js 和 index.ios.js 然后运行这个 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

【讨论】:

以上是关于React-native run-android 构建了我的应用程序的正确版本,但 assembleRelease/react-native run-android --variant=release的主要内容,如果未能解决你的问题,请参考以下文章

使用 react-native run-android 运行时出现 React-Native 错误

react-native run-android 失败

运行 react-native run-android 时出错

react-native run-android 失败 MacOS

react-native run-android 不起作用:/

运行 react-native run-android 时出错