Подтвердить что ты не робот

Невозможно установить APK на моем собственном сервере Apache

Я экспортировал apk из eclipse. Я могу установить его без каких-либо проблем, если я скопирую его на SD-карту телефона.

При попытке загрузить через телефон (Galaxy S) браузер я получаю: "Загрузите неудачный".

Я установил приложение mime type/vnd.android.package-archive в mime.types, перезапустил apache, все тот же результат. Также попробовали:

<a href="downloads/my_apk.apk" type="application/vnd.android.package-archive">Download App</a>

По-прежнему не повезло.

Я могу загружать и устанавливать приложения с рынка Android. Я подозреваю, что apache не отправляет тип mime, но это всего лишь выстрел в темноте. Как я могу исправить проблему и уметь устанавливать APK с моего веб-сервера? (или, по крайней мере, проверить, отправляет ли apache правильный заголовок с типом mime)

Любая помощь будет оценена.

4b9b3361

Ответ 1

В конце концов, я нашел проблему, частично благодаря сообществу CommonsWare.

Каталог, в который я помещал apks для загрузки, защищен simpe auth. Телефонный браузер правильно запрашивает (один раз) имя пользователя и пароль при просмотре, но, очевидно, забывает отправлять данные авторизации при попытке загрузить файл и что приводит к несанкционированному 401.

Решение: удалите базовый auth из этого каталога или используйте другой незащищенный каталог для apks.

Ответ 2

Лучше, если вы добавите расширение .apk в конфигурацию mime apache. Взгляните на этот пример: https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

Вы можете просто найти запись "apk" и скопировать строку в файл /etc/mime.types на вашем сервере:

application/vnd.android.package-archive     apk

Также добавьте это в /etc/apache 2/mods-available/mime.conf:

AddType application/vnd.android.package-archive .apk

(Есть и другие AddType-s, поместите их после них точно). Отсюда вам не нужно ничего помещать для mime-типа apk в теге, сервер справится с этим.;)

UPDATE: исправлена ​​ошибка в строке AddType

Ответ 3

Используйте curl для проверки веб-сервера, чтобы убедиться, что он отвечает на HTTP-запрос и возвращает правильный тип MIME. Кроме того, пример вашего журнала сервера, чтобы узнать, какая ошибка регистрируется.

Ответ 4

Иногда у вас нет доступа к файлам конфигурации apache, таким как /etc/mime.types, особенно на общих серверах. Вы можете создать файл .htaccess(или открыть, если он уже существует) в корневом каталоге и добавить следующую строку: Приложение AddType/vnd.android.package-archive.apk Надеюсь, что это поможет.