今回は、Android12のタスクキル対策とシステムアプリの削除の2本立てでお送りします。
なお、タスクキルとシステムアプリの削除はそれぞれ別の話で関連していません。
Android12のタスクキル対策
Android12からバッググラウンドで動いているアプリをシステムが勝手に強制終了させる、いわゆるタスクキルの機能が強化されてしまいました...。タスクキル対策は次のとおり。
非root(ADBコマンド)
パソコンからADBコマンドをコマンドプロンプトに入力します。
- スマートフォン本体を起動し、設定→システム→詳細設定→端末情報→ビルド番号を連打して「開発者向けオプション」を表示、タップして「USBデバッグ」をオンにする
- パソコンにMinimal ADB and Fastbootをダウンロードして展開(解凍)する
- Minimal ADB and Fastbootのフォルダを、シフトキーを押しながら右クリックして「コマンドウィンドウをここに開く」を選択する
- スマートフォン本体を起動したまま、パソコンのUSBに接続して、コマンドプロンプトに以下のコマンドを入力する
adb shell "/system/bin/device_config put activity_manager max_phantom_processes 2147483647"
adb shell "/system/bin/device_config set_sync_disabled_for_tests persistent"
非root(設定)
スマートフォン本体の設定→システム→開発者向けオプションの「キャッシュに保存されたアプリの実行を停止」を無効にします。
root(Magiskモジュール)
MagiskモジュールのLet the Ghosts Out(LETTHEGHOSTSOUT.ZIP)をインストールするだけで上記のコマンドを起動時に自動で実行してくれます。
root(Xposedモジュール)
XposedモジュールのApp Settings Rebornでアプリを常駐化すると驚くほどタスクキルされなくなるらしい。
また、XposedモジュールのAppRetentionHookでは、システムのタスクキル処理の内容や手順を変更することでアプリのバッググラウンドでの動作を安定させることができるみたいです(使ったことはないので情報提供としてお知らせします)。
Android12のシステムアプリの削除
Android11からシステムファイルのアクセスが制限されたため、root対応のファイル管理アプリなどからシステムアプリを削除できなくなりました...。(削除しても復活する!?)
非root(パソコンソフト)
ADBコマンドでシステムアプリを削除、無効化できますが、ADB AppControlを使って削除するのが簡単でわかりやすいです。
root(要rootアプリ+Magiskモジュール)
De-Bloaterを使うとMagiskの機能を使用してシステムアプリをシステムレスで簡単に削除できます。リストから削除したいアプリを選んで「削除」をタップ、再起動するだけです。
(イメージ的にはシステムアプリを動作しないように別のフォルダに移動させている感じ)
また、De-Bloaterでシステムアプリを削除して、ファイル管理アプリなどからそのアプリの古いバージョンを(ユーザーアプリとして)インストールすることで、システムアプリをダウングレードできます。
個人的には、削除したアプリのリストをバックアップしておいて、Android(システム)の再インストール時に一気にリストアすると、ホーム画面がスッキリして気持ちいいです。