图像资源从反应本机应用程序中消失

问题描述:

我有一个奇怪的问题,我无法完全弄清楚原因。我有一个应用程序是在react-native中创建的,我使用react-native-navigation来处理导航。问题是我添加到按钮,标签等图像消失后,我拔掉我的设备从计算机。图像资源从反应本机应用程序中消失

要说清楚;当我连接到计算机并使用应用程序时,所有按钮都有图标,但是一旦从计算机断开连接并打开应用程序,每个图标都会消失。

这是我如何加载图像

Navigation.startTabBasedApp({ 
tabs: [ 
    { 
    label: 'One', 
    screen: 'Screen1', 
    icon: require('./images/icon1.png'), 
    selectedIcon: require('./images/icon1_selected.png'), 
    title: 'Screen One' 
    }, 
    { 
    label: 'Two', 
    screen: 'Screen2', 
    icon: require('./images/icon2.png'), 
    selectedIcon: require('./images/icon2_selected.png'), 
    title: 'Screen Two' 
    } 
] 
}); 

在这个问题上的任何想法或帮助?

+1

您是如何在设备上运行应用程序的? react-native run-x?另一种方法?而当你说拔下插头时,你的意思是你拔下插头继续使用应用程序?或者你部署了应用程序?您需要添加更多详细信息,因为您没有发布任何错误来帮助识别问题。 –

+0

确实没有任何错误。我通过react-native run-android运行应用程序。我的意思是我从PC上拔下手机,然后在手机上重新启动应用程序,图像全部消失。我没有部署应用程序,只需通过run-android安装。 – smuvv

+1

我从来没有研究过'run-android'的细节,但我的猜测是,它可能不会默认打包所有资产,因为它是一个开发版本。如果你通过发布版本('--variant = release')来安装它,它是否表现出相同的行为? –

评论中的纯粹猜测,但结果是react-native run-android不会自动捆绑您的资产,因为它是一个开发版本。如果您需要在与计算机完全断开连接的情况下测试构建,则可以使用--variant=release使用发布版本进行安装,因为这会始终将您的资源与apk捆绑在一起。

+1

只需要添加'--variant = release'只有在设置签名后才能工作[如此处所述](https://facebook.github.io/react-native/docs/signed-apk-android.html) – smuvv