Ich versuche, meine native Android App im Debug-Modus auf unseren Geräten laufen zu lassen, ohne dass ein Dev-Server auf einer Dev-Box läuft. Ich benutze die Debug-Variante/das Schema auf beiden Plattformen, um die "Staging" -Version unserer App zu erleichtern, da ich gelesen habe, dass das native Reagieren nicht besonders benutzerfreundlich ist mit anderen Build-Modi als Release und Debug.Native Android reagieren - wie im Debug-Modus nur auf dem Gerät ausgeführt werden?
Auf der iOS-Seite war ich in der Lage, die AppDelegate.m wie folgt zu modifizieren ... im Grunde, wenn es ein Debug-Build ist und es von Buddybuild gebaut wurde, suchen Sie nicht nach einem Dev-Rechner für das js-Bundle, schaue auf das Gerät:
#ifdef DEBUG
NSDictionary *infoPlistDict = [[NSBundle mainBundle] infoDictionary];
if (infoPlistDict[@"BUDDYBUILD_BUILD_ID"]) {
// deployed via buddybuild, don't use localhost
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
} else {
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
}
#else
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
... Ich bin auf der Suche nach einer Möglichkeit, dies auf Android zu tun. Ich habe den buddybuild-Bitcode, den ich brauche, also keine Sorgen dort, ich will nur wissen, wie man den Standort des js-Bündels auf Android programmatisch ändert, wie ich oben für iOS in AppDelegate.m mache. Im Moment scheint der gesamte Code, der sich auf den Speicherort des js-Bundles auf Android bezieht, im reaktiven nativen Paket selbst zu liegen, und ich würde es lieber nicht hacken, um es zum Laufen zu bringen.
Wenn ich weitere Informationen zur Verfügung stellen kann, lassen Sie es mich bitte wissen.
Ich denke, Sie sollten diese Antwort vervollständigen durch die Angabe, wie Sie die Debug-Version tatsächlich bauen als 'reagieren-native Lauf android 'Arbeit nicht. Sie müssen 'cd android && ./gradlew assembledDebug' machen. – ssomnoremac
@ssomnoremac' reactive-native run-android' sollte funktionieren. Es baut standardmäßig die Debug-Version auf. Wenn Sie eine andere Variante erstellen möchten (z. B. release), verwenden Sie "reactive-native run-android --variant = release". – Tspoon
Ich habe "run-android" ausgeführt, nachdem Sie das getan haben, was Sie gesagt haben, und es hat nicht bundleIn; Nach dem Ausführen von 'assembleDebug' oder' varient = debug' wurde es jedoch in vanilla 'run-android' gebündelt. Denke immer noch, du solltest es erwähnen. – ssomnoremac