42 votos

¿Cómo deshacerse de las notificaciones de actualización para una aplicación específica en Google Play Store?

Pregunta general

Tengo una aplicación X instalada en mi dispositivo en la versión Y. No quiero actualizarla a ninguna versión más nueva (Y+z) por alguna razón. Aun así, la aplicación Google Play Store siempre muestra actualizaciones para X, lo que me impide realizar una simple "actualización de todo". Mi pregunta, resumida en una sola oración:

¿Cómo ocultar las actualizaciones de X de forma permanente de la lista de "actualizaciones disponibles"?


Ejemplos específicos

Primero, sé que hay alternativas como por ejemplo la AppBrain Market App, que puede manejar esto bastante bien (omitir esta actualización, omitir todas las futuras actualizaciones). Prefiero una "solución genérica" que no dependa de una aplicación de mercado de terceros.

Segundo, sé que Titanium Backup incluye un "doctor de mercado", que se puede utilizar para desconectar una aplicación de Google Play.1 Sin embargo, en mi caso específico, eso solo funcionó durante unas pocas horas: desconecté GTalk, ya que no quiero que sea reemplazado por Hangouts. La notificación de actualización desapareció durante unas horas, luego volvió. No tengo idea de qué restauró el "vínculo".

Tercero, solo para asegurarme: No estoy hablando de la función "actualización automática" como se discute por ejemplo en ¿Cómo habilitar la actualización automática de Play Store solo para algunas aplicaciones?. Más bien, esperaba algo similar a ¿El google play store no proporciona actualizaciones para aplicaciones congeladas?, pero sin la necesidad de "congelar" la aplicación en cuestión (que aún quiero usar, pero en la versión instalada, no en una "versión futura" disponible).

Cuarto: No, desinstalar la aplicación en cuestión no es una opción aquí, aunque ocultaría perfectamente futuras actualizaciones de ser mostradas :) Tampoco es "congelar", ya que la aplicación se usa regularmente.

Quinto: Hay una pregunta relacionada con mi ejemplo de GTalk: ¿Se actualizan las aplicaciones incluidas en el archivo zip de gApps a través de Google Play? Sin embargo, yo quiero lo contrario: Sin actualización.


Bien podría ser que las "Google Apps" (y otras aplicaciones preinstaladas) se manejen de alguna manera específica, y restauren sus "vínculos de mercado" de alguna forma. Por este caso, mi pregunta incluye: ¿Cómo evitar que eso suceda?


Actualización

Hay un hilo en XDA que discute el mismo problema. Hasta hace poco, un método alternativo para "aplicaciones instaladas por el usuario" era desinstalarlas y luego cargar lateralmente el .apk - pero incluso eso dejó de funcionar. Bueno, volver a firmar el .apk con una clave diferente podría funcionar para aplicaciones de usuario. Pero ambos fallarían para aplicaciones preinstaladas (no se pueden cargar lateralmente para anularlas; una firma diferente rechazaría por completo esa instalación).

Además, hay un problema reportado al respecto por alguien llamado "joel.bou..". No es difícil adivinar, aunque está en blanco: ese sería Joël Bourquard. Si realmente es él, entonces es realmente un problema (para aquellos que no saben: Joël es el desarrollador detrás de Titanium Backup). Permítanme citar del problema:

Para el registro: en los días de Android Market era posible "Adjuntar" o "Desconectar" aplicaciones (en dispositivos con root) con una herramienta del sistema como Titanium Backup. Pero hoy en día (con la aplicación Google Play Store) esto se ha vuelto casi imposible de hacer, porque la lista completa de aplicaciones parece sincronizarse desde los servidores de Google y el usuario no tiene control sobre eso.

Lo cual explica por qué desconectar con aplicaciones como Titanium Backup ya no es permanente. Y temo que he pedido lo imposible. Pero pensé lo mismo en el pasado con otras preguntas, y sorprendentemente obtuve soluciones aquí. ¡Así que aún no renuncio a la esperanza en esta!


1: lo que hace eso está explicado por eldarerathis en esta publicación (¡gracias a Firelord por desenterrar eso!)

2 votos

Gracias por volver a mencionar este tema. Ahora estás convencido de mi opinión sobre las aplicaciones, evidenciado en este hilo que tuvimos el año pasado: Pregunta 39180 -permanently-indicate-to-market-an-application-should-refuse‌​-upgrades

2 votos

Sí, eso está relacionado. Pero lo que geffchang dijo en su respuesta es lo que ya intenté sin éxito: Desvincular la aplicación de Play Store usando Titanium Backup. Obviamente, esto no funciona permanentemente con aplicaciones preinstaladas de Google.

0 votos

@Firelord ¿Podrías resumir eso en una respuesta (preferiblemente con pistas sobre las declaraciones SQL)? No estoy seguro de si lo implementaría (ya veré), pero veo que esto podría funcionar: Las aplicaciones afectadas son conocidas de antemano (incluidos sus nombres de paquete), por lo que se pueden crear "scripts" SQL "estáticos" una vez (uno para cada base de datos). Luego, usa por ejemplo Tasker para que los scripts se ejecuten (con el binario sqlite* contra esas bases de datos) diariamente (opcionalmente: vincúlalo a los scripts de inicio de init.d). Definitivamente vale al menos un +1. Gracias por la pista, y de antemano por la respuesta :)

14voto

Firelord Puntos 161

Notas :

  • OP ya conoce los detalles, pero he elaborado las cosas pensando en otros lectores.
  • He asumido que el dispositivo está rooteado, y mi solución se prueba en Android 4.2, 4.4 y 5.0, todos corriendo Play Store v5.6.8. (¡Lo siento! no pude probarlo en Kitkat pero no hay razón para creer que no funcionaría).

En solución de Craig es en realidad bastante bueno, y si de alguna manera se puede ejecutar (el widget personalizado) con Tasker entonces las cosas irían muy bien.

En respuesta de Anan también puede hacer el trabajo utilizando pm disable <PKG> en Tasker , pero uno no puede usar esa aplicación favorita mientras Play Store esté actualizando la lista, algo que algunos usuarios no preferirían.

Y nunca he probado Droid Changelog así que no puedo hacer comentarios.

Pero tengo otra forma de hacer las cosas, no tan limpia en GUI pero buena. Allá vamos:

Play Store tiene sus bases de datos en /data/data/com.android.vending/databases/ . Hay tres bases de datos que merece la pena tener en cuenta a saber library.db , localappstate.db , package_verification.db .

  • library.db -- tiene una tabla llamada ownership que listaría las aplicaciones que has ever instalados desde Play Store con todas las cuentas de Google Play Store asociadas a ellos. Nota que ever incluye esas aplicaciones también que una vez instalado desde Play Store hace mucho tiempo y desinstalado más tarde.
  • localappstate.db -- esto tiene una tabla llamada appstate que listará todas las aplicaciones de usuario instaladas actualmente en tu dispositivo. Las instaladas desde Play Store también mostrarán el título de la aplicación, pero las cargadas desde el lateral no.
  • package_verification.db -- esta base de datos aparecería si has activado "Verificar aplicaciones" en "Ajustes" de Android. Tiene una tabla llamada verification_cache disponer de una lista de aplicaciones para su verificación.
  • suggestions.db -- no es relevante aquí pero tiene una tabla llamada suggestions tener una lista de todas las búsquedas (palabras clave) que has realizado utilizando la barra de búsqueda de Play Store.

Nota que no tengo ninguna fuente que respalde mi afirmación, aquí todo es experiencia personal. Te animo a que discrepes (con pruebas), para que la calidad de esta respuesta mejore aún más.


Ahora, volvamos a la pregunta. En mi Lollipop, he podido eliminar 37 aplicaciones de la lista de actualización y he dejado sólo una aplicación para la que he utilizado "Actualizar todo" para seguir probando la solución. ¡Funcionó a la perfección!

Los pasos necesarios:

  1. Forzar el cierre del Play Store para evitar cualquier corrupción de datos ya que necesitamos editar su base de datos.

  2. Elimina la propiedad de tu aplicación de library.db : He utilizado sqlite3 (uso Instalador de SQLite para Root si no lo tiene). He utilizado una consulta muy simple que eliminaría un registro (fila) de la base de datos identificando la fila mediante un valor. Para saber más sobre el uso de sqlite3 utilice este recurso .

    El comando general para eliminar la propiedad sería:

    sqlite3 /data/data/com.android.vending/databases/library.db "DELETE from ownership where doc_id='<PKG_NAME>'"

    Sustituir <PKG_name> con el nombre del paquete de su aplicación. Por ejemplo, para Navegador Chrome el nombre del paquete es com.android.chrome .

    Puede encontrar el nombre del paquete de su aplicación utilizando Navegador de aplicaciones o Monitor OS o simplemente remítase a la pregunta: ¿Ver el nombre completo del paquete de la aplicación?

  3. Eliminar más detalles de la aplicación de localappstate.db y package_verification.db : Nota que los dos pasos anteriores hicieron el trabajo en mis dispositivos. Como no quiero que la aplicación aparezca por ningún motivo en la lista de actualizaciones, he borrado todos los detalles de todas las bases de datos mencionadas.

    El comando general para eliminar la información de localappstate.db sería:

    sqlite3 /data/data/com.android.vending/databases/localappstate.db "DELETE from appstate where package_name='<PKG_NAME>'"

    Y, para package_verification.db lo sería:

    sqlite3 /data/data/com.android.vending/databases/package_verification.db "DELETE from verification_cache where package_name='PKG_NAME'"

El núcleo está cubierto. Ahora, en cuanto a la ejecución:

  • Puedes hacer un script
  • Utilice adb shell o adb pull las bases de datos, y hacer la edición en el PC utilizando un software SQLite (como Navegador DB para SQLite )
  • Puedes utilizar aplicaciones como Editor SQLite o Gestor aSQLite para eliminar manualmente los registros de la aplicación
  • Utiliza cualquier aplicación de terminal, como Emulador de terminal para Android -- permite widgets que puedes utilizar como atajo para un comando o un script. Véase mi respuesta para saber cómo hacer ese atajo
  • Utilice Tasker crear perfiles en función del tiempo, la aplicación o cualquier perfil que le convenga
  • Conecta tu script en el arranque, aunque no lo he probado, así que pregunta a OP

Sin embargo, la aplicación no aparecerá en la lista de aplicaciones instaladas ni en la de actualizaciones, pero sí en "Todas", en "Mis aplicaciones". Play Store . No uso mucho esta tienda, así que ya no probé otras configuraciones de la misma.

Además, es posible que observe que si antes había desmarcado "Actualizaciones de aplicaciones disponibles" en Play Store y lo compruebas después de ejecutar dichos comandos, se activará una sincronización y tus cambios, como es obvio, se perderían.

Además, ten en cuenta que Google guarda toda la información en sus servidores. Así que tarde o temprano, las bases de datos se actualizarán. En mi dispositivo Lollipop, esperé alrededor de 24 horas y no vi cambios en las bases de datos, pero YMMV.


Para dispositivos sin root

Es una teoría y no voy a afirmar que funcione, pero puedes intentarlo:

  1. Forzar cierre y toma adb backup de Play Store .

  2. Extraer la copia de seguridad y realizar los cambios necesarios en las bases de datos.

  3. Empaqueta los archivos modificados en un nuevo archivo de copia de seguridad y restáuralos en el dispositivo.

    Si no sabes cómo desempaquetar y empaquetar una copia de seguridad ADB en PC, echa un vistazo a <a href="https://github.com/nelenkov/android-backup-extractor" rel="nofollow noreferrer">Extractor de copias de seguridad de Android (ABE) </a>(necesita <a href="https://java.com/en/download/manual.jsp" rel="nofollow noreferrer">Entorno de ejecución de Java </a>y tiene <code>README.txt</code> para su uso) que desempaquetaría el <code>.ab</code> en un archivo <code>.tar</code> que luego podrás extraer con un archivador como Ark, 7zip, WinRAR, etc.

    Puede utilizar <a href="http://sqlitebrowser.org/" rel="nofollow noreferrer">Navegador DB para SQLite </a>realizar cambios en las bases de datos que se encuentran dentro del contenido extraído (probablemente) <code>apps/com.android.vending/db/</code> .

    También, usted puede echar un vistazo a Android copia de seguridad relacionados con puestos tales como <a href="https://android.stackexchange.com/q/28481/16575">este </a>, <a href="https://android.stackexchange.com/a/23608/16575">este </a>y <a href="https://github.com/IzzySoft/Adebar" rel="nofollow noreferrer">Adebar </a>-- todo sugerido por <a href="https://android.stackexchange.com/users/16575/izzy">Izzy </a>.

  4. Comprueba si la aplicación ha desaparecido de la lista de actualizaciones.

  5. Si tiene éxito en el paso 4, a continuación, ejecute ADB de forma inalámbrica para ejecutar los pasos 1-4 en el propio dispositivo Android (de alguna manera) en lugar de utilizar un PC -- esto podría ser muy útil en Tasker si tienes éxito.

  6. Bueno, si consigues llegar hasta el paso 4 o 5, quizás también puedas responder: ¿Cómo puedo eliminar aplicaciones de la lista de actualizaciones de Play Store? :)


Edita:

Bueno, no soy el único que lo ha descubierto así:

  1. Android: Deja de querer actualizar Skype -- muy parecido con la parte del guión añadida, pero sin razonamiento por supuesto
  2. (Requiere Root) Para futuras referencias como actualizar Ingress sin esperar el rollout. -- no es lo suficientemente bueno porque library.db es el principal culpable
  3. Obtener el nombre del paquete de una aplicación
  4. [WIP] Sin Sonido de Llamada, bloquear Servicios de Reproducción de Actualización Automática.

0 votos

Respuesta muy detallada, Firelord: ¡la votaría varias veces si pudiera! Definitivamente probaré esto tan pronto como el tiempo lo permita y tal vez agregue mi experiencia/consejos adicionales luego. // En cuanto a dispositivos no root, estaría atascado en el paso 3. ¿Hay más información/enlace sobre cómo lograr eso? Tenemos un extenso post sobre eso aquí, pero parece complicado. Para el #2, hay este post, y por supuesto ab2tar en Adebar ;)

0 votos

@Izzy ¡Gracias! Los enlaces a las publicaciones que mencionaste se refieren a ABE (Android Backup Extractor). Puede empacar y desempacar muy fácilmente. Todo lo que necesitas es Java Runtime Environment. // Y podría haber ido más lejos porque no me gusta dejar cabos sueltos, pero mi adb restore se detiene abruptamente en mis dispositivos para cualquier restauración de aplicaciones, así que realmente no puedo probar mi propia teoría. :/

0 votos

Ay, eso está mal. Todavía podrías querer integrar un enlace a ABE en los pasos 2 y 3 en tu respuesta. Y por supuesto, una vez que se resuelva ese problema con tus dispositivos, todos estaremos felices viendo cómo "arreglas ese cabo suelto" :)

8voto

Leather Puntos 177

Este es un problema para mí con un par de aplicaciones también, específicamente una aplicación de linterna, donde la versión más reciente no funciona bien con Lollipop, pero la versión anterior sí.

Mi solución a esto en el pasado fue usar Change Droid, pero como se mencionó anteriormente, si abres la tienda de aplicaciones puede regresar.

Actualmente la solución que uso es ejecutar una tarea programada desde Titanium Back up para desvincular la aplicación del mercado. Actualmente lo ejecuto 4 veces al día. Se ejecuta en segundo plano en el momento programado y, por lo tanto, cuando reviso la Play Store en busca de actualizaciones, no está.

Tendré que investigarlo, pero puede/debería haber una manera de ejecutar la tarea cuando la tienda de aplicaciones está abierta...no estoy seguro.

----Edición---- Algunos han pedido más detalles sobre la configuración de TB...

Primero tienes que crear un filtro solo selecciona las aplicaciones que deseas desvincular. Accedes a esto en el menú. Agregas los "Elementos" o aplicaciones al filtro, de modo que solo las aplicaciones seleccionadas se vean afectadas. Asegúrate de no ejecutar la desvinculación con todo seleccionado y sin aplicar un filtro :)

Captura de pantalla Captura de pantalla

Luego, debes programar con el filtro aplicado al horario.

Captura de pantalla Captura de pantalla

Como puedes ver, esto es solo para un evento programado l-m, a las 4am

Cuando esté completo, tu tarea programada se verá algo así

Captura de pantalla

Tendrás que replicar esto y cambiar la hora dependiendo de cuántas veces quieras que ocurra.

Tengo el mío programado para las 4am, 8am, mediodía y 4pm. Parece funcionar para mí.

Espero que esto lo aclare un poco más. Si exploras TB, estoy seguro de que con estas capturas de pantalla, podrás resolverlo.

Craig

0 votos

He utilizado esta solución durante algunos días pero siempre recibo un mensaje de Titanium en la barra de información después de hacerlo. Un poco molesto y también 4 tareas (en mi planificador) no eran suficientes, a veces la actualización volvía a ser visible. Por ahora prefiero la solución de línea de comandos de Firelord que puede hacerse con Tasker totalmente en segundo plano y funciona bien :)

3voto

tovare Puntos 1896

Con la siguiente solución:

  1. No dependes de una aplicación de mercado de terceros.
  2. Se puede configurar para evitar las notificaciones de actualización de Google Play.
  3. Puedes revertir el "bloqueo de actualización" de la aplicación cuando quieras (permitiéndote actualizar aplicaciones a versiones futuras).
  4. No desinstala ni congela las aplicaciones que usas.
  5. Funciona también con Gapps.

Hay una aplicación gratuita llamada Changelog Droid (anteriormente era una aplicación freemium, ahora tiene todas las funcionalidades de forma gratuita). A través de ella, puedes gestionar las actualizaciones de tus otras aplicaciones, actuando como un intermediario con Google Play.

La ventaja es que puedes enviar aplicaciones a una lista negra, omitiendo mostrar actualizaciones temporalmente o "permanentemente" (hasta que cambies de opinión). También puedes seguir las actualizaciones de aplicaciones que has desinstalado o nunca has instalado pero deseas observar. Acompaño esta respuesta con algunas capturas de pantalla (identificando con colores la navegación por las distintas pantallas) para que te des cuenta de cómo funciona.

Cómo poner en la lista negra una aplicación Aplicaciones en la lista negra Aplicaciones en la lista blanca

Cómo quitar una aplicación de la lista negra Menú de opciones Preferencias

Cómo evitar las notificaciones de Google Play Permitir acceso a las notificaciones para Changelog Droid Mostrar aplicaciones del sistema (Gapps)

Seleccionar Gapps a mostrar

La única desventaja es que cuando abres Play Store, ya sea directamente o desde esta aplicación, se mostrarán todas las aplicaciones (incluidas aquellas que no deseabas actualizar, ya que la aplicación que aplica el filtro es Changelog Droid y no Google Play en sí, esto era de esperarse).

Google Play sigue mostrando todas las aplicaciones

Pero en Changelog Droid puedes acceder a cada aplicación en Google Play con un botón y luego actualizarla individualmente.

Lo siento: actualmente no hay opción para actualizar todas las aplicaciones permitidas de una sola vez desde Changelog Droid, pero tal vez el desarrollador podría implementarlo eventualmente.

Nota: aún no he probado el escenario que describes (ya he actualizado/reemplazado Talk/Hangouts), pero podría funcionar en tu caso. Solo recuerda no abrir la vista de Mis aplicaciones en Google Play para que no desencadene la actualización automática de aplicaciones.

1 votos

¡Muchas gracias, Francisco! Eso me recuerda mucho a AppBrain Market App como era hace años (no lo he probado recientemente, ya que su propio instalador fue desactivado). En aquel entonces, cuando todavía funcionaba su "instalador web rápido", incluso podías activar la "actualización de todo" en la lista filtrada... Por cierto: visitar "Mis aplicaciones" no activaba ninguna actualización para mí, ya que he desactivado por completo las actualizaciones automáticas. Supongo que probaré tu solución, en cuanto el tiempo lo permita ;)

1voto

rubayeet Puntos 3015

Desactiva la aplicación en la configuración principal de la aplicación o en el administrador de aplicaciones, y abre la tienda de Google Play y la aplicación no debería aparecer en la lista. Actualiza todo y simplemente vuelve a habilitar la aplicación cuando la actualización de todo esté completa. Tengo el mismo problema, una aplicación de mensajes de texto que si actualizo, obtengo anuncios feos.. Esta es mi solución alternativa

1 votos

Mientras esto podría funcionar, está lejos de ser conveniente (implica demasiados pasos, especialmente si hay varias aplicaciones involucradas).

0 votos

Podría automatizarse con Tasker

1voto

srikanth Puntos 21

Entiendo que este es un hilo antiguo. Y comprendo que Ti Backup solía funcionar para desvincular una aplicación de Play Store. Pero también entiendo que esto ya no funciona. Para aquellos que estén interesados, he creado una aplicación que hace un buen trabajo en esto. Se llama Ocultar Actualizaciones en Play Store, y está disponible por aproximadamente USD 1. Hay un video mostrando la aplicación en funcionamiento. Requiere acceso root.

2 votos

¡Gracias por tus esfuerzos, David! Pero no me gustan los efectos secundarios que tiene, por ejemplo, en aplicaciones con compras dentro de la aplicación o en la lista de mis aplicaciones. Mientras tanto, me he acostumbrado a ver siempre 7 actualizaciones que no me importan, aunque desearía que Google agregara una opción como la que tiene AppBrain en su aplicación: saltarse una (o todas) las actualizaciones para una determinada aplicación. Y por cierto: Gracias por la apertura (la divulgación de que es tu aplicación). Me he tomado la libertad de agregar el enlace, pero también mencionar el precio.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X