以来新しいADTプレビュー版(バージョン21) 、彼らは私に(アプリケーションタグで)マニフェストファイルに次の事を伝え、新たな糸くずの警告があります。
android:allowBackupを明示的にtrueまたはfalseに設定する必要があります(デフォルトではtrueであり、アプリケーションのデータにセキュリティ上の影響がある可能性があります)
では、公式ウェブサイト、彼らが書きました:
いくつかの新しいチェック:アプリがバックアップを許可するかどうか、およびラベルチェックを明示的に決定する必要があります。ライブラリパスを設定するための新しいコマンドラインフラグがあります。編集中の増分lint分析に対する多くの改善。
この警告は何ですか?バックアップ機能とは何ですか?どのように使用しますか?
また、警告がセキュリティに影響することを警告するのはなぜですか?この機能を無効にすることの欠点と利点は何ですか?
マニフェストのバックアップには2つの概念があります。
- 「android:allowBackup」は、次に示すように、adbを介してバックアップと復元を許可します。
アプリケーションがバックアップおよび復元インフラストラクチャに参加できるようにするかどうか。この属性がfalseに設定されている場合、アプリケーションのバックアップまたは復元は、すべてのアプリケーションデータがadb経由で保存されるシステム全体のバックアップによっても実行されません。この属性のデフォルト値はtrueです。
これは、ADBを介してアプリをバックアップし、アプリのプライベートデータをPCに取り込むことができるため、セキュリティの問題と見なされます。
ただし、ほとんどのユーザーはadbが何であるかを知らないため、問題ではないと思います。知っていれば、デバイスのルート権限を取得する方法も知っています。ADB機能は、デバイスでデバッグ機能が有効になっている場合にのみ機能します。これには、ユーザーがそれを有効にする必要があります。
したがって、デバイスをPCに接続してデバッグ機能を有効にするユーザーのみが影響を受けます。PCにADBツールを使用する悪意のあるアプリがある場合、アプリがプライベートストレージデータを読み取る可能性があるため、これは問題となる可能性があります。
Googleは、ADBを介したアプリのバックアップと復元を許可するために、デフォルトで無効になっている機能を開発者カテゴリに追加するだけでよいと思います。
実装するクラスの名前は、アプリケーションのバックアップエージェントであり、BackupAgentのサブクラスです。属性値は完全修飾クラス名( "com.example.project.MyBackupAgent"など)である必要があります。ただし、省略形として、名前の最初の文字がピリオド(たとえば、「。MyBackupAgent」)の場合、要素で指定されたパッケージ名に追加されます。デフォルトはありません。名前を指定する必要があります。
これはセキュリティの問題ではありません。