困った時の自分用メモ

読んだ本を考察してメモったり、自分でいじった物の感想をメモったりする場。週1更新を目指します。

Androidの話~Android端末のAPKを抽出する方法~

スマフォに入れていた自作アプリを配布したいけど、そのプロジェクトを消してしまった時に、実行ファイルだけどうしても欲しいという時に、抽出する方法を調べてみた。

sp7pc.com

ここの人の情報を参考にさせてもらった。
ありがとうございます。

〇パッケージ名を調べる
これは、筆者はAndroid端末保有なので、「Aplin ポスト無効化マネージャ」をインストールして確認

play.google.com

ここでは、パッケージ名がcom.package.nameだったとして、話を進める。

〇パスを抽出する
前提として、windows環境での話。
また、AndroidSDK一式をダウンロードし、adbが使える状態になっている事。
adbに関して言えば、パスを通していなくても、adb.exeがplatform-toolsにあると思うので、
コマンドプロンプト上でその階層までcdして移動すれば、adbコマンドは使える。
覚えておこう。

話を戻して、

筆者はwindows環境なので、findstrを使った。
macだと、grepらしい。

adb shell pm list packages -f | findstr com.package.name

すると、こんな感じのパスが表示される

package:/data/app/com.package.name-2/base.apk=com.package.name

必要なのは、
/data/app/com.package.name-2/base.apk

ここの情報

〇パッケージを抽出する
adb pull /data/app/com.package.name-2/base.apk

これで、adbを実行している場所に、apkが保存される。

〇ついでに、インストールする方法
adbを実行する階層に、apkを置いて、

adb install name.apk

でおk。
上書きとかしたい場合は、オプションがあったと思うけど、その辺は自分で調べましょう(殴