AndroidManifestのいくつかのプロパティ
6074 ワード
1、allowBackup
Googleが2010年に発表したAndroid 2.2 Froyoシステムでは、ユーザーがシステムアプリケーションとサードパーティアプリケーションのapkインストールパッケージとアプリケーションデータをバックアップし、ブラシやデータが失われた後にアプリケーションを復元できるようにするシステムバックアップ機能を導入しました.
サードパーティのアプリケーション開発者は、アプリケーションのAndroidManifestを必要とする.xmlファイルでallowBackupフラグ(デフォルトはtrue)を設定して、アプリケーションデータがバックアップまたはリカバリできるかどうかを設定します.
このフラグがtrueに設定されている場合、アプリケーションデータは、携帯電話がROOTを取得していない場合にadbデバッグツールによってバックアップおよびリカバリすることができる.
これにより、悪意のある攻撃者がユーザーの携帯電話に接触した場合、短時間で携帯電話のUSBデバッグ機能を起動し、AllowBackupの脆弱性の影響を受けるアプリケーションのデータを盗み、ユーザーのプライバシーの漏洩や財産の損失をもたらすことができる.
これに関連する分析は、リンクを参照できます.
したがって、重要な情報のアプリケーションについては、falseとして設定する必要があります.たとえば、次のようにします.
............
<application
android:name=".TransferApp"
android:allowBackup="false"
.............
2、supportsRtl
Android StudioがModuleを新規作成する場合、アプリケーションに対応するAndroid Manifestファイルには、次のようなsupportsRtlプロパティがあります.
................
<application
android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true">
</application>
................
このプロパティについて、Androidの公式サイトのドキュメントは次のように解釈されています.Declares whether yourアプリケーションis willing to support right-to-left(RTL)layouts.
If set to true and targetSdkVersion is set to 17 or higher, various RTL APIs will be activated and used by the system so your app can display RTL layouts.
If set to false or if targetSdkVersion is set to 16 or lower, the RTL APIs will be ignored or will have no effect and your app will behave the same regardless of the layout direction associated to the user’s Locale choice (your layouts will always be left-to-right).
ドキュメントから分かるように、RTLはアプリケーションが右から左(right-to-left)までのレイアウトをサポートするかどうかを宣言するために使用されます.supportsRtlがtrueであり、実行されるSDKバージョンが17以上である場合、RTL対応のAPIがシステムによってアクティブ化され、アプリケーションは右から左へのレイアウトをサポートすることができる.
セットアップ-開発者オプションでは、右から左へのレイアウト方向を強制的に使用できます.RTLをサポートするアプリケーションでは、右から左へのレイアウトが表示されます.
3、largeHeap
1つのアプリケーションがlargeHeapを使用すると、Dalvik仮想マシンにより大きなメモリ領域を割り当てるようにシステムに要求されます.manifestファイルアプリケーションノードにandroid:largeHeap=「true」を追加するだけで便利です.例:
.................
<application android:icon="@drawable/icon"
android:allowBackup="false"
android:label="@string/app_name"
android:debuggable="true"
android:theme="@android:style/Theme.Black"
android:largeHeap="true">
.................
largeHeapの解析については、リンクを参照してください.
4、configChanges
AndroidのコンポーネントActivityはAndroidManifestにあります.xmlファイルでは、携帯電話の状態の変化をキャプチャするためのパラメータandroid:ConfigChangesを指定できます.
Activityにandroid:configChanges属性を追加すると、指定した属性(Configuration Changes)が変更されると、AMSはActivityのonConfiguration Changed関数をコールバックするよう通知します.
設定方法は次のようになります.
.............
<activity android:name=".ConfigChangedTesting"
android:label="@string/app_name"
android:configChanges="orientation|screenSize">
.............
上記の構成では、Activityが画面方向の変化を検出すると、onConfigurationChanged関数がコールバックされます.注意Android 3.2以降、orientation|screenSizeは組み合わせて使用する必要があります.そうしないと、onConfigurationChangedはコールバックされません.解析に対応し、リンクを参照できます.