คำถามติดแท็ก android-backup-service

4
“ android: allowBackup” คืออะไร?
ตั้งแต่เวอร์ชันตัวอย่าง ADT ใหม่ (เวอร์ชัน 21)พวกเขามีคำเตือนขุยใหม่ที่บอกสิ่งต่อไปในไฟล์รายการ (ในแท็กแอปพลิเคชัน): ควรตั้งค่า android อย่างชัดเจน: อนุญาตการสำรองข้อมูลเป็นจริงหรือเท็จ (เป็นจริงโดยค่าเริ่มต้นและอาจมีผลกระทบด้านความปลอดภัยสำหรับข้อมูลของแอปพลิเคชัน) ในเว็บไซต์ทางการพวกเขาเขียน: การตรวจสอบใหม่สองสามครั้ง: คุณต้องตัดสินใจอย่างชัดเจนว่าแอปของคุณอนุญาตการสำรองข้อมูลหรือไม่และการตรวจสอบป้ายกำกับ มีการตั้งค่าสถานะบรรทัดคำสั่งใหม่สำหรับการตั้งค่าเส้นทางไลบรารี การปรับปรุงหลายอย่างเพื่อการวิเคราะห์ผ้าสำลีที่เพิ่มขึ้นในขณะที่แก้ไข คำเตือนนี้คืออะไร? คุณสมบัติการสำรองข้อมูลคืออะไรและฉันจะใช้ได้อย่างไร ทำไมคำเตือนถึงบอกฉันว่ามันมีผลกระทบด้านความปลอดภัย? อะไรคือข้อเสียและข้อดีของการปิดใช้งานคุณสมบัตินี้ มีแนวคิดการสำรองข้อมูลสองรายการสำหรับรายการ: "android: allowBackup " อนุญาตให้ทำการสำรองและกู้คืนผ่าน adb ดังที่แสดงที่นี่ : อนุญาตให้แอปพลิเคชันเข้าร่วมในการสำรองข้อมูลและเรียกคืนโครงสร้างพื้นฐานหรือไม่ หากคุณลักษณะนี้ถูกตั้งค่าเป็น "เท็จ" จะไม่มีการสำรองข้อมูลหรือคืนค่าแอปพลิเคชันแม้ว่าจะมีการสำรองข้อมูลแบบเต็มระบบซึ่งอาจทำให้ข้อมูลแอปพลิเคชันทั้งหมดถูกบันทึกผ่าน adb ค่าเริ่มต้นของคุณลักษณะนี้เป็นจริง สิ่งนี้ถือเป็นปัญหาด้านความปลอดภัยเนื่องจากผู้คนสามารถสำรองข้อมูลแอปของคุณผ่านADBจากนั้นรับข้อมูลส่วนตัวของแอพลงในพีซี อย่างไรก็ตามฉันคิดว่าไม่ใช่ปัญหาเนื่องจากผู้ใช้ส่วนใหญ่ไม่ทราบว่า adb คืออะไรและถ้าพวกเขาทำพวกเขาจะรู้วิธีรูทอุปกรณ์ ฟังก์ชั่น ADB จะทำงานเฉพาะเมื่ออุปกรณ์เปิดใช้งานคุณสมบัติการดีบักและสิ่งนี้ต้องการให้ผู้ใช้เปิดใช้งาน ดังนั้นเฉพาะผู้ใช้ที่เชื่อมต่ออุปกรณ์กับพีซีและเปิดใช้งานคุณสมบัติการดีบักเท่านั้นที่จะได้รับผลกระทบ หากพวกเขามีแอปที่เป็นอันตรายในพีซีที่ใช้เครื่องมือ ADB นี่อาจเป็นปัญหาได้เนื่องจากแอปสามารถอ่านข้อมูลที่เก็บข้อมูลส่วนตัว ฉันคิดว่า Google ควรเพิ่มคุณสมบัติที่ถูกปิดใช้งานตามค่าเริ่มต้นในหมวดหมู่นักพัฒนาซอฟต์แวร์เพื่ออนุญาตการสำรองและเรียกคืนแอปผ่าน ADB "android: …

6
การสำรอง / กู้คืน Android: จะสำรองฐานข้อมูลภายในได้อย่างไร?
ฉันได้ใช้งานBackupAgentHelperโดยใช้ข้อมูลที่ให้มาFileBackupHelperเพื่อสำรองและกู้คืนฐานข้อมูลดั้งเดิมที่ฉันมี นี่คือฐานข้อมูลที่คุณมักจะใช้ร่วมกับContentProvidersและที่อยู่ใน/data/data/yourpackage/databases/และที่อาศัยอยู่ใน ใครจะคิดว่านี่เป็นกรณีทั่วไป แต่เอกสารยังไม่ชัดเจนว่าจะทำอย่างไร: http://developer.android.com/guide/topics/data/backup.html ไม่มีBackupHelperเฉพาะสำหรับฐานข้อมูลทั่วไปเหล่านี้ ดังนั้นฉันจึงใช้FileBackupHelperมันชี้ไปที่ไฟล์. db ของฉันใน " /databases/" แนะนำการล็อกรอบ ๆ การดำเนินการ db ใด ๆ (เช่นdb.insert) ในของฉันContentProvidersและลองสร้าง/databases/ไดเร็กทอรี "" มาก่อนonRestore()เนื่องจากไม่มีอยู่หลังจากติดตั้ง ฉันได้ใช้โซลูชันที่คล้ายกันสำหรับSharedPreferencesความสำเร็จในแอปอื่นในอดีต อย่างไรก็ตามเมื่อฉันทดสอบการใช้งานใหม่ของฉันในโปรแกรมจำลอง -2.2 ฉันเห็นว่ามีการสำรองข้อมูลLocalTransportจากบันทึกรวมถึงการกู้คืนที่ดำเนินการอยู่ (และonRestore()เรียก) กระนั้นก็ไม่เคยสร้างไฟล์ db ขึ้นมาเอง โปรดทราบว่าทั้งหมดนี้เกิดขึ้นหลังจากการติดตั้งและก่อนการเปิดตัวแอปครั้งแรกหลังจากทำการกู้คืนแล้ว นอกเหนือจากที่กลยุทธ์การทดสอบของฉันอยู่บนพื้นฐานของhttp://developer.android.com/guide/topics/data/backup.html#Testing โปรดทราบว่าฉันไม่ได้พูดถึงฐานข้อมูล sqlite ที่ฉันจัดการเองหรือสำรองข้อมูลไปยัง SDcard เซิร์ฟเวอร์ของตัวเองหรือที่อื่น ฉันเห็นการกล่าวถึงในเอกสารเกี่ยวกับฐานข้อมูลที่แนะนำให้ใช้แบบกำหนดเองBackupAgentแต่ดูเหมือนจะไม่เกี่ยวข้อง: อย่างไรก็ตามคุณอาจต้องการขยาย BackupAgent โดยตรงหากคุณต้องการ: * สำรองข้อมูลในฐานข้อมูล หากคุณมีฐานข้อมูล SQLite ที่คุณต้องการกู้คืนเมื่อผู้ใช้ติดตั้งแอปพลิเคชันของคุณใหม่คุณต้องสร้าง BackupAgent แบบกำหนดเองที่อ่านข้อมูลที่เหมาะสมระหว่างการสำรองข้อมูลจากนั้นสร้างตารางของคุณและแทรกข้อมูลระหว่างการดำเนินการกู้คืน กรุณาแจ้งความชัดเจน ถ้าฉันจำเป็นต้องทำเองจนถึงระดับ SQL …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.