Estoy descargando un archivo apk de la web y guardándolo en Context.getCacheDir(). Estoy descargando archivos por HttpURLConnection - No estoy preguntando en realidad sobre el código (está funcionando completamente), así que no lo estoy publicando aquí. Inicia exitosamente la descarga. El archivo se descarga en la memoria caché y luego se solicita su instalación, pero el sistema no puede abrir mi APK y escribe el error de análisis.Android: no se pudo abrir el archivo zip
De ahí problema es el siguiente:
03-31 16:48:43.740: INFO/ActivityManager(59): Start proc com.android.packageinstaller for activity com.android.packageinstaller/.PackageInstallerActivity: pid=620 uid=10026 gids={}
03-31 16:48:44.749: WARN/zipro(620): Unable to open zip '/data/data/com.my.app/cache/myApp.apk': Permission denied
03-31 16:48:44.749: DEBUG/asset(620): failed to open Zip archive '/data/data/com.my.app/cache/myApp.apk'
03-31 16:48:44.930: WARN/PackageParser(620): Unable to read AndroidManifest.xml of /data/data/com.my.app/cache/myApp.apk
03-31 16:48:44.930: WARN/PackageParser(620): java.io.FileNotFoundException: AndroidManifest.xml
El problema es - no tengo permiso para acceder a programaticaly/cache. ¿Hay alguna forma de cómo resolverlo? No quiero utilizar el almacenamiento externo como directorio de descarga (el proceso de instalación funciona cuando descargo archivos en el almacenamiento externo), el caché es excelente porque el administrador no puede acceder al archivo desde el administrador general y eso es lo que quiero. Gracias por tus pensamientos
Este problema ha sido para mí sin solución para más de un mes ...
Editar: Aún no hay solución, estoy tratando de pensar que me encontré primera cosa, que no es posible con Android
Edit2: Debo haber estado mal - mi apk descargado está presente en caché ... ¿Todavía no hay permiso para permitir la instalación desde ese directorio?
intenté utilizar el 'openFileOutput()' .... si no, inténtalo con 'MODE_WORLD_READABLE' – Panthro
Hola, encontraste la solución al problema anterior. Estoy en una solución similar ahora. – CodeGuru
He visto 'WORLD_WRITABLE' en casi todas las respuestas de este comentario. NO HAGA ** ** LO HAGA por otra cosa que no sea una prueba, que los permisos son el problema. – domen