Так как новая версия предварительного просмотра ADT (версия 21), у них есть новое предупреждение о линге, которое сообщает мне следующее в файле манифеста (в теге приложения):
Должен явно установить android: allowBackup в true или false (по умолчанию это значение true, и это может иметь некоторые последствия для безопасности для данных приложения)
На официальном сайте они написали:
Несколько новых проверок: вы должны явно решить, может ли ваше приложение делать резервные копии и проверять метки. Там новый флаг командной строки для установки пути к библиотеке. Многие улучшения в инкрементном анализе lint при редактировании.
Что это за предупреждение? Что такое функция резервного копирования и как ее использовать?
Кроме того, почему предупреждение говорит мне, что оно имеет последствия для безопасности? Каковы недостатки и преимущества отключения этой функции?
Существует два понятия резервного копирования для манифеста:
- "android: allowBackup" позволяет выполнять резервное копирование и восстановление через adb, как показано здесь:
Разрешить приложению участвовать в резервном копировании и восстановления инфраструктуры. Если для этого атрибута установлено значение false, резервная копия или восстановление приложения будет выполняться даже полнофункциональная резервная копия, которая в противном случае привела бы к сохраняться через adb. Значение по умолчанию для этого атрибута равно true.
Это считается проблемой безопасности, потому что люди могут создавать резервные копии вашего приложения через ADB, а затем получать личные данные вашего приложения на свой ПК.
Однако, я думаю, что это не проблема, так как большинство пользователей не знают, что такое adb, и если они это сделают, они также узнают, как запустить устройство. Функции ADB будут работать только в том случае, если устройство имеет функцию отладки, и для этого требуется, чтобы пользователь включил ее.
Таким образом, пострадают только пользователи, подключающие свои устройства к ПК и включающие функцию отладки. Если у них есть вредоносное приложение на своем ПК, которое использует инструменты ADB, это может быть проблематично, поскольку приложение может читать данные частного хранилища.
Я думаю, Google должен просто добавить функцию, которая по умолчанию отключена в категории разработчиков, чтобы разрешить резервное копирование и восстановление приложений через ADB.
- "android: backupAgent" позволяет использовать функцию резервного копирования и восстановления облака, как показано здесь и здесь:
Имя класса, реализующего агент резервного копирования приложения, подкласс BackupAgent. Значение атрибута должно быть полностью (например, "com.example.project.MyBackupAgent" ). Однако, как сокращенное обозначение, если первый символ имени является период (например, ".MyBackupAgent" ), он добавляется к пакету имя, указанное в элементе. По умолчанию нет. имя должно быть указано.
Это не проблема безопасности.