LoginSignup
1
1

More than 3 years have passed since last update.

Android端末の不要アプリをWindows Powershellから削除するメモ

Last updated at Posted at 2019-08-17

powershell + adbコマンドでやってみます。
adbコマンド実行するには
SDK PlatForm-toolsダウンロードして適当なところに置けばいいだけでした。

adb.exeのパスを通せばコマンドとして普通に使えますが、多分今日しか使わないのでパス通さずadb.exeのあるところで作業してます。
コマンド頭に.\ついてますがお気になさらず

発端は内臓ストレージの逼迫だったわけですが、
内臓ストレージの開放には余り効果がありませんでした。
むかつくアプリの削除はできますが、使ってないのでデータ量少なくて削除してもあんまり効果がありません。

アプリのapkファイルバックアップ

めんどくさいので全部apkバックアップ

apkファイルのパス一覧取得

.\adb shell pm list packages -f | Select-string "package:.+\.apk" | % { $_.matches.Value -replace "^package:", ""  }

テキストファイルに保存

.\adb shell pm list packages -f | Select-string "package:.+\.apk" | % { $_.matches.Value -replace "^package:", ""  } > packagepathlists.txt

apkをまとめてpull

先ほどのテキストファイル使って「カレントディレクトリ\apklists」ディレクトリに保存します。

>$packagelists = Get-Content ".\packagepathlists.txt"
>$packagelists | ForEach{ .\adb pull $_  .\apklists\ }

無効化したアプリをまとめて削除

無効化アプリのリスト

-dオプションで無効化したアプリだけリスティングできます。
'''package:(package name)'''な書式なので頭の'''package:```を削除します
なんか空白行が出てきたので削除・・・。

.\adb shell pm list packages -d | % { $_ -replace "^package:", ""  } | where-object { $_.trim() -ne "" }

無効化アプリのリストを変数につっこんでまとめてuninstall

-kオプションをなくせばファイルごと消せるらしい(復帰不可能)
またはclear でファイルも消せるらしい

>$disableAppLists = .\adb shell pm list packages -d | % { $_ -replace "^package:", ""  } | where-object { $_.trim() -ne "" }
>$disableAppLists | ForEach { .\adb shell pm uninstall -k --user 0 $_ }
>$disableAppLists | ForEach { .\adb shell pm clear $_ }

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1