2016-09-08 1 views
4

Ich arbeite an einer Probe reagieren natives Projekt. Und fast alle Funktionen außer dem <Image source=''/> funktionieren gut damit. Das Bild zeigt sich gut in Android-Emulator mit Android-Studio und Genymotion, aber funktioniert nicht auf echten Geräten (Moto G3 Turbo, Nexus 5, Galaxy S4 usw.). Ich weiß nicht, was mit meinem Code falsch gelaufen ist. Hier ist mein CodeReact-native: Bilder werden nicht in Android-Gerät angezeigt; aber zeigt perfekt im Emulator

import React, { Component } from 'react'; 
import { 
    AppRegistry, 
    StyleSheet, 
    Text, 
    View, 
    Image 
} from 'react-native'; 

class ImageTester extends Component { 
    render() { 
    return (
     <View style={styles.container}> 
     <Text style={styles.welcome}> 
      Welcome to React Native! 
     </Text> 
     <Text style={styles.instructions}> 
      To get started, edit index.android.js 
     </Text> 
     <Text style={styles.instructions}> 
      Double tap R on your keyboard to reload,{'\n'} 
      Shake or press menu button for dev menu 
     </Text> 
     <Image source={require('./img/first_image.png')}></Image> 
     </View> 
    ); 
    } 
} 

const styles = StyleSheet.create({ 
    container: { 
    flex: 1, 
    justifyContent: 'center', 
    alignItems: 'center', 
    backgroundColor: '#F5FCFF', 
    }, 
    welcome: { 
    fontSize: 20, 
    textAlign: 'center', 
    margin: 10, 
    }, 
    instructions: { 
    textAlign: 'center', 
    color: '#333333', 
    marginBottom: 5, 
    }, 
}); 

AppRegistry.registerComponent('ImageTester',() => ImageTester); 

Projektstruktur:

enter image description here

React-native Version: reagieren-native: 0.32.1

+0

hier ist die antwort: http: //stackoverflow.com/questions/35567502/how-to-bundle-images-reaktionsressourcen-native-in-android – luwu

+0

@luwu Ich habe es schon durchgemacht. Es funktioniert nicht für mich. –

+0

@luwu du hattest recht. Das Problem war mit dem Bündelpackungsbefehl. Ich habe gelöst. Ich poste es unten als Selbstantwort. Danke für all deine Hilfe. :-) –

Antwort

5

Das Problem war mit meinem Bündel Verpackung Befehl. Wie @luwu in seinem Kommentar sagte, überprüfte ich this und war überrascht, dass es keinen Unterschied zu meinem gibt. Dann erst bemerkte ich eine Nachricht während der Ausführung des Befehls

„Assets Zielordner nicht gesetzt ist, überspringen ...“

Diese Botschaft etwas verwirrend war, da Bündel bereits im Anlagenordner angelegt wurde. Die "Assets" in diesen Nachrichten zeigen meine Bilder an. Und ich löste die Probleme mit dem folgenden Befehl: -

sudo reagieren-native Bündel --platform android --entry-Datei index.android.js --bundle-Ausgang android/app/src/main/Vermögen /index.android.bundle --dev false --reset-cache --assets-dests android/app/src/main/res/

Verwandte Themen