Ver la Versión Completa : Archivo en servidor ftp
Buenas tardes a todos!!
He realizado una aplicación, y para distribuirlo fácilmente a las personas que yo quiero, he montado un servidor ftp y a través de la app puede obtener el nuevo apk desde ese servidor.
Se me plantea una duda y es que no quiero que cada vez que le den se descargue y sustituyan la aplicación, ya que habrá en momentos que la apk que tengan instalada sea la que tienen en el servidor.
Entonces mi pregunta es si tengo alguna forma de saber si la versión que hay en el servidor es diferente a la que tengo instalada.
Hasta el momento he conseguido conectar al servidor y descargar el archivo, pero no se como compararle.
Muchas gracias de antemano.
Un saludo
mocelet
25/03/13, 19:14:32
Crea un fichero de texto en el ftp (o en un servidor web, vaya) que se llame por ejemplo "ultimo.txt" y que el texto sea un número con la versión o el código de revisión.
En vez de bajarte por ftp el apk y compararlo, te bajas el fichero, parseas el numerito y si es mayor que la versión actual le avisas al usuario para actualizar.
Evidentemente, además de subir el apk, tendrás que actualizar cada vez el contenido de dicho fichero, pero es lo que menos ancho de banda consume.
Muchas gracias mocelet.
Tu solución me ha venido al pelo, y es lo que necesitaba. Ahora tengo un problema y es que no me funciona el archivo de instalación que me descargo. El código que utilizo para descargar es:
try
{
File file = downloadFile1;
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
startActivity(intent);
}
catch (Exception e)
{
Log.e("Error en la instalacion", "Error al instalar el apk. Mensaje = " + e.getMessage());
}
Este código no produce ninguna excepción, pero siempre me aparece el siguiente mensaje:
Error de análisis
Se ha producido un problema al analizar el paquete.
No tengo ni idea de que puede estar sucediendo.
Haber si alguien me puede echar una mano.
Un saludo y gracias de antemano.
A nadie le ha pasado lo mismo??? Alguien a hecho un instalacion de esta manera y le ha funcionado, lo digo por ir reduciendo posibilidades
Muchas gracias
mocelet
29/03/13, 13:07:38
Eso no es problema de tu código de ejecución, el error lo da Android al ir a instalarlo. Imagino que si buscas el fichero donde te lo descargues, al instalarlo a mano te pasará lo mismo.
Comprueba que el minSdkVersion lo soporta el dispositivo (supongo que sí si la estás ejecutando) y, aunque pueda parecer una tontería, el APK tenga el mismo nombre que tenía cuando lo instalaste la primera vez (el fichero, si la primera vez se llamaba pepito.apk, que siga siendo pepito.apk).
Quiza sea ese mi problema, y tiene mucho sentido. Lo probare y comentare lo que suceda
Buenos dias a todos!!
He probado a ponerle el mismo nombre que la aplicación y me sigue dando el mismo fallo, así que por el nombre tampoco es. De todas formas debe ser que se corrompe cuando lo descargo porque me da 100kb menos del tamaño real. Seguiré investigando.
Un saludo.
A nadie se le ocurre que puede estar sucediendo???
El problema tiene que venir cuando lo descargo del servidor ftp, ya que he probado a cogerlo a mano desde el servidor y probar a instalarlo y funciona correctamente, cuando lo descargo debe corromper el archivo o algo por el estilo.
kriogeN
08/04/13, 01:24:45
Asegúrate que el modo de descarga es Binario y no ASCII.
Buenas noches.
Asegúrate que el modo de descarga es Binario y no ASCII.
Si, tenia ya el modo en Binario.
Ya lo he conseguido solucionar, resulta que era una tontería, el nombre de mi aplicación tenia espacios en blanco, y eso debe ser que no le gusta mucho a android cuando te descargas el fichero por ftp, le he cambiado el nombre al fichero que te descargas y a funcionado.
Ya puedo instalar perfectamente!!
Muchas gracias a todos por vuestra colaboración
Un saludo.
Buenos días a todos!!
Anoche creía que ya lo tenia solucionado todo, ahora me surge un nuevo error. Resulta que si el código de instalación lo ejecuto de modo normal es decir sin ser en modo debug no funciona, sin embargo en modo debug si le dejo 5 segundos parado antes del intent de instalación, si que funciona. ¿Qué puede estar ocurriendo?
Muchas gracias a todos!!
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.