<profileable>

構文:
<profileable android:shell=["true" | "false"] android:enabled=["true" | "false"] />
上位の要素:
<application>
説明:
プロファイラがこのアプリにアクセスする方法を指定します。
属性:
android:shell
デバイスのユーザーが、次のようなローカル デバッグツールでこのアプリをプロファイリングできるかどうかを指定します。 設定されていない場合、または false に設定されている場合、こうしたツールや API は、アプリが debuggable である場合にのみ機能します。デバッグ可能なアプリはパフォーマンスを著しく低下させるため、タイミングを正確に測定するうえで有用ではありません。正確な結果を得るために、この要素はローカルのパフォーマンス測定に使用することを強くおすすめします。

この要素は、リリースビルドや製品版ビルドでローカル プロファイリングを可能にするために設計されています。ホスト プロファイリング ツールやシェルプロセスでメモリデータを読み取ることができないため、データ漏洩のリスクを低減できます。読み取りできるのはスタック トレースのみですが、これは通常、リリースビルドで難読化されているかシンボルが欠落しています。

android:enabled
アプリをシステム サービスまたはシェルツールでプロファイリングできるかどうかを指定します。シェルツールの場合は android:shell も設定します。false の場合、アプリのプロファイリングは一切できません。デフォルトは true です。 この属性は API レベル 30 で追加されました。
導入時の API レベル:
API レベル 29