1. ホーム
  2. アンドロイド

[解決済み】「android:allowBackup」とは何ですか?

2022-04-14 07:34:09

質問

ということで ADT新プレビュー版(バージョン21) マニフェストファイル(アプリケーションタグ)の中で、次のことを教えてくれる新しいlint警告があります。

android:allowBackup を明示的に true または false に設定する必要があります (デフォルトでは true になっており、アプリケーションのデータに対してセキュリティ上の影響がある可能性があります)。

での 公式サイト と、書かれているそうです。

<ブロッククオート

アプリがバックアップを許可しているかどうかを明示的に決定する必要があることと、ラベルチェックです。ライブラリパスを設定するための新しいコマンドラインフラグがあります。編集中のインクリメンタルなlint分析に多くの改良が加えられました。

この警告は何ですか?バックアップ機能とは、どのようなもので、どのように使うのですか?

また、なぜセキュリティに関わるという警告が出るのでしょうか?この機能を無効にした場合のデメリットとメリットは何ですか?


マニフェストのバックアップには、2つの概念があります。

  • "android。 バックアップを許可する というように、adb経由でのバックアップとリストアを可能にします。 ここで :

アプリケーションをバックアップに参加させるかどうか インフラストラクチャを復元します。この属性がfalseに設定されている場合、バックアップは行われません。 を実行しても、アプリケーションのリストアは行われません。 フルシステムバックアップを行う場合、すべてのアプリケーションデータを adb経由で保存されます。この属性のデフォルト値はtrueです。

これは、セキュリティ上の問題と考えられています。 ADB そのため、アプリの個人情報をPCに取り込むことができます。

しかし、ほとんどのユーザーはadbが何であるか知らないし、もし知っていたとしても、デバイスをroot化する方法も知っているだろうから、それほど問題にはならないと思う。ADBの機能は、デバイスがデバッグ機能を有効にしている場合にのみ動作し、ユーザーがそれを有効にする必要があります。

つまり、デバイスをPCに接続し、デバッグ機能を有効にしているユーザーだけが影響を受けることになるのです。もし、彼らのPCにADBツールを使用する悪意のあるアプリがあれば、そのアプリがプライベートなストレージデータを読み取る可能性があるため、問題になる可能性があります。

Googleは、開発者カテゴリに、デフォルトでは無効になっている、ADB経由でのアプリのバックアップ&リストアを可能にする機能を追加すればいいと思うんですけどね。

  • andquot;android: バックアップエージェント "のように、クラウドのバックアップ・リストア機能を利用することができます。 ここで ここで :

アプリケーションのバックアップエージェントを実装するクラスの名前です。 BackupAgentのサブクラスです。属性値には、完全な 修飾クラス名("com.example.project.MyBackupAgent"など)。 ただし、省略形として、名前の最初の文字が ピリオド(たとえば、".MyBackupAgent")がパッケージの後に追加されます。 要素で指定された名前です。デフォルトはありません。デフォルトはありません。 の名前を指定する必要があります。

これはセキュリティ上の問題ではありません。

解決方法は?

このlint警告については、他のすべてのlint警告と同様に、1行のエラーメッセージに記載されている内容よりも詳細な説明を得ることができることに注意してください; 詳細情報を得るためにウェブを検索する必要はありません。

Eclipseでlintを使っている場合、lint warningsビューを開いて、lintエラーを選択し、より長い説明を見るか、エラー行のクイックフィックス(Ctrl-1)を起動し、提案の1つに"Explain this issue"とすると、より詳しい説明も出てきます。Eclipseを使っていない場合、lintからHTMLレポートを作成することができます( lint --html <filename> 警告の横に完全な説明が含まれています)また、特定の問題を説明するようにlintに依頼することもできます。例えば allowBackup は、ID AllowBackup (エラーメッセージの最後に表示される)ので、より詳細な説明は

$ ./lint --show AllowBackup
AllowBackup
-----------
Summary: Ensure that allowBackup is explicitly set in the application's
manifest

Priority: 3 / 10
Severity: Warning
Category: Security

allowBackup 属性は、アプリケーションのデータをバックアップおよびリストアできるかどうかを決定します。 ここで .

デフォルトでは、このフラグは true . このフラグが true を使用することで、アプリケーションデータのバックアップとリストアを行うことができます。 adb backupadb restore .

これは、アプリケーションにセキュリティ上の影響を与える可能性があります。 adb backup は、USBデバッグを有効にしたユーザーが、アプリケーションデータをデバイスからコピーできるようにします。一度バックアップを取ると、すべてのアプリケーションデータをユーザーが読み取ることができます。 adb restore は、ユーザーが指定したソースからアプリケーションデータを作成することができます。リストア後、アプリケーションは、データ、ファイルパーミッション、およびディレクトリパーミッションがアプリケーション自身によって作成されたと仮定してはいけません。

設定方法 allowBackup="false" は、バックアップとリストアの両方からアプリケーションを除外します。

この警告を修正するには、アプリケーションがバックアップをサポートすべきかどうかを決定し、明示的に android:allowBackup=(true|false)

こちらをクリックしてください その他の情報