JumPHP runtime на Android: установка приложения
На телефоне веб-страница не может добраться до вашей собственной сети (домашний Wi-Fi, VPN, сервер, принимающий только ваш адрес). JumPHP runtime для Android — небольшое приложение, которое делает это для приложений JumPHP, открытых в браузере, только с вашего разрешения. Его нет в Google Play: файл .apk вы устанавливаете сами. Эта страница объясняет каждый флажок, который просит отметить Android.
Android пишет, что файл может быть опасен? Это не вирус
Браузер, Android или Google Play Protect могут сообщить, что файл «может нанести вред устройству», «редко скачивается» или «получен из неизвестного источника». Это нормально и ожидаемо: так бывает, когда приложение не распространяется через Google Play и подписано собственным ключом. Что можно проверить:
- исходный код открыт: git.jumphp.net/jumphp/jumPhp (папка
apps/runtime-android); - оно слушает только на самом телефоне (
127.0.0.1), отвечает только страницам jumphp.net и подключается только туда, где вы нажали «Всегда» или «Только сейчас»; - оно никогда не читает ваши файлы, контакты и сообщения и не записывает то, что через него проходит (только журнал: сайт, приложение, цель, время, объём);
- любое разрешение можно отозвать, а приложение удалить в любой момент;
- отпечаток (SHA-256) сертификата подписи:
D5:4C:E2:69:90:7A:FE:E5:0C:1F:E6:73:70:98:38:DD:15:16:29:CC:B0:35:4C:ED:FB:0F:98:F6:E6:5D:15:AE.
Установка шаг за шагом
- Скачайте
jumphp-runtime-android.apkсо страницы релизов (самая новаяruntime-android-v…). Chrome может спросить «Файл такого типа может нанести вред устройству»: нажмите Сохранить (или Всё равно скачать). - Откройте скачанный файл. Android сообщит «В целях безопасности телефону запрещено устанавливать неизвестные приложения из этого источника»: нажмите Настройки и включите Разрешить из этого источника (это для вашего браузера, например Chrome). Если окно не открылось: Настройки → Приложения → Особый доступ → Установка неизвестных приложений → ваш браузер → Разрешить. Вернитесь и нажмите Установить.
- Если Google Play Protect показывает «Заблокировано», «Приложение заблокировано для защиты устройства» или «Проверить приложение?»: нажмите Подробнее → Всё равно установить (или Установить без проверки). На Xiaomi может появиться ещё один вопрос безопасности: согласитесь.
- Откройте JumPHP runtime. Разрешите уведомления, когда Android спросит (Android 13+): вопросы («Разрешить это приложение?») приходят уведомлениями.
- Оно запускается само (Состояние: ВКЛ, уведомление остаётся). Нажмите Не засыпать и для батареи выберите Без оптимизации / Без ограничений, чтобы Android его не останавливал.
- На Xiaomi, Huawei, Oppo, Vivo, OnePlus, Samsung… нажмите также Запускать вместе с телефоном (автозапуск) и включите: иначе после перезагрузки телефон не запустит приложение.
- На странице приложения индикатор станет оранжевым: нажмите Allow this app. Уведомление спросит «Разрешить …?»: нажмите на него и выберите Всегда. Индикатор станет зелёным.
Нужен ли режим разработчика?
Нет. Параметры разработчика и отладка по USB не нужны для установки .apk из браузера. Нужно только разрешение «Установка неизвестных приложений» для браузера (шаг 2). Потом его можно отключить.
Обновления
Приложение ищет новую версию каждые 6 часов (и при открытии). Появляются уведомление и кнопка Установить: Android проверяет, что новый файл подписан тем же ключом, вы подтверждаете — и всё.
Проблемы
- Приложение не установлено: на телефоне старая копия, подписанная другим ключом. Удалите её и установите заново.
- Останавливается после перезагрузки: включите автозапуск (шаг 6) и настройку батареи (шаг 5).
- Индикатор остаётся красным: откройте приложение (Состояние: ВКЛ) и перезагрузите страницу; или нажмите на странице Start / install the app.
- Вопрос не появляется: разрешите уведомления приложения (Настройки → Приложения → JumPHP runtime → Уведомления).
На iPhone это невозможно (нет фоновой службы с локальным портом): приложение по-прежнему подключается через сервер jumphp.net.
См. также: JumPHP runtime.