Ich arbeite an einer plattformübergreifenden mobilen App React Native. Ich schreibe Console.log-Anweisungen während ich entwickle. Ich möchte diese Protokollierungsaussagen in Chrome anzeigen, während ich die Android-App im Standard-Emulator von Android ausgeführt habe. 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 Strg + ⌘ + z . Schütteln Sie das Gerät unter Android oder drücken Sie die Hardware-Menütaste (verfügbar auf älteren> Geräten und in den meisten Emulatoren, z. B. können Sie bei genymotion ⌘ + m drücken, um den Klick auf die Hardware-Menütaste zu simulieren.)
Drücken Sie in Ihrer App im Android Emulator Command + M
unter OSX oder Ctrl + M
unter Linux und Windows.
Wenn ein React Native im Emulator ausgeführt wird,
Drücken Sie ctrl+m (Für Linux ist es wahrscheinlich dasselbe für Windows und ⌘+m für Mac OS X) oder führen Sie im Terminal Folgendes aus:
adb Shell input keyevent 82
Wenn Sie den neuen Emulator von Android Studio 2.0 verwenden, lautet die Tastenkombination für die Menütaste jetzt Cmd + M, genau wie in Genymotion.
Alternativ können Sie jederzeit eine Menütaste per adb
in einem Terminal drücken:
adb Shell input keyevent KEYCODE_MENU
Beachten Sie auch, dass die Tastenkombination für die Menütaste keine strikte Anforderung ist, sondern lediglich das Standardverhalten der Java-Klasse ReactActivity
(die standardmäßig verwendet wird, wenn Sie Ihr Projekt mit react-native init
erstellt haben). Hier ist der relevante Code von onKeyUp
in ReactActivity.Java
:
if (keyCode == KeyEvent.KEYCODE_MENU) {
mReactInstanceManager.showDevOptionsDialog();
return true;
}
Wenn Sie React Native zu einer vorhandenen App hinzufügen ( Dokumentation hier ) und ReactActivity
nicht verwenden, müssen Sie die Menüschaltfläche auf ähnliche Weise anschließen. Sie können ReactInstanceManager.showDevOptionsDialog
auch über einen anderen Mechanismus aufrufen. In einer App, an der ich gerade arbeite, habe ich zum Beispiel ein Menüelement für die Aktionsleiste hinzugefügt, das das Menü öffnet, da ich es für bequemer finde, das Gerät zu schütteln, wenn ich an einem physikalischen Gerät arbeite.
'Strg + m' funktioniert für Windows im Android-Emulator, um das React-Native-Entwicklermenü aufzurufen.
Konnte das nirgendwo dokumentiert finden ... Ich fand meinen Weg hier, ahnte den Rest ... Guter Kummer.
Übrigens: OP: Sie haben nicht erwähnt, auf welchem Betriebssystem Sie sich befanden.
'Command + M' für OSX arbeitet für mich.
Verwenden Sie command + m(cmd + M)
auf dem MAC. Auch make sure that you are accessing your application while you try to access the Debug Menu
i.e. Ihre App muss ausgeführt werden, da ansonsten Cmd + M
das normale Telefonmenü wiedergibt.
Ich bin unter Mac OS. Wenn ich also die Befehlstaste drücke, wird die Zoom-Option aktiviert. Hier ist meine Lösung
Settings
tab -> General
tab -> Send keyboard shortcuts to
Virtual device"
wie in der Abbildung gezeigtNach diesem Fokus auf dem Emulator und Drücken von Befehlstaste + M wird das Dev-Menü angezeigt.
unter Linux sollte ctrl + m funktionieren, aber nicht zur Lösung des Problems klicken Sie auf (...) (seine erweiterten Steuerelemente) und schließen Sie das Fenster. dann:
klicken Sie auf das (...) (seine erweiterten Steuerelemente)
erweiterte Steuerelemente schließen
strg + m
Es ist vielleicht keine direkte Lösung, aber ich habe eine Bibliothek erstellt, mit der Sie 3 Finger berühren können , anstatt zu schütteln , um das Dev-Menü zu öffnen, wenn Sie sich in befinden Entwicklungsmodus
https://github.com/pie6k/react-native-dev-menu-on-touch
Sie müssen Ihre App nur in Folgendes einwickeln:
importieren Sie DevMenuOnTouch aus dem 'React-Native-Dev-Menu-On-Touch'. // oder: {DevMenuOnTouch} aus 'Native-Dev-Menü-auf-Berührung-reagieren' importieren
class YourRootApp extends Component {
render() {
return (
<DevMenuOnTouch>
<YourApp />
</DevMenuOnTouch>
);
}
}
Dies ist sehr nützlich, wenn Sie auf einem echten Gerät debuggen müssen und Kollegen neben Ihnen sitzen.
Für Windows-Laptops Fn Taste + Strg + m
Ich habe versucht, einen Release Build über adb install -r -d <app-release>.apk
????
Stellen Sie sicher, dass Sie den Build Debug ausführen, dann funktioniert das Menü über die Verknüpfung oder die CLI.