Ich arbeite an einer plattformübergreifenden mobilen App von React Native. Ich schreibe Konsolen.log-Anweisungen, während ich mich entwickle. Ich möchte diese Protokollierungsanweisungen in Chrome sehen, während ich die Android-App im Standard-Android-Emulator ausführe. Laut Facebooks Dokumenten muss ich nur "das Gerät schütteln". Wie mache ich das im Android-Emulator?
So greifen Sie auf das In-App-Entwicklermenü zu:
Schütteln Sie unter iOS das Gerät oder drücken Sie im Simulator die Strg-Taste + ⌘ + z. Schütteln Sie unter Android das Gerät oder drücken Sie die Hardware-Menütaste (verfügbar auf älteren> Geräten und in den meisten Emulatoren, z. B. in Genymotion können Sie ⌘ + m drücken, um> das Klicken auf die Hardware-Menütaste zu simulieren).
Wenn ein React Native im Emulator ausgeführt wird,
drücken Sie ctrl+ m(für Linux ist es vermutlich dasselbe für Windows und ⌘+ mfür Mac OS X) oder führen Sie im Terminal Folgendes aus:
quelle
adb -s <device id/serial> shell input keyevent 82
: Ich benutze dies, wenn ich sowohl einen Emulator als auch ein physisches Gerät benutze.Wenn Sie den neuen Emulator verwenden, der mit Android Studio 2.0 geliefert wird, lautet die Tastenkombination für die Menütaste jetzt Cmd + M, genau wie in Genymotion.
Alternativ können Sie jederzeit einen Menütastendruck über
adb
ein Terminal senden :Beachten Sie auch, dass die Verknüpfung der Menüschaltflächen keine strenge Anforderung ist, sondern nur das Standardverhalten der
ReactActivity
Java-Klasse (das standardmäßig verwendet wird, wenn Sie Ihr Projekt mit erstellt habenreact-native init
). Hier ist der relevante Code vononKeyUp
inReactActivity.java
:Wenn Sie einer vorhandenen App React Native hinzufügen ( Dokumentation hier ) und diese nicht verwenden
ReactActivity
, müssen Sie die Menüschaltfläche auf ähnliche Weise anschließen. Sie können auchReactInstanceManager.showDevOptionsDialog
über einen anderen Mechanismus aufrufen . In einer App, an der ich gerade arbeite, habe ich beispielsweise einen Nur-Entwickler-Menüpunkt für die Aktionsleiste hinzugefügt, der das Menü aufruft, da dies für mich bequemer ist, als das Gerät bei der Arbeit an einem physischen Gerät zu schütteln.quelle
ReactActivity
und sie nicht auf andere Weise angeschlossen haben.'Strg + m' funktioniert für Windows im Android-Emulator, um das React-Native-Entwicklermenü aufzurufen.
Konnte das nirgendwo dokumentiert finden. Ich habe meinen Weg hierher gefunden, den Rest erraten ... Guter Kummer.
Übrigens: OP: Sie haben nicht erwähnt, auf welchem Betriebssystem Sie sich befanden.
quelle
Unter Linux klicken Sie auf die drei Punkte "..." neben dem Emulator. Aktivieren Sie auf Virtuelle Sensoren "Verschieben" und versuchen Sie dann, schnell entweder die x-, y- oder z-Koordinaten zu verschieben.
quelle
'Command + M' für OSX funktioniert für mich.
quelle
Ich bin unter Mac OS. Wenn ich also Befehl drücke, wird die Zoomoption aktiviert. Hier ist meine Lösung
Settings
Registerkarte ->General
Registerkarte ->Send keyboard shortcuts to
FeldVirtual device"
wie im Bild gezeigtNachdem Sie sich auf den Emulator konzentriert und Befehlstaste + M gedrückt haben, wird das Dev-Menü angezeigt.
quelle
Verwendung
command + m(cmd + M)
auf MAC. Außerdemmake sure that you are accessing your application while you try to access the Debug Menu
muss Ihre App ausgeführt werden, da sonstCmd + M
das übliche Telefonmenü zurückgegeben wird.quelle
Während wir native Apps entwickeln, spielen wir so viel mit dem Terminal
Deshalb habe ich ein Skript in die Skripte in der Datei package.json eingefügt
"menu": "adb shell input keyevent 82"
und ich drücke auf $ Garnmenü
Damit das Menü auf dem Emulator angezeigt wird, wird der Schlüsselcode 82 über ADB nicht optimal an den Emulator weitergeleitet, aber ich mag es und habe das Gefühl, es zu teilen.
quelle
Unter Linux sollte Strg + M funktionieren, aber um das Problem nicht zu lösen, klicken Sie auf (...) (die erweiterten Steuerelemente) und schließen Sie das Fenster. Jetzt können Sie das Menü mit Strg + M öffnen. dann:
Klicken Sie auf (...) (seine erweiterten Steuerelemente)
Erweiterte Bedienelemente schließen
Strg + m
quelle
Es ist vielleicht keine direkte Lösung, aber ich habe eine Bibliothek erstellt, mit der Sie im Entwicklungsmodus mit 3 Fingern berühren können, anstatt zu schütteln , um das Entwicklungsmenü zu öffnen
https://github.com/pie6k/react-native-dev-menu-on-touch
Sie müssen Ihre App nur einpacken:
DevMenuOnTouch aus 'React-Native-Dev-Menü-on-Touch' importieren; // oder: {DevMenuOnTouch} aus 'react-native-dev-menu-on-touch' importieren '
Dies ist sehr nützlich, wenn Sie auf einem realen Gerät debuggen müssen und Mitarbeiter neben Ihnen sitzen.
quelle
Ich habe versucht, ein Release über
adb install -r -d <app-release>.apk
🤦 zu erstellenStellen Sie sicher, dass Sie den Debug- Build ausführen. Das Menü funktioniert dann über die Verknüpfung oder die CLI.
quelle
Für Windows-Laptops fn Taste + Strg + m
quelle