2010-01-29 9 views
5

Tengo un sitio web basado en drupal donde las personas pueden iniciar sesión y ver foros privados de discusión. Aquí es donde quiero que mis beta testers para mi aplicación Android descarguen los archivos beta .apk. Probé esto a fondo en myTouch 3G basado en Android 1.6, y pude iniciar sesión y descargar archivos adjuntos a las publicaciones del foro sin problemas.No se puede descargar .apk a través de webbrowser desde el sitio de drupal

Ahora viene la parte interesante: mis probadores de Droids y Nexus Ones (Android 2.0.1 y 2.1) se quejaban de que sus descargas estaban fallando. Como no tengo un teléfono 2.0, lo probé en un emulador 2.0, y he aquí que no funcionó. La descarga muestra el progreso indeterminado durante uno o dos segundos, luego muestra "Descargar sin éxito".

Según lo que veo en los registros, es evidente que el servidor devuelve un 404 para la solicitud de descarga de los navegadores 2.0. Puedo descargar a mi computadora de escritorio y el teléfono 1.6 no hay problema. La única razón por la que puedo pensar que el servidor devolverá un 404 para una solicitud es que, por alguna razón, las credenciales o las cookies no están siendo aprobadas por el proceso de descarga. Logcat muestra: Error HTTP 404 para descargar x

Algunos antecedentes: añadí el tipo MIME a mi .htaccess así: apk AddType application/vnd.android.package-archivo

he comprobado los registros del servidor y vea lo siguiente para las descargas fallidas: 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; en-us; sdk Build/Donut) AppleWebKit/528.5 + (KHTML, como Gecko) Versión/3.1.2 Mobile Safari/525.20.1"

Respuesta

0

La ubicación de almacenamiento predeterminada para dr upal files es/sites/default/files. Si cargó el archivo a través de Drupal (como un nodo o lo que sea), estará aquí. También debe consultar el archivo/sites/settings.php o la configuración de carga de archivos (http: /// admin/settings/file-system) para ver dónde se almacenan sus archivos.

Esto no es un problema de tipo MIME, por lo tanto, elimine la entrada de los archivos apk a menos que desee que el servidor intente leerlos.

+0

Gracias trineo. Sí, definitivamente el archivo está allí, puedo descargarlo en mi escritorio a través de Firefox sin problema. El problema parece estar entre mi sitio web y ciertas versiones del navegador de Android y su funcionalidad de descarga. – Gyuri

0

Como propietario de un teléfono 2.0+ (Droid X), descubrí que estaba teniendo el mismo problema al intentar descargar mis propios APK. Trabajé alrededor: por extraño que parezca, la descarga de Astro File Manager, por la razón que sea, me permitió hacerlo.

1

Parece que está relacionado con un problema de larga data que he tenido al intentar publicar APK desde mi propio servidor web. Este no es el problema MIME, no es un permiso de archivo y no hay ningún truco de ruta en curso. Hasta donde puedo decir un error en el navegador de Android. Lo que encuentro es que con Apache, si agrego un archivo .htaccess que restringe el archivo/directorio, es decir, si desea que solicite un nombre de usuario/contraseña al descargar desde un navegador, falla con el error que describe. Elimina el .htaccess y todo está bien. No es bueno cuando tienes un sitio web público en el que deseas insertar tus APK de prueba segura. Su sitio es drupal. Verificaría si hubiera alguna restricción como esta, o si no es la restricción en sí, sino la presencia del archivo .htaccess, ya que la causa exacta no está clara.

Por cierto, una solución elegante para esto es usar Dropbox. Consigues que tus usuarios lo instalen en sus teléfonos, y cuando sueltas el APK, no solo se notifican todos inmediatamente, sino que pueden hacer clic en el enlace en su barra de estado y en la instalación de la aplicación, es decir, sin MIME o servidor. trabajo necesario en absoluto.

+0

Dropbox es una buena idea, lo intentaré. – Gyuri

+0

Dropbox es genial y al menos es una solución de trabajo. Sin embargo, 1) Me gusta guardar todos mis archivos en un solo lugar y 2) Me hace quedar mal cuando tengo que enviar a alguien al sitio de un tercero para descargar su APK. – Jacksonkr

0

Sé que esto es un problema antiguo, pero estoy teniendo el mismo problema hoy en día.

La única solución que encontré es pedirles a los usuarios que descarguen el apk de un navegador no incorporado, lo cual es muy confuso y molesto (de hecho, Opera está funcionando bien).

Si alguien ha encontrado una solución para la construcción en el navegador, ¡sería muy apreciado si se publica! :)


También me he dado cuenta:
estoy trabajando en una LAN en la que el servidor está en 192.168.1.15. He resuelto en "hosts" de computadoras locales el nombre de dominio en la dirección del servidor (si no, el nombre de dominio se resuelve en el enrutador). En Android no he resuelto el nombre de dominio, por lo que cuando el navegador interno intenta navegar hacia el nombre de dominio, en lugar de resolverlo, se resuelve en el enrutador, como se esperaba. Lo que es sorprendente es que Opera se está resolviendo en el servidor, como si hubiera un proxy o algo así. Al menos actúa como si el tráfico viene desde fuera de la LAN.

Quizás esto es lo que hace que Opera trabaje en la descarga de archivos.

Disculpa si mi inglés no es lo suficientemente bueno como para explicarlo con mayor claridad, pero espero que sea comprensible.

Cuestiones relacionadas