前提
とある事情でGoogle PlayにあるアプリのAPKの中身を確認する必要があり、エミュレーターにインストールしてあるAPKをPCに持ってきてデコンパイルするという流れをやりましたので、メモとして残しておきます。
adbコマンドは使える状態です。
目標
エミュレーターにインストールされているAPKをadbコマンドを使って取得する。
実践
基本的には下記の記事が参考になりました。
qiita.com
パッケージ名については、アプリ名はわかるけどAPKのパッケージ名がわからないという状態だったので、 ブラウザで「アプリ名 google play」で検索し、URLからパッケージ名を確認する必要がありました。 例えばパズドラなら「jp.gungho.pad」がパッケージ名になります。
play.google.com
パッケージ名を確認したらAPKの場所を確認します。
adb shell pm path パッケージ名
場所がわかったらpullで持ってきます。コマンドを実行したディレクトリにAPKがあれば成功です。
adb pull APKのファイルパス
デコンパイルについては下記の記事を参照ください。
エミュレーターを指定して実行
エミュレーターを複数起動している場合はこれまで書いてきたコマンドでは実行できません。対象のエミュレーターを指定してコマンドを実行する必要があります。
下記のコマンドでデバイス一覧を確認し、
adb devices
adbコマンドを使うときに「-s」オプションを使ってデバイスを指定してあげればOKです。例えば下記のような感じです。
adb -s デバイス名 shell pm path パッケージ名