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. Aún así, la aplicación Google Play Store siempre enumera las actualizaciones para X, lo que me evita una simple "actualizar todo". Mi pregunta, en una sola oración:
¿Cómo ocultar permanentemente las actualizaciones para X 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 (omita esta actualización, omita todas las actualizaciones futuras). Yo prefiero una "solución genérica", que no depende de un 3 rd aplicación de mercado de las partes.
En segundo lugar, sé que Titanium Backup incluye un "Market doctor", que se puede usar para desconectar una aplicación de Google Play . 1 Sin embargo, en mi caso específico que solo funcionó durante unas horas: desconecté GTalk , ya que no quiero que sea reemplazado por Hangouts . La notificación de actualización desapareció por unas horas, luego regresó. No tengo idea de qué restauró el "enlace".
En tercer lugar, sólo para asegurarse de: estoy no hablar de la función de "actualización automática", como por ejemplo discutido en Cómo habilitar Play Store de actualización automática por unos pocos aplicaciones? . Esperaba algo parecido a ¿Google Play Store no proporciona actualizaciones para aplicaciones congeladas? , pero sin la necesidad de "congelar" la aplicación en cuestión (que todavía quiero usar, pero en la versión instalada, no en una "versión futura" disponible).
Cuarto: no, la desinstalación de la aplicación en cuestión no es una opción aquí, aunque ocultaría perfectamente cualquier actualización futura para que no se muestre :) Tampoco se está "congelando", ya que la aplicación se usa regularmente.
Quinto: hay una pregunta relacionada con mi ejemplo de GTalk: ¿las aplicaciones incluidas en el zip de gApps se actualizan a través de Google Play? Sin embargo, quiero lo contrario: sin actualización.
Es muy posible que las "Google Apps" (y otras aplicaciones preinstaladas) se manejen de alguna manera específica y restablezcan sus "enlaces de mercado" de alguna manera. Para este caso, mi pregunta incluye: ¿Cómo evitar que eso suceda?
Actualizar
Hay un hilo en XDA que discute el mismo problema. Hasta hace poco, una solución alternativa para las "aplicaciones instaladas por el usuario" era desinstalarlas y luego descargarlas .apk
, pero incluso eso dejó de funcionar. Bueno, volver a firmar .apk
con una clave diferente podría funcionar para las aplicaciones de usuario. Pero ambas fallarían para las aplicaciones preinstaladas (no se pueden cargar para anularlas; una firma diferente rechazaría esa instalación por completo).
Además, hay un problema presentado al respecto por algunos "joel.bou ..". No es difícil de adivinar, aunque quedó en blanco: ese sería Joël Bourquard. Si realmente es él, entonces ese es realmente un problema (para aquellos que no saben: Joël es el desarrollador detrás de Titanium Backup ). Permítanme citar el tema:
Para el registro: en los días de Android Market era posible "Adjuntar" o "Separar" aplicaciones (en dispositivos rooteados) 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 que explica por qué la separación con aplicaciones como Titanium Backup ya no es permanente. Y me temo que he preguntado lo imposible. Pero pensé lo mismo en el pasado con otras preguntas, y sorprendentemente obtuve soluciones aquí. ¡Así que todavía no pierdo la esperanza en este!
1: lo que eso hace es explicado por eldarerathis en esta publicación (¡gracias a Firelord por desenterrar eso!)
sqlite*
binario en esas bases de datos) diariamente (opcionalmente: vincúlelos a los scripts de inicio init.d). Definitivamente vale la pena un +1 al menos. Gracias por la pista - y de antemano por la respuesta :)eldarerathis ♦
ha explicado aquí qué hace realmente esa "Separación del mercado" en TiBa (ediciónlocalappstate.db
). Es posible que desee incluir el enlace de esa respuesta a su pregunta.Respuestas:
Notas :
(¡Lo siento! No pude probarlo en Kitkat, pero no hay razón para creer que no funcionaría).La solución de Craig es bastante buena, y si de alguna manera se puede ejecutar (el widget personalizado) con Tasker , las cosas saldrían muy bien.
La respuesta por Anan también puede hacer el trabajo mediante el uso
pm disable <PKG>
de Tasker , pero no se puede usar esa aplicación favorita siempre que el Play Store es la actualización de la lista, que algunos usuarios no preferirían.Y nunca he probado Changelog Droid , así que no puedo comentar.
Pero tengo otra forma de hacer las cosas, no tan limpio en la GUI pero bueno. Aquí vamos:
Play Store tiene sus bases de datos bajo
/data/data/com.android.vending/databases/
. Hay tres bases de datos que vale la pena considerar a saber.library.db
,localappstate.db
,package_verification.db
.library.db
- que tiene una tabla llamadaownership
que lista las aplicaciones que has vez instalado desde Play Store con toda la Google Play Store cuentas asociadas a ellos. Nota que cada vez incluye esas aplicaciones también que una vez instalado desde Play Store hace mucho tiempo y desinstalado después.localappstate.db
- esto tiene una tabla llamadaappstate
que enumeraría todas las aplicaciones de usuario ahora instaladas actualmente en su dispositivo. Los instalados desde Play Store también mostrarán el título de la aplicación, pero los de carga lateral no.package_verification.db
- esta base de datos aparecerá si ha habilitado "Verificar aplicaciones" en "Configuración" de Android. Tiene una tabla llamadaverification_cache
lista de aplicaciones para verificación.suggestions.db
- no es relevante aquí, pero tiene una tabla llamada quesuggestions
tiene una lista de todas las búsquedas (palabras clave) que ha realizado utilizando la barra de búsqueda de Play Store.Tenga en cuenta que no tengo una fuente para respaldar mi reclamo, aquí todo es experiencia personal. Se le anima a estar en desacuerdo (con evidencia), para que la calidad de esta respuesta se pueda mejorar aún más.
Ahora, volviendo a la pregunta. En mi Lollipop, pude eliminar 37 aplicaciones de la lista de actualizaciones y solo dejé una aplicación para la que usé "Actualizar todo" para probar aún más la solución. ¡Funcionó perfectamente!
Los pasos requeridos:
Fuerce el cierre de Play Store para evitar la corrupción de datos, ya que necesitamos editar su base de datos.
Elimine la propiedad de su aplicación de
library.db
: He usadosqlite3
(use el instalador SQLite para Root si no lo tiene). He usado una consulta muy simple que eliminaría un registro (fila) de la base de datos al identificar la fila usando un valor. Para saber aún más el uso de lasqlite3
utilización de este recurso .El comando general para eliminar la propiedad sería:
Reemplace
<PKG_name>
con el nombre del paquete de su aplicación. Por ejemplo, para el navegador Chrome, el nombre del paquete escom.android.chrome
.Puede encontrar el nombre del paquete de su aplicación usando el Navegador de aplicaciones o el Monitor del sistema operativo , o simplemente consulte la pregunta: ¿ Ver el nombre completo del paquete de la aplicación?
Elimine los detalles adicionales de la aplicación
localappstate.db
ypackage_verification.db
: Tenga en cuenta 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 eliminado todos los detalles de todas las bases de datos mencionadas.El comando general para eliminar la información
localappstate.db
sería:Y, para
package_verification.db
, sería:El núcleo está cubierto. Ahora, en cuanto a la ejecución:
adb shell
, oadb pull
las bases de datos, y edite en la PC usando un software SQLite (como DB Browser for SQLite )Sin embargo, la aplicación no se mostrará en las aplicaciones instaladas o en la lista de actualizaciones, pero definitivamente aparecerá en "Todos" en "Mis aplicaciones" en Play Store . No uso mucho esta tienda, así que ya no probé otras configuraciones.
Además, puede observar que si anteriormente había desmarcado "Actualizaciones de aplicaciones disponibles" en la configuración de Play Store , y lo verifica después de ejecutar dichos comandos, activará una sincronización y sus cambios, como es obvio, se perderán.
Además, tenga en cuenta que Google tiene toda la información en sus servidores. 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 no rooteados
Es una teoría y no afirmaré que funcionaría, pero puedes intentarlo:
adb backup
de Play Store .Empaquete los archivos modificados en un nuevo archivo de copia de seguridad y restaúrelos en el dispositivo.
Si no tiene conocimiento de desempaquetar y empaquetar una copia de seguridad ADB en la PC, eche un vistazo a Android Backup Extractor (ABE) (necesita Java Runtime Environment y tiene
README.txt
uso) que descomprimiría el.ab
archivo en un archivo.tar
que luego puede extraer usando un archivador como Ark, 7zip, WinRAR y más.Puede usar DB Browser para SQLite para realizar cambios en las bases de datos que se encuentran dentro del contenido extraído (probablemente)
apps/com.android.vending/db/
.Además, puede echar un vistazo a las publicaciones relacionadas con la copia de seguridad de Android como this , this y Adebar , todas sugeridas por Izzy .
Vea si la aplicación ha desaparecido de la lista de actualizaciones.
Editar:
Bueno, no soy el único que lo descubrió de esta manera:
library.db
es el principal culpablefuente
ab2tar
por supuesto en Adebar ;)adb restore
abruptamente se cierra en mis dispositivos para cualquier restauración de la aplicación, por lo que realmente no puedo probar mi propia teoría. : /Este es un problema para mí con un par de aplicaciones también, específicamente una aplicación de luz de antorcha, donde la versión más nueva no funciona bien con Lollipop, pero la versión anterior sí.
Mi solución a esto en el pasado era usar Change Droid, pero como se ha dicho anteriormente, si abres Play Store, puede volver.
Actualmente, la solución que uso es ejecutar una tarea programada desde Titanium Back up para separar la aplicación del mercado. Actualmente ejecuto esto 4 veces al día. Se ejecuta en segundo plano a la hora programada y, por lo tanto, cuando busco actualizaciones en Play Store, no está allí.
Tendré que investigarlo, pero puede / debería haber una forma de ejecutar la tarea cuando Play Store está abierta ... no estoy seguro.
---- Editar ---- Algunos han pedido más detalles sobre la configuración de TB ...
Primero debe crear un filtro, solo seleccione las aplicaciones que desea separar. Accede a esto en el menú. Agregue los "Elementos" o aplicaciones al filtro, de modo que solo las aplicaciones seleccionadas se vean afectadas. Asegúrese de no ejecutar la separación con todo seleccionado y sin filtro aplicado :)
A continuación, debe realizar la programación con el filtro aplicado a la programación.
Como puede ver, esto es solo para un evento programado ms, a las 4 a.m.
Cuando esté completa, su tarea programada se verá así
Tendrá que replicar esto y cambiar el tiempo dependiendo de cuántas veces quiera que suceda.
Tengo el mío configurado para las 4 a.m. a 8 a.m. mediodía y a las 4 p.m. Parece funcionar para mi.
Espero que esto lo aclare un poco más. Si utiliza la TB, estoy seguro de que con estas capturas de pantalla, puede resolverlo.
Craig
fuente
Con la siguiente solución:
Hay una aplicación gratuita llamada Changelog Droid (anteriormente era una aplicación freemium, ahora tiene una funcionalidad completa de forma gratuita). A través de él, puede administrar las actualizaciones de sus otras aplicaciones, siendo un intermediario con Google Play.
La ventaja es que puede enviar aplicaciones a una lista negra , omitiendo mostrar actualizaciones temporalmente o "permanentemente" (hasta que cambie de opinión). También puede seguir las actualizaciones de las aplicaciones que ha desinstalado o que nunca ha instalado pero que desea observar. Acompaño esta respuesta con algunas capturas de pantalla (identificando con colores las diferentes pantallas de navegación) para que te des cuenta de cómo funciona.
El único inconveniente es que cuando abre Play Store, ya sea directamente o desde esta aplicación, se mostrarán todas las aplicaciones (incluidas las que no desea actualizar, ya que la que aplica el filtro es Changelog Droid y no Google Play, esto se esperaba)
Pero en Changelog Droid puede acceder a cada aplicación en Google Play con un botón y luego actualizarla individualmente.
Lo sentimos: actualmente no hay una opción para actualizar todas las aplicaciones permitidas en un solo paso desde Changelog Droid, pero quizás el desarrollador pueda implementarlo eventualmente.
Nota: Todavía no he probado el escenario que describe (ya he actualizado / reemplazado Talk / Hangouts), pero podría funcionar en su caso. Solo recuerde no abrir la vista Mis aplicaciones de Google Play para que no active la actualización automática de aplicaciones.
fuente
Deshabilite la aplicación en la configuración principal de la aplicación, o en el administrador de aplicaciones, y abra Play Store y la aplicación no debería aparecer en la lista. Actualice todo y simplemente vuelva a habilitar la aplicación cuando la actualización esté completa. Tengo el mismo problema, una aplicación de mensajes de texto que si actualizo, obtengo anuncios feos. Este es mi trabajo
fuente
Sé que es un viejo tema. Y entiendo que Ti Backup solía funcionar para separar 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 al respecto. Se llama Ocultar actualizaciones en Play Store y está disponible por ~ USD 1. Hay un video que muestra la aplicación en funcionamiento. Requiere raíz.
fuente
La solución que he encontrado para los usuarios root es simplemente volver a firmar el apk (que se encuentra en
/data/app/
su carpeta TitaniumBackup después de la copia de seguridad) con ZipSigner y reinstalarlo.fuente
Intenté usar la aplicación "Administrador de permisos" (creo que debe estar rooteado). Deshabilito un permiso que no es importante para la aplicación que no quiero actualizar (por ejemplo, permiso de vibración deshabilitado en ES File Explorer y wakelock en Quickpic). El Administrador de permisos vuelve a compilar la aplicación, desinstala el original y vuelve a instalar la aplicación recién compilada. Después de hacer esto, abrí Play Store y el recordatorio de actualización desapareció.
fuente
.apk
archivos originales (y sí, hay varias aplicaciones disponibles: para las aplicaciones que ha instalado usted mismo, probablemente no necesitará root, pero para trabajar en las aplicaciones del sistema lo haría). Lo consideraría una solución alternativa, pero no es un enfoque que adoptaría. ¡Gracias de cualquier manera!Otro candidato acaba de aparecer en el horizonte. Todavía no lo he probado, pero suena muy prometedor: StorePrefs .
Al ser un módulo Xposed , debería poder solucionar los defectos de las otras soluciones que hemos tenido hasta ahora:
adb shell
.apk
archivosComo eliminé mis dispositivos y ya no uso la aplicación Playstore, no puedo verificarlo, por lo que los comentarios de aquellos que sí pueden son bienvenidos :)
fuente
Al igual que la copia de seguridad de titanio, también puede desvincular la aplicación de Google Play Store con 3C Toolbox . Esto parece ser, hasta ahora, permanente. Raiz necesario.
fuente