Android 端末から APK を adb pull で取得する

シェアする

Android アプリやエミュレーターをいじってると Android 上にある apk ファイルを取得したい事がある。その方法を簡単にではあるが解説しよう。

Android SDK をインストールする

Android 端末から apk ファイルを取得するには adb コマンドを利用するのだが、その為には Android SDK をインストールする必要がある。

Download Android Studio and SDK Tools  |  Android Developers

Android Studio とのセットもしくは Download Options からコマンドラインツールのみダウンロード可能だ。ダウンロードしたファイルを実行してインストールしよう。

自分の PC は全て Android SDK インストール済みなので解説は省略する。

Android の設定を変更する

Android SDK がインストールできたら次に Android 端末の設定を変更する。開発者向けオプションを開き、 USB デバッグの項目を有効にしよう。

開発者向けオプションが表示されていなければ「設定」の「端末情報」にある「ビルド番号」を7回ぐらいタップしたら有効になると思う。

adb pull コマンドを利用して apk ファイルを取得する

adb コマンドが利用できるようになったらコマンドプロンプトや iTerm などから以下の実行してみよう。

> adb shell pm list packages -f
package:/system/priv-app/CarrierSetup/CarrierSetup.apk=com.google.android.carriersetup
package:/data/app/com.skype.raider-3czUL_0ErhjAHW_Fhum09A==/base.apk=com.skype.raider
package:/system/priv-app/CtsShimPrivPrebuilt/CtsShimPrivPrebuilt.apk=com.android.cts.priv.ctsshim
(以下省略

これは現在インストールしてあるパッケージの一覧を表示するコマンドだ。単にパッケージ名を表示するだけなら -f はいらないのだが、apk ファイルを取得する目的であれば -f で表示される情報が必要となる。

このままでは一覧が流すぎて探すのが大変なので、以下のように絞り込むとよい。

> adb shell pm list packages -f | grep pubg
package:/data/app/com.pubg.krmobile-Sb8dvJtHw_zYfUapemFUaw==/base.apk=com.pubg.krmobile

例えば PUBG MOBILE の apk が欲しければこのように | grep pubg と入力すればよい。

目的の apk が分かったら adb pull コマンドを実行しよう。

> adb pull /data/app/com.pubg.krmobile-Sb8dvJtHw_zYfUapemFUaw==/base.apk
3275 KB/s (34913556 bytes in 10.410s)

成功したら現在のディレクトリに base.apk ファイルが保存されているはずだ。

これで apk ファイルを取得できた。あとは煮るなり焼くなりしよう。

Sponsored Link

シェアする

フォローする