Я создаю приложение для киосков Android (работает как владелец устройства), которого не будет в Google Play Store, и которое будет предоставлено QR-кодом.
До сих пор все работало довольно хорошо.Я могу подписать свое приложение, создать QR-код и получить планшет с заводскими настройками (Samsung Galaxy Tab A), чтобы прочитать QR-код, установить приложение и начать работу в качестве киоска.Я сделал все это, используя локальный веб-сервер, который не защищен, или в Интернете.
Теперь я перехожу к использованию нашего общедоступного веб-сервера, который защищен с помощью обычной аутентификации.Я пытался просто использовать обычный URL-адрес в QR-коде, как это:
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://<fully_qualified_server_name>/<path_to_apk>/<apk_name>"
Очевидно, что <> заполнены правильно.Это не работает, но не слишком удивительно.Я просто надеялся, что программное обеспечение Samsung / Google будет достаточно умным, чтобы запросить у меня имя пользователя и пароль.
Итак, я попробовал его с именем пользователя и паролем внутри QR-кода:
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://<username>:<password>@<fully_qualified_server_name>/<path_to_apk>/<apk_name>"
Но это тоже не сработало.И то и другое выдает сообщение об ошибке:
Oops! Couldn't download the admin app.
Второй URL-адрес корректно работает с wget, поэтому я не думаю, что здесь есть опечатка.первый сбой с wget, потому что ему нужны имя пользователя и пароль.
Поскольку планшет еще не настроен, я не могу включить отладку по USB, чтобы найти более полезное сообщение об ошибке.
Есть ли способ заставить это работать с базовой (или любой) аутентификацией?Или есть идеи, как получить более полезное сообщение об ошибке?
ОБНОВЛЕНИЕ
Просматривая журнал доступа с нашего веб-сервера, мы видим, что тот же URL работает правильноиз веб-браузера или wget, но Android не работает с:
<hostname_redacted> 72.48.253.220 - - [11/Jun/2018:10:35:14 -0500] "GET /2.13.0/ORPanel-0.1-release.apk HTTP/1.1" 401 487 "-" "AndroidDownloadManager/7.0 (Linux; U; Android 7.0; SM-T580 Build/NRD90M)"
В настоящее время мы думаем, что разрешим загрузку APK из "AndroidDownloadManager" без имени пользователя и пароля.Хромая безопасность по неизвестности, но лучшего варианта я не вижу.Конструктивно он не позволяет вводить имя пользователя и пароль в QR-код.