Ответ 1
В приложении в эмуляторе Android нажмите Command + M
в OSX или Ctrl + M
в Linux и Windows.
Я работаю над кросс-платформенным мобильным приложением React Native. Я пишу инструкции console.log по мере развития. Я хочу видеть эти инструкции регистрации в Chrome, пока я запускаю приложение Android в эмуляторе Android по умолчанию. Согласно Facebook docs Мне просто нужно "встряхнуть устройство". Как это сделать в эмуляторе Android?
Для доступа к меню приложений в приложении:
В iOS встряхните устройство или нажмите кнопку управления + ⌘ + z в симуляторе. На Android встряхните устройство или нажмите кнопку меню аппаратного обеспечения (доступно на старых > устройствах и в большинстве эмуляторов, например, в режиме genymotion вы можете нажать ⌘ + m, чтобы > имитировать нажатие кнопки меню оборудования)
В приложении в эмуляторе Android нажмите Command + M
в OSX или Ctrl + M
в Linux и Windows.
С инициативой React, запущенной в эмуляторе,
Нажмите ctrl + m (для Linux, я полагаю, это то же самое для Windows и ⌘ + m для Mac OS X)
или запустите в терминале следующее:
adb shell input keyevent 82
Если вы используете новый эмулятор, который поставляется с Android Studio 2.0, сочетание клавиш для клавиши меню теперь является Cmd + M, как в Genymotion.
В качестве альтернативы вы всегда можете отправить кнопку меню с помощью adb
в терминале:
adb shell input keyevent KEYCODE_MENU
Также обратите внимание, что ярлык кнопки меню не является строгим требованием, это просто поведение по умолчанию, предоставляемое классом ReactActivity
Java (который используется по умолчанию, если вы создали свой проект с помощью react-native init
). Здесь соответствующий код из onKeyUp
в ReactActivity.java
:
if (keyCode == KeyEvent.KEYCODE_MENU) {
mReactInstanceManager.showDevOptionsDialog();
return true;
}
Если вы добавляете React Native в существующее приложение (здесь, здесь), и вы не используете ReactActivity
, вам нужно подключить меню Аналогичным образом. Вы также можете вызвать ReactInstanceManager.showDevOptionsDialog
через любой другой механизм. Например, в приложении, над которым я работаю, я добавил элемент меню "Экран" только для Dev-only, который вызывает меню, так как я считаю, что это более удобно, чем встряхивание устройства при работе на физическом устройстве.
"Ctrl + m" работает для Windows в эмуляторе Android, чтобы открыть меню разработчика React-Native.
Не удалось найти документацию в любом месте. Найденный здесь путь, догадался, остальное... Хорошее горе.
Кстати: OP: Вы не указали, на какой ОС вы были.
'Command + M' для OSX работает для меня.
Используйте command + m(cmd + M)
на MAC. Также make sure that you are accessing your application while you try to access the Debug Menu
т.е. ваше приложение должно работать, иначе Cmd + M
просто вернет обычное меню обычного телефона.
в Linux Ctrl + M должен работать, но это не для решения проблемы, нажмите на (...) (его расширенные элементы управления), а затем закройте это окно. Теперь вы можете открыть меню с помощью Ctrl + M. затем:
нажмите на (...) (его расширенные элементы управления)
закрыть расширенные элементы управления
Ctrl + M
В Linux вы нажимаете на три точки "..." рядом с эмулятором, на "Виртуальных датчиках" отмечаете "Переместить" и затем пытаетесь быстро переместить координаты x, y или z.
Я нахожусь на Mac OS, поэтому, когда я нажимаю Command, включается опция масштабирования. Вот мое решение
Settings
" → вкладка " General
" → Send keyboard shortcuts to
полеVirtual device"
как показано на рисункеПосле этого сфокусируйтесь на эмуляторе и нажмите Ctrl + M, появится меню разработчика.
Для ноутбуков с Windows Fn Key + Control + M
Возможно, это не прямое решение, но я создал библиотеку, которая позволяет использовать касание 3 пальцев вместо встряхивания, чтобы открыть меню разработчика в режиме разработки.
https://github.com/pie6k/react-native-dev-menu-on-touch
Вам нужно только обернуть ваше приложение внутри:
импортировать DevMenuOnTouch из "реакции-родного-dev-меню-на-ощупь"; // или: импортировать {DevMenuOnTouch} из "act-native-dev-menu-on-touch "
class YourRootApp extends Component {
render() {
return (
<DevMenuOnTouch>
<YourApp />
</DevMenuOnTouch>
);
}
}
Это действительно полезно, когда вам нужно отладить на реальном устройстве, и рядом с вами сидят сотрудники.