Saludos compañeros, mi aplicacion no esta en la tienda de Google, por lo que tengo este codigo para descargar un archivo .apk desde un WebService que seria la nueva versión de la app e instalarlo, pero tengo un error al momento de realizar la instalación: "Error de Analisis Se ha producido un error durante el analisis del paquete"
El archivo se descarga bien, si ejecuto el archivo desde la ubicacion de descarga "downloads" puedo instalar la app pero quiero que se instale una vez terminada la descarga desde la misma app en ejecución, gracias por sus comentarios.
try {
String ruta="http://webService/appnueva.apk";
URL obj = new URL(ruta);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setDoOutput(true);
con.connect();
File PATH = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File archivo = new File(PATH,"archivo.apk");
FileOutputStream fileOutput = new FileOutputStream(archivo);
InputStream inputStream = con.getInputStream();
//obtendremos el tamaño del archivo y lo asociaremos a una
//variable de tipo entero
int totalSize = con.getContentLength();
int downloadedSize = 0;
byte[] buffer = new byte[1024];
int bufferLength = 0;
while ( (bufferLength = inputStream.read(buffer)) > 0 ) {
downloadedSize += bufferLength;
fileOutput.write(buffer, 0, bufferLength);
}
fileOutput.close();
inputStream.close();
//aca el codigo para instalar el archivo descargado
//el archivo esta bien completo el problema es cuando se intenta
//instalar desde aca y da el error de analisis del paquete
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOWNLOADS) + "archivo.apk")),
"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
contexto.startActivity(intent);
texto="000";
}
catch (Exception e) {
//texto= e.toString();
Log.v("Error ALVARO ",e.toString());
texto="0001";
}
return texto;
}
Desde mi smartphone me cuesta un poco leer código, pero lo más importante es que nos pases un salida completa del logcat, cuando se produce un error
--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/36cc7297-410e-43b4-95bd-9dc0330c0cc6%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Log.e(TAG, "Exception: "+Log.getStackTraceString(e));
Saludos!
Escribí sobre eso que comenta Martín hace un tiempo, para no tener que explicar lo mismo siempre. 😁
http://www.aprendiendodeandroidymas.com/2013/11/como-puedo-usar-el-logcat-para-ayudarme.html?m=1
--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/671a5916-a817-4fd0-81c2-ca8a9368ac75%40googlegroups.com.
--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/b72cc0df-c1b4-4354-a33f-c992f8605f0c%40googlegroups.com.