签名的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' }

因此,这意味着它仍在试图从已经失效的本地主机打包程序中获取资产。请帮帮我!

React Native:^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--入口文件index.js--平台android--dev false--bundle输出/android/app/src/main/assets/index.android.bundle--资产目标/android/app/src/main/res/

iOS(它自己创建捆绑包,但如果不是,请使用下面的命令)

react native bundle--入口文件index.js--平台ios--dev false--bundle output main.jsbundle

请让我知道,如果任何命令不起作用,那么它将需要一些修改。如果它能工作,你需要检查是否会创建一个名为main.jsbundle的新文件

在这种情况下,将shrinkResources设置为false即可。如果您在应用程序的build.gradle文件中启用shrinkResources,Gradle可以代表您自动删除资源(未使用)。

release {
..
minifyEnabled true
shrinkResources false    <-- set this false
proguardFiles getDefaultProguardFile()
}

相关内容

  • 没有找到相关文章

最新更新