Если вам известен путь класса или jar, содержащий класс, то добавьте его в свой путь к классу во время его запуска. Вы можете использовать путь к классам, как указано здесь:
в Windows
java -classpath .;yourjar.jar YourMainClass
в UNIX / Linux
java -classpath .:yourjar.jar YourMainClass
Так как adb reverse
не поддерживается в версиях Android ниже 5.0, вам нужно использовать альтернативный метод, например, подключение через Wi-Fi. Если вы используете React Native, Facebook добавил официальную документацию для подключения к серверу разработки через Wi-Fi . Цитируя инструкции для MacOS, но они также имеют их для Linux и Windows:
Способ 2. Подключение через Wi-Fi
Вы также можете подключиться к серверу разработки Вай-фай. Сначала вам нужно будет установить приложение на устройство с помощью USB-кабеля, но как только это будет сделано, вы можете отлаживать беспроводное соединение, следуя этим инструкциям. Прежде чем продолжить, вам понадобится текущий IP-адрес вашей машины.
Вы можете найти IP-адрес в системных настройках → Сеть.
Убедитесь, что ваш ноутбук и телефон находятся на одном и том же Wi-Fi. Откройте свое приложение React Native на своем устройстве. Вы увидите красный экран с ошибкой. Хорошо. Следующие шаги помогут исправить это. Откройте меню разработчика в приложении. Перейдите в раздел «Настройки Dev» → «Отладочный сервер сервера» для устройства. Введите IP-адрес устройства и порт локального сервера-разработчика (например, 10.0.1.1:8081). Вернитесь в меню «Разработчик» и выберите «Обновить JS».
blockquote>
Внимательно выполните следующие действия.
Примечание. Все команды должны выполняться только внутри проекта.
npm react-native start
curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
index.android.bundle
в папке с ресурсами npm react-native run-android
Теперь вы можете получить apk в папке сборки, которая будет работать нормально.
adb reverse
требуется Android 5.0+. Для устройств, предшествующих этому, вам нужно будет использовать обходной путь.
Если на вашем Android-устройстве установлен самый загруженный блок (большинство изображений Genymotion), вы можете эмулировать adb reverse
с помощью этого заклинания:
adb shell busybox nc -ll -p {guest port} -e busybox nc {host IP} {host port}
В этом случае «гость» - это ОС Android, работающий в эмуляторе, а «хост» - компьютер, на котором запущен эмулятор.
busybox nc
, - это туннельные потоки. Итак, почему бы не подключиться к одной сети через WiFi и не модифицировать узел сбора пакетов по IP-адресу машины разработки?
– iamawebgeek
12 April 2017 в 10:07
причина обращения adb не работает на android до 5, вы можете использовать adb вперед с услугой, прослушивающей android, и туннелировать другие соединения через это входящее соединение. Я делаю это в основном с ssh, но вам нужен сервер ssh на android. вы можете подключиться с помощью ssh -R incommingreverseportonandroid: hostyouwanttoforwardto: portyouwanttoforwardto sshuseronandroid @ localhost -p portyouhaveusedforadbforwaqrdtoaccessandroidssshserver
, но я не знаю, как включить ssh-сервер в android, и, возможно, есть лучший способ, потому что ssh использует шифрование, которое не требуется для usb и использовать cpu.
Я использую этот способ с моим сервером, чтобы разделить службу, когда меня принуждают за nat ...
надеюсь, что кто-то найдет способ довести этот теоретический путь до практической возможности
adb reverse
на более низкие API. С настройкой сервера вручную на устройстве, я мог бы разработать реакцию-родной до этого, но теперь я получаю сообщение об ошибке, которое, среди прочего, указывает наadb reverse
, который терпит неудачу, поэтому я не знаю, как идти оттуда. Является ли настройка IP на устройстве достаточной, чтобы не требовать замены? – Giszmo 19 May 2016 в 20:45