Question générale
J'ai une application X installée sur mon appareil en version Y. Je ne souhaite pas la mettre à jour vers une version plus récente (Y + z) pour une raison quelconque. Néanmoins, l'application Google Play Store répertorie toujours les mises à jour pour X, ce qui me préserve d'une simple "mise à jour de tous". Ma question, posée en une seule phrase:
Comment masquer les mises à jour pour X de manière permanente dans la liste "mises à jour disponibles"?
Exemples spécifiques
Premièrement, je sais qu'il existe des alternatives, comme par exemple l'application AppBrain Market , qui peut très bien gérer cela (ignorez cette mise à jour, toutes les futures mises à jour). Je préfère une « solution générique », qui ne dépend pas d'un 3 e app parti du marché.
Deuxièmement, je sais que Titanium Backup inclut un "docteur du marché", qui peut être utilisé pour déconnecter une application de Google Play . 1 Cependant, dans mon cas spécifique, cela n'a fonctionné que pendant quelques heures: j'ai déconnecté GTalk , car je ne souhaite pas le remplacer par Hangouts . La notification de mise à jour a disparu pendant quelques heures, puis a été renvoyée. Aucune idée de ce qui a restauré le "lien".
Troisièmement, juste pour être sûr: je ne parle pas de la fonctionnalité de "mise à jour automatique" comme indiqué dans Comment activer la mise à jour automatique du Play Store pour seulement quelques applications? . J'espérais plutôt quelque chose de proche de Google Play Store ne fournit-il pas de mises à jour pour les applications gelées? , mais sans qu'il soit nécessaire de "geler" l'application en question (que je souhaite toujours utiliser, mais dans la version installée, et non dans une "version future" disponible).
Quatrièmement: Non, la désinstallation de l'application en question n'est pas une option, même si elle cacherait parfaitement les futures mises à jour. :) Le «gel» n'est pas non plus, l'application étant utilisée régulièrement.
Cinquièmement: il existe une question connexe pour mon exemple GTalk: les applications incluses dans le zip de gApps sont-elles mises à jour via Google Play? Cependant, je veux le contraire: pas de mise à jour.
Il se peut très bien que "Google Apps" (et d'autres applications pré-installées) soient gérés d'une manière spécifique et restaurent eux-mêmes leurs "liens de marché". Dans ce cas, ma question comprend: Comment empêcher cela de se produire?
Mise à jour
Il y a un fil à XDA discuter de la même question. Jusqu'à récemment, un moyen de contourner les "applications installées par l'utilisateur" consistait à les désinstaller, puis à les charger de côté .apk
- mais cela ne fonctionnait même plus. Re-signer la .apk
avec une clé différente pourrait fonctionner pour les applications utilisateur. Mais les deux échoueraient pour les applications pré-installées (vous ne pouvez pas les charger de côté pour les remplacer; une signature différente refuserait complètement cette installation).
De plus, un problème a été déposé à ce sujet par "joel.bou ..". Pas difficile à deviner, bien que masqué: ce serait Joël Bourquard. Si c'est vraiment lui, alors c'est vraiment un problème (pour ceux qui ne le savent pas: Joël est le développeur derrière Titanium Backup ). Permettez-moi de citer le problème:
Pour mémoire: à l'époque d'Android Market, il était possible de "joindre" ou de "détacher" des applications (sur des appareils enracinés) avec un outil système tel que Titanium Backup. Mais de nos jours (avec l'application Google Play Store), cela est devenu presque impossible, car la liste complète des applications semble se synchroniser à partir des serveurs de Google et l'utilisateur n'a aucun contrôle sur cela.
Ce qui explique pourquoi le détachement avec des applications telles que Titanium Backup n'est plus permanent. Et j'ai peur d'avoir demandé l'impossible. Mais je pensais la même chose dans le passé avec d'autres questions, et étonnamment, j'ai trouvé des solutions ici. Je ne perds donc pas espoir en celui-ci!
1: ce que cela fait est expliqué par eldarerathis dans ce post (merci à Firelord pour avoir déterré ça!)
sqlite*
binaire par rapport à ces bases de données) quotidiennement (éventuellement: associez-le aux scripts de démarrage init.d). Vaut vraiment un +1 au moins. Merci pour l'allusion - et d'avance pour la réponse :)eldarerathis ♦
a expliqué ici qu'est-ce que "Détachement du marché" dans TiBa fait réellement (éditionlocalappstate.db
). Vous voudrez peut-être inclure le lien de cette réponse à votre question.Réponses:
Notes :
(Désolé! Impossible de le tester sur Kitkat mais aucune raison de croire que cela ne fonctionnerait pas.)La solution de Craig est en fait assez bonne, et si elle peut être exécutée (le widget personnalisé) avec Tasker , les choses iraient très bien.
La réponse par Anan peut aussi faire le travail en utilisant
pm disable <PKG>
dans Tasker , mais on ne peut pas utiliser cette application préférée aussi longtemps que le Play Store est mise à jour la liste, que certains utilisateurs ne préfèrent.Et je n'ai jamais essayé Changelog Droid , je ne peux donc pas en parler.
Mais j'ai un autre moyen de faire les choses, pas si propre dans l'interface graphique, mais bon. Et c'est parti:
Play Store a ses bases de données sous
/data/data/com.android.vending/databases/
. Il existe trois bases de données à considérer, à savoir.library.db
,localappstate.db
,package_verification.db
.library.db
- il comporte une table nomméeownership
qui répertorie les applications que vous avez déjà installées à partir de Play Store avec tous les comptes Google Play Store qui leur sont associés. Notez que jamais inclut les applications aussi que vous avez déjà installé de Play Store il y a longtemps et désinstallés plus tard.localappstate.db
- sa table nomméeappstate
répertorie toutes les applications utilisateur actuellement installées sur votre appareil. Ceux installés à partir de Play Store afficheront également le titre de l'application, mais pas ceux qui sont chargés de manière latérale.package_verification.db
- Cette base de données s'afficherait si vous avez activé "Vérifier les applications" sous "Paramètres" d'Android. Il a une table nomméeverification_cache
ayant la liste des applications pour la vérification.suggestions.db
- non pertinent ici mais il contient une table nomméesuggestions
contenant une liste de toutes les recherches (mots-clés) que vous avez effectuées à l'aide de la barre de recherche du Play Store.Notez que je n'ai aucune source pour soutenir ma réclamation, c'est toute l'expérience personnelle ici. Vous êtes encouragé à ne pas être d'accord (avec des preuves), afin que la qualité de cette réponse puisse être encore améliorée.
Revenons maintenant à la question. Sur ma Lollipop, j'ai pu supprimer 37 applications de la liste des mises à jour et je n'ai laissé qu'une application pour laquelle j'ai utilisé «Tout mettre à jour» pour tester plus avant la solution. Cela a fonctionné parfaitement!
Les étapes requises:
Forcer la fermeture du Play Store pour éviter toute corruption des données car nous devons éditer sa base de données.
Supprimez la propriété de votre application de
library.db
: J'ai déjà utilisésqlite3
(utilisez le programme d' installation de SQLite pour Root si vous ne le possédez pas). J'ai utilisé une requête très simple qui supprime un enregistrement (ligne) de la base de données en identifiant la ligne à l'aide d'une valeur. Pour en savoir plus l' utilisation de l'sqlite3
utilisation de cette ressource .La commande générale pour supprimer la propriété serait:
Remplacez-le
<PKG_name>
par le nom du package de votre application. Par exemple, pour le navigateur Chrome, le nom du package estcom.android.chrome
.Vous pouvez trouver le nom du package de votre application à l'aide du navigateur de l'application ou du moniteur OS , ou simplement vous reporter à la question: Afficher le nom complet du package de l'application?
Supprimer les détails supplémentaires de l'application de
localappstate.db
etpackage_verification.db
: Notez que les deux étapes ci-dessus ont fonctionné dans mes appareils. Puisque je ne veux pas que l'application apparaisse pour une raison quelconque dans la liste des mises à jour, j'ai purgé tous les détails de toutes les bases de données susmentionnées.La commande générale pour supprimer les informations
localappstate.db
serait:Et, pour
package_verification.db
, ce serait:Le noyau est couvert. Maintenant, en ce qui concerne l'exécution:
adb shell
, ouadb pull
les bases de données, et éditer sur PC en utilisant un logiciel SQLite (comme DB Browser pour SQLite )L'application n'apparaîtra pas dans la liste des applications installées ou des mises à jour, mais elle apparaîtra certainement dans "Tous" sous "Mes applications" dans Play Store . Je n'utilise pas beaucoup ce magasin, je n'ai donc plus testé d'autres paramètres.
En outre, vous pouvez noter que si vous avez déjà coché "Mises à jour de l'application disponibles" dans les paramètres du Play Store et que vous le cochez après l'exécution desdites commandes, une synchronisation sera déclenchée et vos modifications, comme évidentes, seront perdues.
Sachez également que Google conserve toutes les informations sur leurs serveurs. Donc, tôt ou tard, les bases de données vont être mises à jour. Dans mon appareil Lollipop, j'ai attendu environ 24 heures et je n'ai constaté aucun changement dans les bases de données, à l'exception de YMMV.
Pour les appareils non rootés
C'est une théorie et je ne prétends pas que cela fonctionnerait, mais vous pouvez essayer:
adb backup
du Play Store .Compressez les fichiers modifiés dans un nouveau fichier de sauvegarde et restaurez-les dans l'appareil.
Si vous ne savez pas comment décompresser et compresser une sauvegarde ADB sur un PC, jetez un coup d’œil à Android Backup Extractor (ABE) (il a besoin de Java Runtime Environment et a
README.txt
pour son utilisation) qui décompresserait le.ab
fichier dans un fichier.tar
que vous pourrez ensuite extraire. en utilisant un archiveur comme Ark, 7zip, WinRAR, etc.Vous pouvez utiliser DB Browser for SQLite pour apporter des modifications (probablement) aux bases de données contenues dans le contenu extrait
apps/com.android.vending/db/
.Vous pouvez également consulter les publications relatives aux sauvegardes Android telles que this , this et Adebar - toutes suggérées par Izzy .
Voir si l'application est partie de la liste de mise à jour.
Modifier:
Eh bien, je ne suis pas le seul à l'avoir compris de cette façon:
library.db
c'est le principal coupablela source
ab2tar
dans Adebar ;)adb restore
ordinateur se ferme brusquement sur mes appareils pour toute restauration d'application. Je ne peux donc pas vraiment tester ma propre théorie. : /C’est un problème pour moi avec quelques applications également, en particulier une application à lampe torche où la dernière version ne fonctionne pas bien avec Lollipop, contrairement à la version précédente.
Ma solution à ce problème dans le passé consistait à utiliser Change Droid, mais comme il a été dit plus haut, si vous ouvrez le magasin de jeu, il peut revenir.
Actuellement, la solution que j'utilise consiste à exécuter une tâche planifiée à partir de Titanium Back up pour détacher l'application du marché. Je cours actuellement 4 fois par jour. Il fonctionne en arrière-plan à l'heure programmée. Ainsi, lorsque je consulte le Play Store pour les mises à jour, il n'y figure pas.
Je devrai me renseigner, mais il pourrait / devrait y avoir un moyen d’exécuter la tâche lorsque le magasin de jeux est ouvert ... pas sûr.
---- Modifier ---- Certains ont demandé plus de détails sur le réglage TB ...
Tout d'abord, vous devez créer un filtre uniquement en sélectionnant les applications que vous souhaitez détacher. Vous accédez à cela sous le menu. Vous ajoutez les "éléments" ou les applications au filtre, de sorte que seules les applications sélectionnées sont affectées. Assurez-vous de ne pas lancer le détachement avec tout ce qui est sélectionné et aucun filtre appliqué :)
Ensuite, vous devez faire la planification avec le filtre appliqué à la planification.
Comme vous pouvez le constater, il ne s’agit que d’un événement programmé, à 4 heures du matin.
Une fois terminé, votre tâche planifiée ressemblera à ceci
Vous devrez reproduire cela et changer l'heure en fonction du nombre de fois que vous souhaitez que cela se produise.
Le mien est prêt pour 4h, 8h et 16h. Semble travailler pour moi.
J'espère que cela rend un peu plus clair. Si vous vous débrouillez contre la tuberculose, je suis certain que, grâce à ces projections, vous pourrez résoudre le problème.
Craig
la source
Avec la solution suivante:
Il existe une application gratuite appelée Changelog Droid (anciennement, il s’agissait d’une application freemium, elle offre désormais toutes les fonctionnalités gratuitement). Grâce à cela, vous pouvez gérer les mises à jour de vos autres applications, en jouant le rôle d'intermédiaire avec Google Play.
L'avantage est que vous pouvez envoyer des applications à une liste noire , en omettant d'afficher les mises à jour de manière temporaire ou "permanente" (jusqu'à ce que vous changiez d'avis). Vous pouvez également suivre les mises à jour des applications que vous avez désinstallées ou que vous n'avez jamais installées mais que vous souhaitez observer. J'accompagne cette réponse de quelques captures d'écran (identifiant par des couleurs les différentes options de navigation à l'écran) pour vous aider à comprendre comment cela fonctionne.
Le seul inconvénient est que, lorsque vous ouvrez Play Store, directement ou à partir de cette application, toutes les applications s'affichent (y compris celles que vous ne souhaitez pas mettre à jour, car celle qui applique le filtre est Changelog Droid et non Google Play, c'était prévu)
Mais dans Changelog Droid, vous pouvez accéder à chaque application de Google Play avec un bouton, puis la mettre à niveau individuellement.
Désolé: il n'y a actuellement aucune option de mettre à jour toutes les applications autorisées en une seule étape de Droid Changelog, mais peut - être le développeur pourrait mettre en œuvre par la suite.
Remarque: je n'ai toujours pas testé le scénario que vous décrivez (j'ai déjà mis à jour / remplacé Talk / Hangouts), mais cela pourrait fonctionner dans votre cas. N'oubliez pas de ne pas ouvrir la vue Mes applications de Google Play pour ne pas déclencher la mise à jour automatique des applications.
la source
Désactivez l'application dans les paramètres principaux de l'application, ou le gestionnaire d'applications, et ouvrez le Play Store. L'application ne devrait pas être répertoriée. Mettez tout à jour et réactivez simplement l'application lorsque la mise à jour est complète. J'ai le même problème, une application de messagerie texte que si je mets à jour, je reçois des annonces laides .. Ceci est mon travail autour
la source
Je sais que c'est un vieux fil. Et je comprends que Ti Backup travaillait auparavant pour détacher une application de Play Store. Mais je comprends aussi que cela ne fonctionne plus. Pour ceux qui sont intéressés, j'ai créé une application qui fait un très bon travail dans ce domaine. Il s’appelle Masquer les mises à jour sur le Play Store et est disponible pour environ 1 USD. Une vidéo montre l’application au travail. Cela nécessite une racine.
la source
La solution que j'ai trouvée pour les utilisateurs root consiste simplement à re-signer l'apk (trouvé dans
/data/app/
ou votre dossier TitaniumBackup après la sauvegarde) avec ZipSigner et à le réinstaller.la source
J'ai essayé d'utiliser l'application "Permission Manager" (il faut que je sois enracinée, je pense). Je désactive une autorisation qui n'est pas importante pour l'application que je ne souhaite pas mettre à jour (par exemple, l'autorisation de vibration désactivée dans ES File Explorer et wakelock dans Quickpic). Permission Manager recompile l'application, désinstalle l'original et réinstalle l'application nouvellement compilée. Après cela, j'ai ouvert le Play Store et le rappel de mise à jour avait disparu.
la source
.apk
fichiers d' origine (et oui, il existe plusieurs applications de ce type: pour les applications que vous avez installées vous-même, vous n'aurez probablement pas besoin de root, mais vous travaillerez sur des applications système). Je considérerais cela comme une solution de contournement, mais ce n’est pas une approche que j’adopterais. Merci quand même!Un autre candidat vient d'apparaître à l'horizon. Je ne l'ai pas encore testé, mais cela semble très prometteur: StorePrefs .
En tant que module Xposed , il devrait être en mesure de contourner les failles des autres solutions que nous avons eues jusqu'à présent:
adb shell
.apk
fichiersComme j'ai dé-googlifié mes appareils et que je n'utilise plus l'application Playstore, je ne peux pas vérifier - les commentaires de ceux qui le peuvent sont donc les bienvenus :)
la source
Comme pour une sauvegarde en titane, vous pouvez également dissocier l’application de Google Play Store avec 3C Toolbox . Cela semble être, jusqu'à présent, permanent. Racine requise.
la source