私はクロスプラットフォームのReact Nativeモバイルアプリに取り組んでいます。開発中にconsole.logステートメントを書いています。デフォルトのAndroidエミュレータでAndroidアプリを実行している間に、これらのログ記録ステートメントをChromeで表示する必要があります。によると Facebookのドキュメント 私はただ「デバイスを振る」必要があります。 Androidエミュレータでこれを行うにはどうすればよいですか?
アプリ内開発者メニューにアクセスするには:
IOSの場合は、デバイスを振るか、シミュレータのCtrl +⌘+ zを押します。 Androidでは、デバイスを振るか、ハードウェアメニューボタンを押します(古いデバイスやほとんどのエミュレータで利用できます。たとえば、ジェノモーションでは、⌘+ mを押して、ハードウェアメニューボタンのクリックをシミュレートできます)。
Android Emulatorのアプリ内で、OSXの場合はCommand + M
、LinuxおよびWindowsの場合はCtrl + M
を押します。
エミュレータでReact Nativeが動作している状態で、
押す ctrl+m (Linuxでは、Windowsでも同じです。 ⌘+m Mac OS Xの場合)、または端末で次のコマンドを実行します。
adb Shell input keyevent 82
Android Studio 2.0に付属の新しいエミュレータを使用している場合は、Genymotionの場合と同様に、メニューキーのキーボードショートカットはCmd + Mになりました。
あるいは、端末でadb
を使用して常にメニューボタンを押すこともできます。
adb Shell input keyevent KEYCODE_MENU
また、メニューボタンのショートカットは厳密な要件ではないことに注意してください。これは、ReactActivity
というJavaクラスが提供するデフォルトの動作です(プロジェクトをreact-native init
で作成した場合はデフォルトで使用されます)。これがReactActivity.Java
のonKeyUp
からの関連コードです。
if (keyCode == KeyEvent.KEYCODE_MENU) {
mReactInstanceManager.showDevOptionsDialog();
return true;
}
既存のアプリにReact Nativeを追加する場合( のドキュメントはこちら )、ReactActivity
を使用していない場合は、メニューボタンをフックする必要があります。同様の方法で起動します。他のメカニズムを介してReactInstanceManager.showDevOptionsDialog
を呼び出すこともできます。たとえば、私が取り組んでいるアプリでは、物理デバイスを操作するときにデバイスを振るよりも便利なので、メニューを表示する開発者専用のアクションバーメニュー項目を追加しました。
'Ctrl + m'は、AndroidエミュレータのWindowsで動作し、React-Native開発者メニューを表示します。
それがどこにも文書化されているのが見つかりませんでした。ここに私の道を見つけた、残りを推測した...良い悲しみ。
ちなみに:OP:自分がどんなOSを使っているのか言及していませんでした。
OSXの 'Command + M'は私のために働いています。
MACではcommand + m(cmd + M)
を使用してください。またmake sure that you are accessing your application while you try to access the Debug Menu
i.eです。それ以外の場合はCmd + M
は通常の通常の電話メニューを返します。
linuxの場合Ctrl + Mキーは動作するはずですが、それは問題を解決するためのものではありません(...)(その拡張コントロール)をクリックし、ウィンドウを閉じます。Ctrl + Mキーでメニューを開くことができます。その後:
(...)をクリックします(その拡張コントロール)
拡張コントロールを閉じる
ctrl + M
それは直接的な解決策ではないかもしれませんが、開発モードでは シェイクの代わりに3本の指でタッチする を使って開発メニューを開くことができるlibを作成しました。
https://github.com/pie6k/react-native-dev-menu-on-touch
あなたはあなたのアプリを中にラップするだけでよい:
devMenuOnTouchを「react-native-dev-menu-on-touch」からインポートします。 //または: 'react-native-dev-menu-on-touch'から{DevMenuOnTouch}をインポート
class YourRootApp extends Component {
render() {
return (
<DevMenuOnTouch>
<YourApp />
</DevMenuOnTouch>
);
}
}
実際のデバイス上でデバッグしなければならず、同僚があなたの隣に座っているとき、それは本当に役に立ちます。
ウィンドウズラップトップの場合fn Key + Control + m
私はadb install -r -d <app-release>.apk
????を介してreleaseビルドを試みました。
debugビルドを実行していることを確認すると、ショートカットまたはCLIを介してメニューが機能します。