Tengo un teléfono ZTE en el que no puedo reinstalar facebook mediante Google Play Store: me aparece el famoso error -505 desconocido.
Si instalo un apk de facebook descargado usando adb obtengo el siguiente error.
pkg: /data/local/tmp/com.facebook.katana.apk Failure [INSTALL_FAILED_DUPLICATE_PERMISSION
perm=com.facebook.katana.permission.RECEIVE_ADM_MESSAGE pkg=com.facebook.katana]
Según la salida de
pm list packages
Así que el problema parece ser causado por permisos perdidos que se han quedado atrás y están impidiendo que facebook se reinstale.
Listando los permisos de facebook sobre adb obtengo lo siguiente
adb shell pm list permissions | grep facebook
permission:com.facebook.katana.permission.CROSS_PROCESS_BROADCAST_MANAGER
permission:com.facebook.permission.prod.FB_APP_COMMUNICATION
permission:com.facebook.receiver.permission.ACCESS
permission:com.facebook.katana.permission.RECEIVE_ADM_MESSAGE
permission:com.facebook.katana.provider.ACCESS
permission:com.facebook.katana.permission.C2D_MESSAGE
permission:com.facebook.permission.debug.SYSTEM_COMMUNICATION
La desinstalación mediante adb no elimina estos permisos. adb uninstall o adb uninstall -k com.facebook.katana
No veo la entrada parcial de facebook 'no instalado' en settings/apps/downloaded que algunos usuarios reportan. Mi aplicación de configuración, aparentemente personalizada, no permite acceder a las funciones multiusuario, lo que según algunas personas está relacionado con problemas similares.
¿Puedo limpiar estos permisos con adb? pm revoke no lo hará tal vez debido a las limitaciones de Lollipop. Actualmente no tengo acceso Root y soy reacio a Root el teléfono.
adb shell pm revoke com.facebook.katana com.facebook.katana.permission.RECEIVE_ADM_MESSAGE
Operation not allowed: java.lang.SecurityException: Permission com.facebook.katana.permission.RECEIVE_ADM_MESSAGE is not
a changeable permission type
PASOS ADICIONALES DE DIAGNÓSTICO:
Para eliminar la posibilidad de un APK inválido utilicé la aplicación Google Play Store para instalar la aplicación de facebook y al mismo tiempo monitoricé el sistema utilizando logcat en su configuración más detallada. Buscando facebook en el registro se encuentran los siguientes mensajes de error que son muy similares a los errores de instalar el APK directamente arriba:
[ 10-26 01:14:26.615 662: 1360 V/ActivityManager ]
Broadcast: Intent { act=com.android.launcher.action.ACTION_PACKAGE_INSTALLING dat=package:com.facebook.katana flg=0x10 pkg=com.google.android.googlequicksearchbox } ordered=false userid=0 callerApp=ProcessRecord{142b6192 2619:com.android.vending/u0a14}
[ 10-26 01:14:43.492 662: 704 W/PackageManager ]
Package com.facebook.katana attempting to redeclare permission com.facebook.katana.permission.RECEIVE_ADM_MESSAGE already owned by com.facebook.katana
[ 10-26 01:14:43.975 2619: 2619 E/Finsky ]
[1] 2.onReceive: Error -505 while installing com.facebook.katana: INSTALL_FAILED_DUPLICATE_PERMISSION: Package com.facebook.katana attempting to redeclare permission com.facebook.katana.permission.RECEIVE_ADM_MESSAGE already owned by com.facebook.katana
[ 10-26 01:14:43.975 2619: 2619 W/Finsky ]
[1] 3.installFailed: Install failure of com.facebook.katana: -505 null
"permission com.facebook.katana.permission.RECEIVE_ADM_MESSAGE ya propiedad de com.facebook.katana".
¿Significa esto que tengo algún tipo de APK remanente de una instalación anterior de com.facebook.katana (facebook se instaló previamente y luego se desinstaló)? ¿O significa que los permisos del dispositivo aún contienen alguna referencia a una aplicación com.facebook.katana inexistente? ¿Hay alguna otra medida que pueda tomar para diagnosticar este problema?
EDIT - Bloqueo apk parece ser parcialmente desinstalado sistema bloatware facebook aplicación
Si intenta listar paquetes de terceros desinstalados, sus archivos apk e instaladores usando adb:
adb shell pm list packages -f -i -u -3
Veo una entrada para facebook
package:/system/vendor/operator/app/facebook/facebook.apk=com.facebook.katana installer=null
Las únicas otras entradas de terceros en el sistema parecen haber sido bloatware preinstalado en el teléfono. twitterappforzte es un buen ejemplo...
package:/system/vendor/operator/app/CleanMaster/CleanMaster.apk=com.cleanmaster.mguard installer=null
package:/system/vendor/operator/app/twitterappforzte/twitterappforzte.apk=com.twitter.android installer=null
Usando ADB es evidente que hay un archivo apk todavía presente aquí que presumiblemente está bloqueando la nueva instalación:
shell@P182A20:/system/vendor/operator/app/facebook $ ls -l
drwxr-xr-x root shell 2015-03-20 09:30 arm
-rw-r--r-- root root 26450949 2015-03-20 09:30 facebook.apk
facebook no aparece si filtro las aplicaciones desinstaladas listando sólo las desactivadas.
He intentado tirar de este archivo bloatware facebook.apk desde el teléfono a mi disco local y volver a instalar usando adb pero me sale fallos de instalación.
C:\Program Files (x86)\Minimal ADB and Fastboot>adb install facebook.apk
5155 KB/s (26450949 bytes in 5.010s)
pkg: /data/local/tmp/facebook.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]
Intentando desactivar/activar el paquete remanente usando ADB falla con error de seguridad, presumiblemente porque es una aplicación de sistema.
C:\Program Files (x86)\Minimal ADB and Fastboot>adb shell pm disable com.facebook.katana
Error: java.lang.SecurityException: Permission Denial: attempt to change component state from pid=16143, uid=2000, package uid=10098
Enormes deméritos por pésima ingeniería a ZTE aquí. Pre-instalación de facebook y twitter archivos apk con procedencia desconocida que no se puede actualizar y evitar que las versiones actualizadas play store de ser instalado. Gran manera de poner agujeros de seguridad en sus teléfonos.
¿Hay alguna manera de volver a instalar este archivo apk bloatware del sistema que está muy presente todavía? Si no, ¿es posible marcar esta aplicación parcialmente "desinstalada" como desactivada para que no interfiera con las nuevas instalaciones?
2 votos
¿Puedes intentar instalar su APK usando Package installer? Pulse sobre el APK y acepte Instalar. Supongo que puede fallar aquí también, pero estoy interesado en los mensajes de error. Utilice logcat para registrar la instalación.
0 votos
Gracias por la sugerencia, no conocía esta herramienta. Lo intentaré mañana cuando vuelva a tener acceso físico al dispositivo.
0 votos
Intenta hacer un hard reset en tu teléfono, no un restablecimiento de fábrica. Un restablecimiento completo solucionará muchos problemas de Android y conservará los datos, la configuración, etc. Un restablecimiento de fábrica borrará tus datos y configuraciones.
0 votos
Otra pregunta abierta: ¿Obtuvo que
.apk
de una fuente de confianza? El mensaje de error sugiere un "errorManifest
" (con un permiso declarado dos veces) - más bien un indicador de un "contaminado.apk
"(alguien lo manipuló - o el desarrollador original se equivocó; dudo de esto último con una aplicación tan popular como ésta, o ya habíamos oído hablar de ella bastante alto).0 votos
Yo uso el plugin APK downloader para el APK de Facebook desde la web de Google Play Store. Esta parece ser la única alternativa a dejar que el rendimiento de Google Play Store la instalación y en silencio tragar cualquier detalle de error. Hay múltiples informes de Lollipop que sufren de problemas similares con permisos duplicados que impiden la instalación, por ejemplo ohthehugemanatee.org/blog/2015/05/29/
0 votos
Mensajes de error similares al instalar con Android google play store app - ver ediciones a la pregunta anterior.