最終手段 – adb shell で文字化けファイルを削除

Androidではたまにファイルを削除したはずなのに「残像」のようなゴミが残ってしまうことがあります。Shizukuを使って権限を獲得して操作を試みても、どうしても削除できないときがあります。ファイル名は異様に長く、文字化けしていて、見ているだけで非常にストレスたまります。数ヶ月間もモヤモヤしたまま我慢してきましたが、ついに観念してUSBケーブルを繋ぎました。

本文では、この最終手段を記録しておきます。


1. 事前準備 – 端末側(スマートフォン側)の設定

端末側で「USBデバッグ」を有効にする必要があります。

操作方法がわからない方はGoogleで検索するか、AIアシスタントに聞いてみてください。

usb debug on
usb debug on

2. 事前準備 – PC側の設定

PC側に adb shell ツールをダウンロードします。

ここでダウンロード。

LineageOSのようなカスタムROM関連のサイトは、こうしたツール類が非常に充実しています。 ダウンロードして、ファイルを解凍しておきます。

3. 操作開始

手順通りやれば失敗することはないはずです。

  1. USBで接続し、デバッグモードを有効にします。
  2. Windowsでコマンドプロンプト(cmd)を管理者権限で実行します。
  3. cdコマンドを使って、adb shellツールがあるフォルダまでパスを移動させます。
  4. adb shell と入力します。この時、スマホ側に「このコンピュータを信頼しますか?」といった内容のメッセージが表示されるので、「許可」をタップします。今後も同じPCを使う場合は「常に許可」にチェックを入れておくと便利です。
  5. 接続に成功すると、プロンプトにデバイス名が表示されます(下図では cheetah となっていますが、これは私の Pixel 7 Pro のコードネームです)。
  6. 次に、cd コマンドで削除したいファイルがあるディレクトリへ移動します。 (例:cd /sdcard/Download
  7. ls -i と入力してファイル一覧を表示します。下図のように文字化けしたファイルが表示されたら、その左側にある6桁の数字(iNode番号)をメモします。 (例:私の場合は 348413 でした)
  8. 以下のコマンドを入力して削除を実行します: find . -inum 348413 -exec rm -rf {} +
削除
削除

これで無事に削除できるはずです。

Pixel 7 Proで実証済みです。

4.後片付け

開発者ではなければ、通常USB Debugをオフにすることを忘れず。

後悔

今日一番後悔しているのは、この方法を試す前に、削除前の「文字化けしたファイル」のスクリーンショットを撮り忘れたことです。実は、成功するとは思っていませんでしたから。

終わり