【Android】デバイスにインストールされてるアプリをPCに抽出する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Android】デバイスにインストールされてるアプリをPCに抽出する

2022-10-6 |

AndroidデバイスにインストールされてるアプリをPCに抽出したい!

概要

今回の記事では、AndroidデバイスにインストールされてるアプリをPCに抽出する手順を掲載する。

仕様書

環境

  • Android Studio Dolphin 2021.3.1(adb.exeが含まれてるSDKが必要)

動作確認したAndroidのバージョン

  • Android 9
  • Android 10
  • Android 12
  • Android 13

手順書

「前提条件(前準備)編」と「adb編」の2部構成です。

前提条件(前準備)編

抽出したいアプリの「apkファイルの名前」と「保管場所」が必要になる。下記の記事に手順を掲載してるので参考にして下さい。

この記事では、下記を抽出したいアプリとして説明する。

package:/system/app/XXXXXXXX/XXXXXXXX.apk=com.XXXXXXXX.XXXXXXXX

必要なのはpackage:=の間の/system/app/XXXXXXXX/XXXXXXXX.apkの部分。

adb編

「単一のデバイスのみが接続されてる場合」と「仮想デバイスを含み複数のデバイスが接続されてる場合」で手順が変わるので2パターン掲載する。

単一のデバイスのみが接続されてる場合

  1. 下記のコマンドを実行すると対象のアプリのapkファイルがコマンドプロンプトのカレントディレクトリの中に保存される。
    adb pull /system/app/XXXXXXXX/XXXXXXXX.apk

仮想デバイスを含み複数のデバイスが接続されてる場合

  1. デバイスのポート番号が必要となるので、下記のコマンドを実行して接続されてるデバイスのポートの一覧を取得する。
    adb devices -l

    出力例。
    1行目は実デバイス。2行目は仮想デバイス。

    XXXXXXXXXX             device product:XXXX model:XXXX device:XXXX transport_id:300
    emulator-XXXX          offline transport_id:301
  2. 行末尾のtransport_id:XXXXXXの数値を使うので覚えておく。

下記のコマンドのXXXの部分をポート番号に置き換えて実行すると対象のアプリのapkファイルがコマンドプロンプトのカレントディレクトリの中に保存される。

adb -t XXX pull /system/app/XXXXXXXX/XXXXXXXX.apk

まとめ(感想文)

既にPlayストアで非公開になってしまったアプリを他のAndroidデバイスからゲットする際に良いかもね!