Karena versi pratinjau ADT baru (versi 21) , mereka memiliki peringatan serat baru yang memberi tahu saya hal berikutnya pada file manifes (dalam tag aplikasi):
Harus secara eksplisit mengatur android: allowBackup ke true atau false (itu benar secara default, dan itu dapat memiliki beberapa implikasi keamanan untuk data aplikasi)
Di situs web resmi , mereka telah menulis:
Beberapa pemeriksaan baru: Anda harus secara eksplisit memutuskan apakah aplikasi Anda memungkinkan cadangan, dan pemeriksaan label. Ada bendera baris perintah baru untuk mengatur jalur perpustakaan. Banyak perbaikan pada analisis serat tambahan saat mengedit.
Peringatan apa ini? Apa fitur cadangan, dan bagaimana cara menggunakannya?
Juga, mengapa peringatan itu memberi tahu saya ini memiliki implikasi keamanan? Apa kerugian dan kelebihan dari menonaktifkan fitur ini?
Ada dua konsep cadangan untuk manifes:
- "android: allowBackup " memungkinkan untuk membuat cadangan dan memulihkan melalui adb, seperti yang ditunjukkan di sini :
Apakah akan mengizinkan aplikasi untuk berpartisipasi dalam cadangan dan memulihkan infrastruktur. Jika atribut ini disetel ke false, tidak ada cadangan atau pengembalian aplikasi yang akan dilakukan, bahkan oleh cadangan sistem lengkap yang jika tidak akan menyebabkan semua data aplikasi disimpan melalui adb. Nilai default atribut ini benar.
Ini dianggap sebagai masalah keamanan karena orang dapat membuat cadangan aplikasi Anda melalui ADB dan kemudian mendapatkan data pribadi dari aplikasi Anda ke PC mereka.
Namun, saya pikir itu bukan masalah, karena sebagian besar pengguna tidak tahu apa adb itu, dan jika mereka tahu, mereka juga akan tahu bagaimana cara me-rooting perangkat. Fungsi ADB hanya akan berfungsi jika perangkat mengaktifkan fitur debugging, dan ini membutuhkan pengguna untuk mengaktifkannya.
Jadi, hanya pengguna yang menghubungkan perangkat mereka ke PC dan mengaktifkan fitur debugging akan terpengaruh. Jika mereka memiliki aplikasi jahat pada PC mereka yang menggunakan alat ADB, ini bisa menjadi masalah karena aplikasi tersebut dapat membaca data penyimpanan pribadi.
Saya pikir Google seharusnya menambahkan fitur yang dinonaktifkan secara default, dalam kategori pengembang, untuk memungkinkan pencadangan & pengembalian aplikasi melalui ADB.
- "android: backupAgent " memungkinkan untuk menggunakan fitur backup dan restore cloud, seperti yang ditunjukkan di sini dan di sini :
Nama kelas yang mengimplementasikan agen cadangan aplikasi, subkelas dari BackupAgent. Nilai atribut harus nama kelas yang sepenuhnya memenuhi syarat (seperti, "com.example.project.MyBackupAgent"). Namun, sebagai steno, jika karakter pertama nama adalah titik (misalnya, ".MyBackupAgent"), itu ditambahkan ke nama paket yang ditentukan dalam elemen. Tidak ada standar. Nama harus ditentukan.
Ini bukan masalah keamanan.
sumber
Jawaban:
Untuk peringatan serat ini, seperti untuk semua peringatan serat lainnya, perhatikan bahwa Anda bisa mendapatkan penjelasan yang lebih lengkap daripada hanya apa yang ada dalam pesan kesalahan satu baris; Anda tidak perlu mencari di web untuk info lebih lanjut.
Jika Anda menggunakan serat melalui Eclipse, buka tampilan peringatan serat, tempat Anda dapat memilih kesalahan serat dan melihat penjelasan yang lebih panjang, atau gunakan perbaikan cepat (Ctrl-1) pada baris kesalahan, dan salah satu sarannya adalah " Jelaskan masalah ini ", yang juga akan memunculkan penjelasan yang lebih lengkap. Jika Anda tidak menggunakan Eclipse, Anda dapat menghasilkan laporan HTML dari lint (
lint --html <filename>
) yang mencakup penjelasan lengkap di sebelah peringatan, atau Anda dapat meminta lint untuk menjelaskan masalah tertentu. Misalnya, masalah terkait denganallowBackup
memiliki idAllowBackup
(ditampilkan di akhir pesan kesalahan), jadi penjelasan yang lebih lengkap adalah:The
allowBackup
atribut menentukan apakah data aplikasi dapat didukung dan dipulihkan, seperti yang didokumentasikan di sini .Klik di sini untuk informasi lebih lanjut
sumber
Inilah arti cadangan dalam arti ini:
~ Diambil dari http://developer.android.com/guide/topics/data/backup.html
Anda dapat mendaftar untuk layanan cadangan ini sebagai pengembang di sini: https://developer.android.com/google/backup/signup.html
Jenis data yang dapat dicadangkan adalah file, database, sharedPreferences, cache, dan lib. Ini umumnya disimpan di direktori /data/data/[com.myapp] perangkat Anda, yang dilindungi baca dan tidak dapat diakses kecuali Anda memiliki hak akses root.
UPDATE : Anda dapat melihat bendera ini terdaftar di api doc BackupManager : BackupManager
sumber
Ini tidak disebutkan secara eksplisit, tetapi berdasarkan dokumen berikut, saya pikir tersirat bahwa aplikasi perlu mendeklarasikan dan mengimplementasikan BackupAgent agar cadangan data berfungsi, bahkan dalam kasus ketika allowBackup disetel ke true (yang merupakan nilai default).
http://developer.android.com/reference/android/R.attr.html#allowBackup http://developer.android.com/reference/android/app/backup/BackupManager.html http://developer.android. com / panduan / topik / data / backup.html
sumber
Ini adalah masalah privasi . Disarankan untuk melarang pengguna untuk membuat cadangan aplikasi jika mengandung data sensitif. Memiliki akses ke file cadangan (yaitu kapan
android:allowBackup="true"
), dimungkinkan untuk memodifikasi / membaca konten aplikasi bahkan pada perangkat yang tidak di-rooting.Solusi - gunakan
android:allowBackup="false"
dalam file manifes.Anda dapat membaca posting ini untuk mendapatkan informasi lebih lanjut: Meretas Aplikasi Android Menggunakan Teknik Cadangan
sumber