Apakah ada cara untuk membuat cadangan / memulihkan pesan SMS dan MMS menggunakan ADB, ketika perangkat tidak di-root?
adb pull
tidak akan berfungsi di sini, karena basis data yang sesuai (/data/data/com.android.providers.telephony/databases/mmssms.db
) tidak dapat dibaca oleh ADB jika tidak berjalan dalam mode tidak aman (root)adb shell "cat /data/data/com.android.providers.telephony/databases/mmssms.db > /sdcard/mmssms.db
tidak berfungsi baik tanpa akses rootadb backup
untuk beberapa alasan tidak mencakup database ini pada perangkat yang saya periksa (cadangan kosong - hanya 41 byte header cadangan dalam file yang dihasilkan)
Saya terutama bertanya-tanya mengapa adb backup
tidak membahas hal ini. Jika karena "alasan privasi", maka hal yang sama berlaku untuk basis data kontak - yang jelas-jelas didukung.
Referensi:
- Bisakah adb digunakan untuk memulihkan pesan SMS saat dalam "Mode Aman" permanen? mencakup topik yang sama - tetapi selain itu, saya tidak terbatas pada safe-mode
- mencadangkan seluruh isi sms / mms melalui adb (di situs saudara pengembang kami) adalah untuk "solusi yang di-rooting" (dan, selain itu, sedikit usia: pertanyaan dan jawaban lebih dari 3 tahun)
Jadi: Adakah solusi pada perangkat yang tidak di-root? Perhatikan bahwa saya TIDAK meminta solusi berbasis aplikasi. Saya sepenuhnya sadar ada beberapa aplikasi yang tersedia untuk ini . Saya secara khusus menginginkan "solusi berbasis shell", yang akan digunakan melalui ADB.
adb backup
: beberapa pengecualian, sebagian besar diabaikan, tetapi pengguna sangat suka menyimpan SMS yang juga tidak tercakup.Jawaban:
Bukannya
adb backup
tidak mau menutup aplikasicom.android.providers.telephony
. Aplikasi ini tidak jauh berbeda dari aplikasi sistem lain yang didasarkan pada aplikasiAndroidManifest.xml
. Masalahnya adalah dengan bendera yang dinyatakan pengembangnya dalam manifes yang sebagai mekanisme default karena alasan tertentuadb backup
harus dihormati.Bendera ini tidak lain adalah
android:allowBackup="false"
. Ini memilih keluar aplikasi dari cadangan dan pemulihan ADB. Google di sini harus mengatakan:(Penekanan milikku)
Lihat
AndroidManifest.xml
aplikasi ini untuk versi Lollipop di sini , atau lihat bukti ini untuk Android 4.2.1 saya:Masih ada lagi untuk aplikasi ini. Anda bahkan tidak dapat Menghapus Data dari Pengaturan → Aplikasi → Semua aplikasi →
<THIS_APP>
karenaandroid:allowClearUserData="false"
dinyatakan juga, bukan sesuatu yang kita temui setiap saat.Ini aneh, bukan bahwa Anda dapat melakukannya tetapi bagaimana sistem Anda bahkan memungkinkan Anda untuk melakukannya hanya dengan
adb backup
!Penyimpanan kontak ditangani oleh aplikasi "KontakProvider" yang dijalankan oleh pkg_name =
com.android.providers.contacts
. Benderaandroid:allowBackup="false"
disebutkan dengan jelasAndroidManifest.xml
untuk Jelly Bean (klik di sini untuk melihat versi lainnya).Apakah Anda menggunakan ICS atau pendahulu JB?
Saya menemukan bahwa aplikasi ini tidak memiliki pernyataan bendera apa pun untuk ICS di sini . Anda benar-benar dapat menghapus misteri ini, karena saya tidak dapat mengambil cadangan aplikasi ini di JB 4.2.1 saya sesuai definisi bendera, dan selalu mendapatkan file cadangan 41 byte.
Adapun metode lain untuk mengambil backup / restore SMS / MMS menggunakan ADB tanpa akses root - semua tangan di sini.
sumber