Allgemeine Frage
Ich habe eine App X in Version Y auf meinem Gerät installiert. Ich möchte sie aus irgendeinem Grund nicht auf eine neuere Version (Y + z) aktualisieren. Die Google Play Store- App listet jedoch immer Aktualisierungen für X auf, sodass ich nicht einfach "alle aktualisieren" muss. Meine Frage in einem Satz:
Wie verstecke ich Updates für X dauerhaft in der Liste "Verfügbare Updates"?
Spezifische Beispiele
Erstens weiß ich, dass es Alternativen gibt, wie z. B. die AppBrain Market App , die dies recht gut beherrscht (dieses Update überspringen, alle zukünftigen Updates überspringen). Ich ziehe eine „generische Lösung“, die auf einer 3 hängen nicht rd Partei Markt App.
Zweitens weiß ich, dass Titanium Backup einen "Market Doctor" enthält, mit dem eine App von Google Play getrennt werden kann . 1 In meinem speziellen Fall funktionierte dies jedoch nur einige Stunden: Ich habe GTalk getrennt , da ich nicht möchte, dass es durch Hangouts ersetzt wird . Die Update-Benachrichtigung verschwand einige Stunden lang und war dann wieder da. Keine Ahnung, was den "Link" wiederhergestellt hat.
Drittens, nur um sicherzugehen: Ich spreche nicht von der Funktion "Auto-Update", wie sie z. B. unter Aktivieren des Auto-Updates für Play Store für einige Apps beschrieben wurde. . Ich hatte eher auf etwas in der Nähe gehofft. Bietet der Google Play Store keine Updates für eingefrorene Apps? , aber ohne die betreffende App "einfrieren" zu müssen (die ich noch verwenden möchte, aber in der installierten Version nicht in einer "zukünftigen Version" verfügbar ist).
Viertens: Nein, die betreffende App zu deinstallieren ist hier keine Option, würde jedoch zukünftige Updates perfekt verbergen :) Auch "friert" nicht ein, da die App regelmäßig verwendet wird.
Fünftens : Zu meinem GTalk-Beispiel gibt es eine verwandte Frage: Werden in der gApps-Zip enthaltene Apps über Google Play aktualisiert? Ich möchte jedoch das Gegenteil: Kein Update.
Es kann durchaus sein, dass "Google Apps" (und andere vorinstallierte Apps) auf eine bestimmte Art und Weise gehandhabt werden und ihre "Marktverbindungen" selbst irgendwie wiederherstellen. In diesem Fall lautet meine Frage: Wie kann dies verhindert werden?
Aktualisieren
Es gibt einen Thread bei XDA , der das gleiche Thema diskutiert. Bis vor kurzem bestand eine Problemumgehung für "vom Benutzer installierte Apps" darin, diese zu deinstallieren und sie dann von der Seite zu laden .apk
- aber selbst das funktionierte nicht mehr. Nun, das erneute Signieren .apk
mit einem anderen Schlüssel könnte für Benutzer-Apps funktionieren. Bei vorinstallierten Apps würden beide fehlschlagen (zum Überschreiben können sie nicht von der Seite geladen werden; eine andere Signatur würde die Installation vollständig ablehnen).
Darüber hinaus gibt es eine Ausgabe von "joel.bou ..". Nicht schwer zu erraten, aber ausgeblendet: Das wäre Joël Bourquard. Wenn es wirklich er ist, dann ist das wirklich ein Problem (für diejenigen, die nicht wissen: Joël ist der Entwickler hinter Titanium Backup ). Lassen Sie mich aus der Ausgabe zitieren:
Um es festzuhalten: In den Tagen von Android Market war es möglich, Apps (auf gerooteten Geräten) mit einem System-Tool wie Titanium Backup anzuhängen oder zu trennen. Heutzutage (mit der Google Play Store App) ist dies fast unmöglich geworden, da die vollständige App-Liste von den Servern von Google synchronisiert zu werden scheint und der Benutzer keine Kontrolle darüber hat.
Das erklärt, warum das Trennen mit Apps wie Titanium Backup nicht länger permanent ist. Und ich fürchte, ich habe das Unmögliche gefragt. Aber ich habe das in der Vergangenheit auch bei anderen Fragen gedacht und hier überraschenderweise Lösungen gefunden. Also gebe ich die Hoffnung noch nicht auf!
1: was das macht, wird von eldarerathis in diesem Beitrag erklärt (danke an Firelord , der das ausgegraben hat!)
sqlite*
täglich (mit der Binärdatei für diese Datenbanken) ausführen zu lassen (optional: Verknüpfen Sie sie mit den Startskripten von init.d). Auf jeden Fall mindestens +1 wert. Danke für den Hinweis - und im Voraus für die Antwort :)eldarerathis ♦
hat hier erklärt , was macht das "Vom Markt trennen" in TiBa eigentlich (Schnittlocalappstate.db
). Möglicherweise möchten Sie den Link dieser Antwort auf Ihre Frage einfügen.Antworten:
Anmerkungen :
(Entschuldigung! Ich konnte es nicht mit Kitkat testen, aber es gab keinen Grund zu der Annahme, dass es nicht funktionieren würde.)Die Lösung von Craig ist eigentlich ganz gut, und wenn sie mit Tasker irgendwie ausgeführt werden kann (das benutzerdefinierte Widget) , dann würde alles sehr reibungslos verlaufen.
Die Antwort von Anan kann auch
pm disable <PKG>
in Tasker erledigt werden , aber man kann diese Lieblings-App nicht verwenden, solange der Play Store die Liste aktualisiert, was einige Benutzer nicht bevorzugen.Und ich habe Changelog Droid noch nie ausprobiert , kann also keinen Kommentar abgeben.
Aber ich habe einen anderen Weg, um die Dinge zu erledigen, nicht so sauber in der GUI, aber gut. Auf geht's:
Play Store hat seine Datenbanken unter
/data/data/com.android.vending/databases/
. Es gibt drei Datenbanken, die es wert sind, in Betracht gezogen zu werden .library.db
,localappstate.db
,package_verification.db
.library.db
- Es hat eine Tabelle mit dem Namen, inownership
der die Apps aufgelistet sind, die Sie jemals im Play Store installiert haben, mit allen zugehörigen Google Play Store-Konten. Beachten Sie, dass immer auch solche Apps enthalten sind, die Sie vor langer Zeit aus dem Play Store installiert und später deinstalliert haben.localappstate.db
- In dieser Tabelle werdenappstate
alle Benutzer-Apps aufgelistet, die derzeit auf Ihrem Gerät installiert sind. Bei den im Play Store installierten wird auch der Titel der App angezeigt, bei den seitlich geladenen jedoch nicht.package_verification.db
- Diese Datenbank wird angezeigt, wenn Sie "Verify Apps" unter "Settings" von Android aktiviert haben. Es hat eine Tabelle mit der Bezeichnungverification_cache
Liste der Apps zur Überprüfung.suggestions.db
- hier nicht relevant, aber es gibt eine Tabellesuggestions
mit einer Liste aller Suchanfragen (Stichwörter), die Sie mit der Play Store-Suchleiste durchgeführt haben.Beachten Sie, dass ich keine Quelle für meine Behauptung habe, es ist alles persönliche Erfahrung hier. Sie werden aufgefordert, nicht zuzustimmen (mit Beweisen), damit die Qualität dieser Antwort weiter verbessert werden kann.
Nun zurück zur Frage. Auf meinem Lollipop konnte ich 37 Apps aus der Update-Liste entfernen und nur eine App übrig lassen, für die ich "Alle aktualisieren" verwendet habe, um die Lösung weiter zu testen. Es hat perfekt funktioniert!
Die erforderlichen Schritte:
Erzwingen Sie das Schließen des Play Store , um Datenbeschädigungen zu vermeiden, da die Datenbank bearbeitet werden muss.
Entfernen Sie die Inhaberschaft Ihrer App von
library.db
: Ich habe verwendetsqlite3
(verwenden Sie das SQLite-Installationsprogramm für Root, wenn Sie es nicht haben). Ich habe eine sehr einfache Abfrage verwendet, die einen Datensatz (eine Zeile) aus der Datenbank löscht, indem die Zeile anhand eines Werts identifiziert wird. Um die weiteresqlite3
Verwendung dieser Ressource zu erfahren, verwenden Sie diese .Der allgemeine Befehl zum Entfernen des Besitzers lautet:
Ersetzen Sie
<PKG_name>
durch den Paketnamen Ihrer App. ZB für Chrome-Browser lautet der Paketnamecom.android.chrome
.Sie können den Paketnamen Ihrer App über den App-Browser oder den OS-Monitor ermitteln oder sich einfach mit der Frage befassen: Vollständigen Paketnamen der App anzeigen?
Entfernen Sie die weiteren Details der App von
localappstate.db
undpackage_verification.db
: Beachten Sie, dass die beiden oben genannten Schritte auf meinen Geräten ausgeführt wurden. Da ich nicht möchte, dass die App aus irgendeinem Grund in der Aktualisierungsliste angezeigt wird, habe ich alle Details aus allen oben genannten Datenbanken gelöscht.Der allgemeine Befehl zum Entfernen der Informationen
localappstate.db
wäre:Und
package_verification.db
es wäre:Der Kern ist abgedeckt. Nun zur Hinrichtung:
adb shell
oderadb pull
bearbeiten Sie die Datenbanken auf einem PC mit einer SQLite-Software (z. B. DB Browser für SQLite ).Die App wird zwar nicht in der Liste der installierten Apps oder Updates angezeigt, aber definitiv in "Alle" unter "Meine Apps" im Play Store . Ich benutze diesen Shop nicht viel, deshalb habe ich andere Einstellungen nicht mehr weiter getestet.
Außerdem werden Sie möglicherweise bemerken, dass, wenn Sie zuvor die Option "App-Updates verfügbar" in den Play Store- Einstellungen deaktiviert und diese nach Ausführung der genannten Befehle überprüft haben, eine Synchronisierung ausgelöst wird und Ihre Änderungen, wie offensichtlich, verloren gehen würden.
Beachten Sie auch, dass Google alle Informationen auf seinen Servern speichert. Früher oder später werden die Datenbanken aktualisiert. Auf meinem Lollipop-Gerät habe ich ungefähr 24 Stunden gewartet und keine Änderungen in den Datenbanken festgestellt, aber YMMV.
Für nicht gerootete Geräte
Es ist eine Theorie und ich werde nicht behaupten, dass es funktionieren würde, aber Sie können versuchen:
adb backup
von Play Store .Packen Sie die geänderten Dateien in eine neue Sicherungsdatei und stellen Sie sie auf dem Gerät wieder her.
Wenn Sie nicht wissen, ob Sie ein ADB-Backup auf einem PC entpacken oder packen möchten , schauen Sie sich den Android Backup Extractor (ABE) an (er benötigt Java Runtime Environment und kann
README.txt
verwendet werden), der die.ab
Datei in eine Datei entpackt,.tar
die Sie dann extrahieren können mit einem Archivierungsprogramm wie Ark, 7zip, WinRAR und mehr.Sie können DB Browser for SQLite verwenden , um Änderungen an den Datenbanken im extrahierten Inhalt vorzunehmen (wahrscheinlich)
apps/com.android.vending/db/
.Sie können sich auch Beiträge zum Thema Android-Sicherung wie diese , diese und Adebar ansehen - allesamt Vorschläge von Izzy .
Überprüfen Sie, ob die App aus der Aktualisierungsliste entfernt wurde.
Bearbeiten:
Nun, ich bin nicht der einzige, der es so herausgefunden hat:
library.db
der Haupttäter istquelle
ab2tar
in Adebar ;)adb restore
App wird plötzlich auf meinen Geräten beendet, damit ich meine eigene Theorie nicht wirklich testen kann. : /Dies ist ein Problem für mich mit einigen Apps, insbesondere einer Taschenlampen-App, bei der die neueste Version nicht gut mit Lollipop funktioniert, die vorherige Version jedoch.
In der Vergangenheit bestand meine Lösung darin, Change Droid zu verwenden. Wie bereits erwähnt, kann Change Droid beim Öffnen des Playstores zurückkehren.
Derzeit verwende ich die Lösung, um eine geplante Aufgabe von Titanium Backup aus auszuführen und die App vom Markt zu trennen. Ich laufe derzeit 4 mal am Tag. Es wird zur geplanten Zeit im Hintergrund ausgeführt. Wenn ich im Play Store nach Updates suche, ist es nicht vorhanden.
Ich muss mich darum kümmern, aber es kann / sollte eine Möglichkeit geben, die Aufgabe auszuführen, wenn der Play Store geöffnet ist ... nicht sicher.
---- Bearbeiten ---- Einige haben nach mehr Details zur TB-Einstellung gefragt ...
Zuerst müssen Sie einen Filter erstellen und nur die Apps auswählen, die Sie trennen möchten. Sie erreichen dies über das Menü. Sie fügen dem Filter die "Elemente" oder Apps hinzu, sodass nur die ausgewählten Apps betroffen sind. Stellen Sie sicher, dass Sie die Trennung nicht mit allen ausgewählten Elementen und ohne angewendeten Filter ausführen :)
Als Nächstes müssen Sie den Zeitplan mit dem auf den Zeitplan angewendeten Filter erstellen.
Wie Sie sehen, ist dies nur für eine geplante Ereignis-ms um 4 Uhr morgens
Wenn die geplante Aufgabe abgeschlossen ist, sieht sie ungefähr so aus
Sie müssen dies replizieren und die Zeit ändern, je nachdem, wie oft dies geschehen soll.
Ich habe meinen auf 4 Uhr morgens, 8 Uhr mittags und 16 Uhr abends eingestellt. Scheint für mich zu arbeiten.
Hoffe das macht es ein bisschen klarer. Wenn Sie TB umgehen, bin ich mir sicher, dass Sie es mit diesen Screenies klären können.
Craig
quelle
Mit der folgenden Lösung:
Es gibt eine kostenlose App namens Changelog Droid (früher war dies eine Freemium-App, jetzt hat sie die volle Funktionalität kostenlos). Über diese Funktion können Sie Aktualisierungen Ihrer anderen Apps verwalten, als Vermittler bei Google Play.
Der Vorteil ist, dass Sie Apps an eine Blacklist senden können , ohne dass Aktualisierungen vorübergehend oder "dauerhaft" angezeigt werden (bis Sie Ihre Meinung ändern). Sie können auch Updates für Anwendungen verfolgen, die Sie deinstalliert haben oder die Sie noch nie installiert haben, aber beobachten möchten. Ich begleite diese Antwort mit einigen Screenshots (Identifizierung der verschiedenen Bildschirmnavigation mit Farben), damit Sie erkennen, wie es funktioniert.
Der einzige Nachteil ist, dass beim Öffnen des Play Store entweder direkt oder über diese App alle Apps angezeigt werden (einschließlich der Apps, die Sie nicht aktualisieren möchten, da der Filter auf Changelog Droid und nicht auf Google Play selbst angewendet wird). dies wurde erwartet)
In Changelog Droid können Sie jedoch über eine Schaltfläche auf jede App in Google Play zugreifen und sie dann einzeln aktualisieren.
Entschuldigung: Momentan gibt es keine Möglichkeit, alle zulässigen Anwendungen in einem einzigen Schritt von Changelog Droid aus zu aktualisieren , aber möglicherweise könnte der Entwickler es irgendwann implementieren.
Hinweis: Ich habe das von Ihnen beschriebene Szenario noch nicht getestet (ich habe Talk / Hangouts bereits aktualisiert / ersetzt), aber es könnte in Ihrem Fall funktionieren. Denken Sie daran, die Ansicht " Meine Apps" von Google Play nicht zu öffnen, damit keine automatische Aktualisierung von Apps ausgelöst wird.
quelle
Deaktivieren Sie die App in den Haupteinstellungen der App oder im App-Manager und öffnen Sie den Play Store. Die App sollte nicht aufgelistet sein. Aktualisiere alle und aktiviere die App einfach wieder, wenn alle Aktualisierungen abgeschlossen sind. Ich habe das gleiche Problem, eine txt-Nachrichten-App, die beim Aktualisieren hässliche Anzeigen anzeigt. Dies ist meine Aufgabe
quelle
Ich weiß, dass dies ein alter Thread ist. Und ich verstehe, dass Ti Backup früher zum Trennen einer App vom Play Store verwendet wurde. Ich verstehe aber auch, dass das nicht mehr funktioniert. Für Interessierte habe ich eine App erstellt, die das ganz gut macht. Es heißt Updates im Play Store verbergen und ist für ~ USD 1 erhältlich. Es gibt ein Video, in dem die App bei der Arbeit gezeigt wird. Es erfordert root.
quelle
Die Lösung, die ich für Root-Benutzer gefunden habe, besteht darin, das apk (das sich
/data/app/
nach der Sicherung in oder in Ihrem TitaniumBackup-Ordner befindet) mit ZipSigner erneut zu signieren und neu zu installieren.quelle
Ich habe versucht, die App "Permission Manager" zu verwenden (muss meiner Meinung nach verwurzelt sein). Ich deaktiviere eine Berechtigung, die für die App, die ich nicht aktualisieren möchte, nicht wichtig ist (z. B. deaktivierte Vibrationsberechtigung in ES File Explorer und Wakelock in Quickpic). Der Berechtigungs-Manager kompiliert die App erneut, deinstalliert das Original und installiert die neu kompilierte App erneut. Danach öffnete ich den Play Store und die Update-Erinnerung war weg.
quelle
.apk
(und ja, es gibt mehrere solcher Apps: Für Apps, die Sie selbst installiert haben, benötigen Sie wahrscheinlich kein root, aber für die Arbeit mit System-Apps würden Sie). Ich würde das als Workaround betrachten, aber es ist kein Ansatz, den ich wählen würde. Danke trotzdem!Ein weiterer Kandidat tauchte gerade am Horizont auf. Ich habe es noch nicht getestet, aber es klingt sehr vielversprechend: StorePrefs .
Als Xposed- Modul sollte es in der Lage sein, die Fehler der anderen Lösungen, die wir bisher hatten, zu umgehen :
adb shell
.apk
DateienDa ich meine Geräte entschleimt habe und die Playstore-App nicht mehr benutze, kann ich dies nicht überprüfen. Feedback von denen, die das können, ist daher willkommen :)
quelle
Wie bei Titan Backup können Sie auch die Verknüpfung der App mit dem Google Play Store mit 3C Toolbox aufheben . Dies scheint bis jetzt von Dauer zu sein. Root erforderlich.
quelle