2017-06-22 91 views
2

我有一個奇怪的問題,我無法完全弄清楚原因。我有一個應用程序是在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')來安裝它,它是否表現出相同的行爲? –

回答

2

評論中的純粹猜測,但結果是react-native run-android不會自動捆綁您的資產,因爲它是一個開發版本。如果您需要在與計算機完全斷開連接的情況下測試構建,則可以使用--variant=release使用發佈版本進行安裝,因爲這會始終將您的資源與apk捆綁在一起。

+1

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

相關問題