Невозможно загрузить .apk через веб-браузер с сайта drupal - PullRequest
5 голосов
/ 29 января 2010

У меня есть веб-сайт на друпале, где люди могут войти и посмотреть частные дискуссионные форумы. Именно здесь я хочу, чтобы мои бета-тестеры для моего приложения Android загружали бета-файлы .apk. Я тщательно протестировал это на своем Android 1.6 на базе myTouch 3G и смог войти в систему и без проблем загрузить файлы, прикрепленные к сообщениям на форуме.

Теперь самое интересное: мои тестеры на Droids и Nexus Ones (Android 2.0.1 и 2.1) жаловались, что их загрузка не удалась. Поскольку у меня нет телефона 2.0, я попробовал его в эмуляторе 2.0, и вот, он не сработал. Загрузка показывает неопределенный прогресс в течение секунды или двух, а затем показывает «Загрузка не удалась».

Судя по тому, что я вижу в журналах, очевидно, что сервер возвращает 404 для запроса на загрузку из браузеров 2.0. Я могу загрузить на свой рабочий стол и телефон 1.6 без проблем. Единственная причина, по которой я могу подумать, что сервер вернет 404 для запроса, заключается в том, что по какой-то причине учетные данные или файлы cookie не передаются процессом загрузки. Logcat показывает: ошибка http 404 для скачивания x

Некоторый фон: Я добавил MIME-тип в мой .htaccess так: Приложение AddType / vnd.android.package-archive apk

Я проверил журналы сервера и вижу следующее для неудачных загрузок: xx.xx.xx.224 - - [28 / Jan / 2010: 20: 39: 00 -0500] "GET /system/files/grandmajong-beta090.apk HTTP / 1.1" 404 - "http://trickybits.com/forums/beta-testing/grandma-jong/latest-version-090-b1"" Mozilla / 5.0 (Linux; U; Android 1.6; ru-ru; SDK Build / Donut) AppleWebKit / 528.5 + (KHTML, как Gecko) Версия / 3.1.2 Mobile Safari / 525.20.1 "

Ответы [ 5 ]

1 голос
/ 29 июля 2011

Похоже, это связано с давней проблемой, с которой я столкнулся, пытаясь обслуживать APK с моего собственного веб-сервера. Это не проблема MIME, это не права доступа к файлу, и нет никакого путаницы в пути. Насколько я могу судить об ошибке в браузере Android. Я обнаружил, что с Apache, если я добавлю файл .htaccess, который ограничивает файл / каталог, т. Е. Вы захотите, чтобы он запрашивал имя пользователя / пароль при загрузке из браузера, он завершится с ошибкой, которую вы описали. Удалите .htaccess и все хорошо. Не хорошо, если у вас есть общедоступный веб-сайт, на котором вы хотите прикрепить свой защищенный тестовый APK. Ваш сайт - drupal - я бы проверил наличие любого ограничения, подобного этому, или действительно, если это не само ограничение, а наличие файла .htaccess, поскольку точная причина не ясна.

Кстати, элегантным решением для этого является использование Dropbox. Вы заставляете своих пользователей устанавливать его на своих телефонах, и когда вы добавляете на него APK, они не только сразу получают уведомление, но и могут просто щелкнуть ссылку в строке состояния и установить приложение, то есть без MIME или сервера. работа нужна вообще.

0 голосов
/ 27 июня 2012

Я знаю, что это старая проблема, но сейчас у меня такая же проблема.

Единственный обходной путь, который я нашел, - попросить пользователей загрузить APK из не встроенного навигатора, что очень смущает и раздражает (Opera на самом деле работает нормально).

Если бы кто-нибудь нашел решение для сборки в браузере, он был бы очень признателен, если бы опубликовал! :)


Также я заметил:
Я работаю в локальной сети, где сервер находится в 192.168.1.15. В «узлах» локальных компьютеров я разрешил имя домена по адресу сервера (если нет, то имя домена разрешается маршрутизатором). В Android я не разрешил доменное имя, поэтому, когда внутренний браузер пытается перейти к доменному имени, а не к серверу, он разрешает маршрутизатор, как и ожидалось. Что удивительно, так это то, что Opera разрешает сервер, например, если есть прокси или что-то в этом роде. По крайней мере, он действует так, как если бы трафик приходил из-за пределов локальной сети.

Возможно, именно это заставляет Opera работать над загрузкой файлов.

Извините, если мой английский недостаточно хорош для более ясного объяснения, но надеюсь, что он понятен.

0 голосов
/ 06 сентября 2010

АПК подписан? Возможно, более поздние версии Android ожидают только подписанные приложения. http://tordtech.blogspot.com/2009/10/signing-android-applications.html

0 голосов
/ 10 декабря 2010

Как владелец телефона 2.0+ (Droid X) я обнаружил, что у меня возникла та же проблема при попытке загрузить свои собственные APK. Я работал над этим: как ни странно, загрузка Astro File Manager по любой причине позволила мне сделать это.

0 голосов
/ 04 февраля 2010

Местом хранения файлов drupal по умолчанию является / sites / default / files. Если вы загрузили файл через Drupal (как узел или что-то еще), он будет здесь. Вам также следует проверить файл /sites/settings.php или настройки загрузки файлов (http: /// admin / settings / file-system), чтобы увидеть, где хранятся ваши файлы.

Это не проблема MIME-типа, поэтому удалите запись для файлов apk, если вы не хотите, чтобы сервер пытался их прочитать.

...