android - 签名的 React Native 应用程序未正确加载资产
问题描述
因此,我使用 USB 电缆在调试模式下运行应用程序,它工作正常。然后,我使用 USB 电缆运行发布版本,它也可以正常工作,直到我将其与手机断开并重新启动应用程序。该应用程序无法再加载资产。我已经尝试了这里和这里引用的所有方法,但仍然没有帮助。
当应用程序无法加载资产时,它会记录以下消息:
[Error: Could not fetch data from url http://localhost:8081/assets/src/assets/modelv2.pb?platform=android&hash=889b05962c1b1b35b1c07a84b98bcc63]
framesToPop: 1,
code: 'EUNSPECIFIED',
line: 17119,
column: 31,
sourceURL: 'http://localhost:8081/index.delta?platform=android&dev=true&minify=false' }
因此,这意味着它仍在尝试从已死的本地主机打包程序中获取资产。请帮我!
反应原生:^0.55.4
反应:^16.3.1
index.js
import { AppRegistry } from 'react-native';
import App from './App';
AppRegistry.registerComponent('TagMosquito', () => App);
解决方案
如果你想创建一个签名的 APK(签名的 apk 用于 Android APK,所以我认为你想创建一个 APK)你首先需要创建一个包。如果你已经创建了它,那么让我知道你使用的命令,也只是分享你的项目结构的屏幕截图,它应该显示你的主索引文件和 android 资产文件夹路径,然后我会给你命令。现在你只是。
如果不使用以下命令。
安卓
react-native bundle --entry-file index.js --platform android --dev false --bundle-output ./android/app/src/main/assets/index.android.bundle --assets-dest ./android /app/src/main/res/
iOS(它自己创建捆绑但如果不是请使用下面的命令)
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output main.jsbundle
请让我知道是否有任何命令不起作用,那么它将需要一些修改。如果它可以工作,您需要检查是否会创建一个名为main.jsbundle的新文件
推荐阅读
- javascript - JS:在另一个画布内定位图像/画布,然后是矩形
- sql - 按文件对 BigQuery 中的表进行分区
- oracle - 无法使字段静态最终 java.lang.invoke.MethodHandles$Lookup java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP
- c++ - 如何在 Arduino 中获取 RFID 的 UID 并在 16x2 LCD 显示器(I2C 通信)中显示 UID?
- javascript - 我需要有关构建 zapier 集成的指导
- r - 如何按列对数据框进行排序,首先将某个值放在列中以开始,其余按字母顺序排列
- ios - 将从 HTTP 请求数据声明的数据/变量传递到另一个视图控制器
- user-interface - 如何使用点画表进行选择?
- python - super().__init__(*args, **kwargs) 做什么?
- reactjs - CSS 模块在使用 react-router-dom 的导航栏上是“未定义的”