una solucion sale que puedo puede porque para mostrar instalo instalar instalada funciona este dispongas descargadas cuando compatible capaz boton archivos archivo aplicacion abrir android install root

android - sale - puede que no dispongas de una aplicacion capaz de mostrar este archivo solucion



Instalar Android APK sin aviso (1)

Simplemente puede usar el comando adb install para instalar / actualizar APK de forma silenciosa. El código de muestra está debajo

public static void InstallAPK(String filename){ File file = new File(filename); if(file.exists()){ try { String command; command = "adb install -r " + filename; Process proc = Runtime.getRuntime().exec(new String[] { "su", "-c", command }); proc.waitFor(); } catch (Exception e) { e.printStackTrace(); } } }

O

Por favor, visite http://paulononaka.wordpress.com/2011/07/02/how-to-install-a-application-in-background-on-android/

Estamos escribiendo una aplicación para Android que muestra anuncios en pantallas grandes. Tenemos un backend donde los anunciantes pueden seleccionar los anuncios, por lo que se actualizan casi al instante. Debido a que habrá muchas cajas de Android ejecutándose (conectadas a pantallas HDMI), deberíamos poder actualizar nuestro software de forma remota.

Este es el caso:

La aplicación principal se ejecuta continuamente (a menos que esté apagada) y los usuarios nunca ven nada relacionado con Android. Necesitamos una aplicación de actualización que escuche las actualizaciones y elimine el apk principal, instala un nuevo apk. Durante la actualización, mostraremos una actividad con "Actualizando, por favor espere", hasta que se instale y muestre el nuevo apk principal.

Lo que necesitamos:

Necesitamos ayuda sobre cómo implementar el mecanismo de actualización sin preguntar al usuario sobre el DISPOSITIVO ROOTADO.

Que tenemos:

La aplicación del actualizador está enganchada en el evento de inicio recibido, donde se inicia un servicio (este servicio escuchará las actualizaciones, que serán implementadas por un colega pronto). El servicio puede iniciar una actividad que solicitará la información de actualización mientras se actualiza.

En la actividad del actualizador.

try { Process proc = Runtime.getRuntime().exec(new String[]{"su", "pm install -r /mnt/sdcard/MYFOLDER/testAPK.apk"}); stringBuilder.append(String.valueOf(proc.waitFor())); stringBuilder.append("/n"); } catch (Exception e) { if (e instanceof IOException) { Log.d(TAG, "IOException"); } else if (e instanceof InterruptedException) { Log.d(TAG, "InterruptedException"); } else { e.printStackTrace(); } }

El StringBuilder imprime 11, pero hace lo mismo si doy un comando inexistente aleatorio.

En el manifiesto

<!-- Permission to start UpdaterService on boot --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- Install/delete permissions, only granted to system apps --> <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.DELETE_PACKAGES" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Los paquetes de instalación y eliminación son inútiles si no instalo mi aplicación como aplicación del sistema, ¿estoy en lo correcto?

Larga historia corta, no hay instalación de mi prueba APK, y no tengo idea de cómo resolver esto. ¡Cualquier ayuda sería apreciada!