Wie kann man das Anrufprotokoll manuell aus einer Adb-Sicherung auf OnePlus One wiederherstellen? (SMS bereits wiederhergestellt)

Ich lief adb backupmit allen Backup-Flags auf meinem OnePlus One (das ich nach und nach von 44S auf 05Q aktualisiert hatte). Dann habe ich es gelöscht, mit einem neuen Image von 05Q neu erstellt und versucht, meine SMS- und Anrufprotokolle wiederherzustellen.

Ich konnte den SMS-Verlauf wiederherstellen, indem ich den /data/data/com.android.providers.telephony/databasesOrdner auf mein neues Telefon zurückkopierte und die Berechtigungen entsprechend einstellte. Aber ich kann beim besten Willen nicht herausfinden, wie ich meine Anrufprotokolle wiederherstellen kann – ich kann nicht herausfinden, aus welchem ​​Ordner ich sie wiederherstellen soll , und ich kann nicht herausfinden, wo ich sie wiederherstellen soll . Es scheint mir, dass die beiden unterschiedlich sein könnten, weil ich das Telefon ursprünglich von einer etwas älteren Version von Cyanogenmod aktualisiert habe, während die frische Kopie komplett neu ist, aber so oder so kann ich nicht herausfinden, wie das geht. Ich habe das nagende Gefühl, dass das Anrufprotokoll möglicherweise nicht einmal gesichert wurde, aber das wäre seltsam, da das SMS-Protokoll ...

Irgendwelche Ideen?

/data/data/com.android.providers.contacts/databases/contacts2.db(in der Tabelle calls) Ich habe es auf meinem Oneplus One mit CM12 bestätigt. Aber ich glaube nicht, dass ADB diesen Ort hätte sichern können . Bitte bestätigen Sie, ob ADB ein Backup erstellt hat, da ich meine verknüpfte Antwort überarbeiten müsste. // Oh, und es scheint, dass Sie Root-Zugriff haben, also warum haben Sie nicht ein gutes Backup-Tool wie Titanium Backup oder so verwendet? Nur Fragen. :)
@Firelord: CM12 hilft hier nicht (ich habe bereits den frischen 05Q, der CM11 ist, es ist einfach genug für mich, das selbst zu überprüfen). Das Problem besteht darin, dass sich die Ordnernamen anscheinend nach dem ursprünglichen Upgrade auf 05Q geändert haben; Tatsächlich heißt der Unterordner in meinem Backup nicht einmal databases/, sondern db/. Deshalb stelle ich hier die Frage. In diesem speziellen Fall sehe ich com.android.contacts-- das ich versucht habe wiederherzustellen (aber das keinen Datenbank-Unterordner hat) -- aber nicht com.android.providers.contacts. Aber com.android.providers.telephonywurde gesichert und schien SMSs wiederherzustellen.
@Firelord: Warum ich Titanium Backup nicht verwendet habe: Nun, es liegt daran, dass ich dumm war und dachte, die Tools von Google würden das Richtige tun. Es kam mir nie in den Sinn, dass das, was ich wollte, so unvernünftig war, dass selbst die Unmengen von Flaggen, zu denen ich ging, adbnicht ausreichen würden.
Es ist nicht so, dass sich die Ordnernamen von databasesin geändert haben, dbaber ADB verwendet diese Kurzformen als Konventionen in jedem Backup. Es hat überhaupt nichts mit CM11 oder CM12 zu tun.
@Firelord: Oh ... ich verstehe. Nun, ja, ich sehe diesen Ordner nicht. Warum sollte es SMS sichern, aber keine Anrufprotokolle? Das ergibt keinen Sinn...
Warum Kontakte nicht erfasst wurden, ist hier der Grund , aber ich kann nichts über SMS sagen, da ich kein CM11-Image zur Verfügung habe, um es zu überprüfen.
@Firelord: Richtig, ich habe diesen Link gesehen, aber es geht um die Kontaktdatenbank ... Ich suche nach der Anrufprotokolldatenbank. Sind die beiden dasselbe?

Antworten (1)

Hinweis : OP kennt die Antwort bereits, aber die folgenden Informationen sind für diejenigen Seelen gedacht, die möglicherweise mit demselben Problem beunruhigt sind.


Enttäuschung!

CM11 in OnePlus One (sei es 44S- oder 05Q-Update) hat keine Vorkehrungen, um die Kontakte und Anrufprotokolle mit ADB zu sichern und wiederherzustellen.

Die Antwort ist leider einfach: Ihre Kontakte und Anrufprotokolle wurden nicht von ADB gesichert, weil die Entwickler von CM11 dies nicht erlaubt haben, und Sie sollten daher nach anderen Möglichkeiten suchen, sie wiederherzustellen ( Tipp : Google Kontakte Synchronisieren ).

Außerdem, falls es darauf ankommt:

  • /data/data/com.android.providers.telephony/databasesHier finden Sie die Datenbank für SMS/MMS
  • /data/data/com.android.providers.contacts/databases/Hier sehen Sie die Kontakte und die Anrufprotokolle

Sie können jetzt aufhören zu lesen, wenn Sie mit der Antwort zufrieden sind, und ich empfehle, sich damit zu beschäftigen, einige Wiederherstellungsmethoden zu finden, um wieder Zugriff auf Kontakte und Anrufprotokolle zu erhalten.

Einige Seelen wollen jedoch einen Grund für ein Ereignis, egal was passiert, also kommen wir zu einem solchen Grund!


Warum wurden SMS/MMS gesichert und nicht die Kontakte?

Warum wurden private Inhalte wie SMS/MMS gesichert, aber nicht die Kontakte?

Sie müssen beachten, dass dies seit der Einführung von Jelly Bean kein übliches Verhalten im Android Open Source Code (AOSP) und auch nicht bei den meisten Standard-ROMs war, um die Sicherung dieser privaten Inhalte durch ADB zu ermöglichen, dh sowohl Telefonieanbieter ( hat SMS/MMS-Datenbank) und Contacts Provider (hat Kontakte und Anrufprotokolle) sind normalerweise so entwickelt, dass sie nicht an der Sicherung und Wiederherstellung der Infrastruktur des Android-Systems teilnehmen. CM11 hat jedoch einige Änderungen, die es ermöglichen, SMS/MMS zu sichern, aber die Kontakte und Anrufprotokolle im Dreck zu lassen.

Was sind das für Änderungen?

Meine Feststellung besagt, dass in CM11 ein Flag mit dem Namen android:allowBackup="false"schließlich aus Telephony Provider entfernt wurde, aber in Contacts Provider unberührt blieb . Dieses Flag wird immer unter der App eingeführt AndroidManifest.xml.

Google hier muss Folgendes zu dieser Flagge sagen:

android:allowBackup

Ob die Anwendung an der Sicherungs- und Wiederherstellungsinfrastruktur teilnehmen darf. Wenn dieses Attribut auf „false“ gesetzt ist, wird niemals eine Sicherung oder Wiederherstellung der Anwendung durchgeführt, auch nicht durch eine vollständige Systemsicherung, die ansonsten dazu führen würde, dass alle Anwendungsdaten über adb gespeichert werden . Der Standardwert dieses Attributs ist wahr.

(Hervorhebung von mir)

Aus irgendeinem Grund hat CM12 diese Entscheidung jedoch rückgängig gemacht, und jetzt erlauben beide Apps überhaupt keine Sicherung von ADB.

Wenn Sie beabsichtigen, die Quelle der besagten Pakete zu sehen, dann werfen Sie einen Blick auf AndroidManifest.xmlTelefonieanbieter für :

  • CM11 -- kein solches Flag unter<application ..
  • CM12 -- hat diese Flagge unter<application ..

Aber für Contacts Provider haben sowohl CM11 als auch CM12 das Flag unberührt.

Sie können diese Informationen anhand AndroidManifest.xmlder beiden Pakete, die Sie in Ihrem CM11 haben, weiter überprüfen. Sie würden feststellen, dass die Flagge in einer App vorhanden ist und nicht in der anderen.

Beachten Sie , dass das Standardverhalten, wie im ursprünglichen Quellcode von Android erwähnt , darin besteht, Backups in beiden Apps für die Kitkat-Veröffentlichung zu verbieten.

Warum CM11-Entwickler solche Änderungen vorgenommen haben, würde ich empfehlen, sie direkt zu fragen.

Vorerst erledigt!


Sie können meine hier erwähnte ähnliche Antwort auf die Frage auschecken: Sichern/Wiederherstellen von SMS/MMS über ADB auf einem nicht gerooteten Gerät? .