ブラウザの対応を確認中…
Android のプリインストールアプリを USB 経由で剥がす — 安全度つき、元に戻せて、root 化は不要。
パッケージ一覧は USB ケーブル経由で端末から読み取り、このブラウザーの中だけに置かれます。どのアプリが入っているかがアップロードされることはありません。
ブラウザの対応を確認中…
Android 端末を Chromium 系ブラウザーに USB でつなぐと、このページが端末上のすべてのパッケージを一覧します。名前、システムかサードパーティか、有効/無効/すでに削除済み、バージョン、インストール元、占有サイズ。各行は独自の安全度データベースと突き合わせられ、そのパッケージが何をするのか、なくなると何が止まるのか、そしてなぜそう判定したのか(AOSP のソースパス、ストアでの配信状況、プラットフォーム上の役割)まで表示します。端末には何もインストールせず、何もアップロードしません。一覧は端末側の pm list packages が作り、ケーブル経由で読み取るだけです。
pm uninstall --user 0 が実際にしていること何も削除していません。プリインストールアプリは読み取り専用のシステムパーティションにあり、root なしでは消せません。このコマンドが外すのは「そのアプリがユーザー 0(つまり端末の持ち主であるあなた)にインストールされている」という*記録*だけです。APK はそのまま残るので、cmd package install-existing --user 0 <package> を実行すれば、ダウンロードもストアのアカウントもなしに即座に戻ります。-k を付ければアプリのデータも残るため、復元したときに元の状態から続けられます。root なし debloat の仕組みはこれがすべてです。容量は空きません(APK はそこにあります)が、アプリは動かず、更新もせず、表示もされず、電池も使いません。pm disable-user --user 0 はもっと穏やかな版で、インストールされたまま止まるだけ。pm enable で確実に戻せるので、まずはこちらから試すべきです。
パッケージは recommended(広告・テレメトリー・プリインストールされた一般アプリ。消えて困るのはそのアプリだけ)、advanced(実際に副作用のあるメーカー製サービス)、expert(印刷・ファイル選択・SMS・アクセシビリティなど、実際に使われている機能が壊れる)、unsafe(ソフトブリックまたはデータ消失に至る)に分類されます。最後の段階の行は、開いて自分でロックを外すまで操作できません。さらに、このページからは絶対に削除できない一群があります。SystemUI、設定、シェルパッケージ、パッケージインストーラー、権限コントローラー、通話、キーボード、Play services。選定基準は被害の大きさではなく、「壊れたあとに自分で直せるか」だけです。それ以外はすべて**不明**として報告され、不明は評価済みのどの段階よりも*危険側*として扱われます。誰もそのパッケージについて検証できる一文を書けなかった、という意味だからです。だから警戒色で描かれ、並び順では末端に置かれ、一括選択には決して含まれません。項目が足りないのは不便なだけですが、根拠のない recommended は誰かの端末です。
これらのページで行われた warning・danger 級の操作はすべて、このブラウザー内の復元センターに、取り消しコマンドとセットで記録されます。ボタン 1 つでそのコマンドを接続中の端末に実行できます。取り消しコマンドは操作の種類から*導出*され、実行したページが渡すことはありません。だから存在しない解毒剤が表示されることはありません。さらにその上に、同じコマンドをデスクトップの adb shell 形式で書いた常設の救出ブロックがあります。このページでは助けられない場合——端末がまともな画面まで起動しなくなった場合——のためです。それは絵空事ではありません。間違ったパッケージを消せば、真っ暗な画面やブートループに落ちることがあり、しかも許可画面を描くのが SystemUI なので、新しいパソコンから USB デバッグを承認することすらできません。そこから抜ける唯一の道はリカバリーからの初期化で、端末上のすべてが消えます。このページはそれを脚注ではなく、ボタンのある場所に書いています。
選択は持ち運べます。消したいパッケージにチェックを入れ、一覧を JSON でダウンロードして、次の端末にドロップするだけです。ファイルに入るのはパッケージ名だけで、安全度もコマンドも入りません。だから読み込みによって、このページが自分で組み立てていない命令が入り込むことはなく、そのうち何件が実際にこの端末にあるのかも明示されます。逆方向からは、Web ADB Toolkit のハブに端末ダッシュボードと他のツールがあり、ストレージアナライザーは何を消すか決める前に容量を食っているものを見せてくれます。
Android は複数ユーザーに対応していて、`0` は主ユーザー、つまり端末の持ち主です。このフラグはアンインストールを端末全体ではなくそのユーザーに限定します。root なしで実行できるのはこのためで、システムパーティション上の APK には手を触れず、あなたにインストールされているという記録だけを外します。だからこそ `cmd package install-existing --user 0 <package>` で元に戻せます。フラグなしの `pm uninstall` は全ユーザーからの削除を試み、システムアプリなら単に拒否されます。
root は `/system` から APK を削除して容量を空けます。`--user 0` は APK を残したまま、あなたから見えなくするだけです。実際の違いは 3 点。root なしでは容量は空かず、初期化すればすべて戻り、コマンド 1 つで取り消せます。root 削除は恒久的で、実際に容量が空き、システムパーティションが更新の想定と食い違うため OTA を壊すことがあります。いらないプリインストールを消す目的なら、ほぼどの場合も root なしのほうが割の良い取引です。
戻ることがよくあります。APK は削除されていないので、システム更新があなたのユーザー向けに再登録することがあり、初期化すれば必ず戻ります。サイドロードやストアから入れたアプリは別の話です。ここでの操作はどれも設計上、恒久的ではありません。そしてその性質こそが安全性の裏返しでもあります。削除がいつまでも続くと期待するより、書き出した選択プロファイルを保存しておいて、大きな更新のあとに当て直してください。
ADB を使うだけではシステムパーティションを書き換えず、ブートローダーもアンロックせず、Knox のようなフラグも立てません。これらのコマンドは Android 自身のシェルツールの一部で、端末側から元に戻せます。これは法的助言ではなく、挙動のおかしい端末についてメーカーが何か言う余地は残ります。ただしこのページはどのパーティションにも書き込みませんし、初期化すれば出荷時とまったく同じ状態に戻ります。
あります。このページはその事実を前提に作られています。SystemUI、キーボード、設定アプリ、Play services を消すと、操作できる画面も、パスワードを打つ手段も、別のパソコンから USB デバッグを承認する手段もない端末になり得ます。その状態は初期化でしか抜けられず、中身はすべて失われます。その特定の一群はここでは完全にブロックされ、読み込んだプロファイルからでも選択できません。実際に大きな被害を出し得るそれ以外は unsafe と判定され、行を開いてロックを外すまで操作できません。アンインストールの前に無効化を。`pm disable-user` は確実に取り消せます。
デスクトップの Chrome または Edge です。WebUSB は Chromium 系だけの API で、Firefox と Safari は USB デバイスを開けません。端末側は開発者向けオプションで USB デバッグを有効にする必要があり、Windows では ADB インターフェイスに Zadig で WinUSB ドライバーを入れる必要がたいていあります(接続に失敗した場合、その手順をページが案内します)。macOS、Linux、ChromeOS はドライバー不要です。
端末ダッシュボードと、その他の ADB ツール。
何を消すか決める前に、端末の容量を食っているものを確認できます。