android:installLocation
マニフェスト属性を使用して、SD カードへのアプリのインストールを許可できます。これは、SD カードへのインストールを推奨するか、単に許可するかに応じて、preferExternal
またはに設定できます。auto
デフォルトでは、下位互換性のためにアプリケーションを SD カードにインストールすることはできないため、ユーザーがこの機能を使用できるようにする場合は、この機能をオプトインする必要があります。
ドキュメントから:
アプリケーションが外部ストレージにインストールされている場合:
- 外部ストレージがデバイスにマウントされている限り、アプリケーションのパフォーマンスに影響はありません。
- .apk ファイルは外部ストレージに保存されますが、すべてのプライベート ユーザー データ、データベース、最適化された .dex ファイル、および抽出されたネイティブ コードは内部デバイス メモリに保存されます。
- アプリケーションが保存されている一意のコンテナは、ランダムに生成されたキーで暗号化されており、最初にインストールしたデバイスだけが復号化できます。したがって、SD カードにインストールされたアプリケーションは、1 つのデバイスに対してのみ機能します。
- ユーザーは、システム設定を通じてアプリケーションを内部ストレージに移動できます。
したがって、ライセンス保護についてあまり心配する必要はありません。この機能には暗号化が組み込まれています。また、通常、ライセンス保護について心配する必要はありません。コピー防止や DRM は、著作権侵害者よりも正直なユーザーに害を及ぼす傾向があるためです。誰かがあなたのアプリを使用できる限り、誰かがそれを海賊版にすることができます。解読不可能な DRM スキームを作成することはほぼ不可能です。アプリが既に内部ストレージにある場合は、すでに海賊版になっている可能性があります。ただし、ほとんどのユーザーは正直であり、マーケットからアプリを購入するため、著作権侵害を止めてもあまり利益は得られません (海賊版アプリをダウンロードするほとんどの人は、マーケットで有料アプリにアクセスできない人です。多くの国ではまだ利用できません)。
いずれにせよ、結果として、これはアプリと同じくらい安全である必要があり、ユーザーはアプリを保存する場所をより柔軟に選択できるようになります。予期しないアプリケーションの破損を引き起こすバグの場合、デフォルトでは有効になっていませんが、有効にしても完全に安全です。