Gibt es eine Möglichkeit, SMS- und MMS-Nachrichten mit ADB zu sichern / wiederherzustellen, wenn das Gerät nicht gerootet ist?
adb pull
funktioniert hier nicht, da die entsprechende Datenbank (/data/data/com.android.providers.telephony/databases/mmssms.db
) von ADB nicht gelesen werden kann, wenn sie nicht im unsicheren (Root-) Modus ausgeführt wirdadb shell "cat /data/data/com.android.providers.telephony/databases/mmssms.db > /sdcard/mmssms.db
funktioniert auch nicht ohne Root-Zugriffadb backup
Aus irgendeinem Grund wird diese Datenbank auf dem Gerät, mit dem ich überprüft habe, nicht abgedeckt (leere Sicherung - nur die 41 Bytes des Sicherungsheaders in der resultierenden Datei)
Ich frage mich besonders, warum adb backup
das nicht behandelt wird. Wenn dies aus "Datenschutzgründen" geschieht, sollte dies auch für die Kontaktdatenbank gelten, die eindeutig gesichert ist.
Verweise:
- Kann adb verwendet werden, um SMS-Nachrichten im permanenten "abgesicherten Modus" wiederherzustellen? behandelt das gleiche Thema - aber abgesehen davon bin ich nicht auf den abgesicherten Modus beschränkt
- Das Sichern vollständiger SMS / MMS-Inhalte über adb (auf der Schwesterseite unserer Entwickler) ist für eine "verwurzelte Lösung" (und abgesehen davon ein bisschen alt: Fragen und Antworten sind älter als 3 Jahre).
Also: Irgendeine Lösung auf einem nicht gerooteten Gerät? Beachten Sie, dass ich NICHT nach einer App-basierten Lösung frage. Ich bin mir völlig bewusst, dass dafür mehrere Apps verfügbar sind . Ich möchte speziell eine "Shell-basierte Lösung", die über ADB verwendet wird.
adb backup
: wenige Ausnahmen, von denen die meisten ignorierbar sind, aber der Benutzer behält sehr gerne SMS, die ebenfalls nicht behandelt wurden.Antworten:
Es ist nicht so, dass
adb backup
die App nicht abgedeckt werden sollcom.android.providers.telephony
. Diese App unterscheidet sich nicht wesentlich von anderen System-AppsAndroidManifest.xml
. Das Problem liegt in dem Flag, das der Entwickler im Manifest deklariert hat und das aus irgendeinem Grund als Standardmechanismusadb backup
zu beachten ist.Diese Flagge ist keine andere als
android:allowBackup="false"
. Die App wird sowohl aus der ADB-Sicherung als auch aus der Wiederherstellung entfernt. Google muss hier sagen:(Hervorhebung von mir)
Testen Sie die
AndroidManifest.xml
Version dieser App für die Lollipop-Version hier oder sehen Sie sich diese Beweise für mein Android 4.2.1 an:Diese App bietet noch mehr. Sie können nicht einmal Daten aus den Einstellungen → Apps → Alle Apps → löschen,
<THIS_APP>
da dies ebenfallsandroid:allowClearUserData="false"
deklariert ist. Dies ist nicht etwas, auf das wir hin und wieder stoßen.Es ist seltsam, nicht , dass Sie es zu tun , sind in der Lage , aber wie ist Ihr System auch erlaubt Ihnen , das zu tun , nur mit
adb backup
!Die Speicherung von Kontakten wird von der App "ContactsProvider" verwaltet, die über pkg_name = lautet
com.android.providers.contacts
. Die Flaggeandroid:allowBackup="false"
ist in ihrerAndroidManifest.xml
für Jelly Bean deutlich erwähnt (klicken Sie hier , um die anderen Versionen zu sehen).Verwenden Sie ICS oder einen Vorgänger von JB?
Ich habe festgestellt, dass diese App hier keine Deklaration dieses Flags für ICS hat . Sie können dieses Rätsel tatsächlich lösen, da ich diese App in meinem JB 4.2.1 gemäß der Definition des Flags nicht sichern kann und immer diese 41-Byte-Sicherungsdatei erhalte.
Wie bei jeder anderen Methode zum Sichern / Wiederherstellen von SMS / MMS mit ADB ohne Root-Zugriff - alle Hände hoch hier.
quelle