moshimore Knowledge

アプリ開発・紹介とメモ書き、日々の日記。

docomo端末のプラスメッセージアプリのapkを抜き出す方法について

f:id:moshimore:20180710165235j:plain
プラスメッセージアプリがインストールされているdocomo端末からプラスメッセージのapkを抜き出す方法を説明します。
抜き出したapkをSIMフリー端末にインストールすれば、プラスメッセージを利用できるらしいです。
但し、docomoのSIMを端末に入れておく必要があります。

パッケージ名(パッケージID)を調べる

docomo端末で動作しているプラスメッセージアプリのパッケージ名(パッケージID)を調べます。
パッケージ名を調べるには、「開発者向けオプション」を辿る必要があるので、「開発者向けオプション」をタップできる状態にしておきます。

knowledge.moshimore.jp

「開発者向けオプション」から「実行中のサービス」をタップします。

f:id:moshimore:20181021121125p:plainf:id:moshimore:20181021150308p:plain

プラスメッセージが動作している場合は、一覧の上の方に「+メッセージ」が表示されているので、それをタップします。
f:id:moshimore:20181021150310p:plain

「プロセス」という項目に「com.nttdocomo.android.msg」と表示されるので、これがプラスメッセージアプリのパッケージ名(パッケージID)になります。
f:id:moshimore:20181021150540p:plain

apkの保存場所を調べる

パッケージ名(パッケージID)を基にしてapkの保存場所を調べていきます。
端末とパソコン(Windows)をUSBで接続して、コマンドプロンプトからadbコマンドを使って調べます。
(adbのインストールについては、別途記載したいと思います。)

インストールされているパッケージ一覧を調べるには、以下のコマンドになります。

adb shell pm list packages -f

今回は、プラスメッセージアプリ(com.nttdocomo.android.msg)だけが分かれば良いので、以下のコマンドになります。

adb shell pm list packages -f | findstr com.nttdocomo.android.msg

すると、以下のような結果が返ってくるので、apkが保存されている場所は「/data/app/com.nttdocomo.android.msg-1/base.apk」だと言うことが分かります。

package:/data/app/com.nttdocomo.android.msg-1/base.apk=com.nttdocomo.android.msg

apkを抜き出す

apkの保存場所が分かったので、いよいよ抜き出します。
apkに限らず、以下のコマンドでファイルを抜き出すことができます。

adb pull /data/app/com.nttdocomo.android.msg-1/base.apk

抜き出した先を指定したい場合は、以下のコマンドになります。(EドライブのWorkフォルダに抜き出したい場合)

adb pull /data/app/com.nttdocomo.android.msg-1/base.apk E:\Work

ところが、何かの権限に触れたのか、以下のエラーメッセージが表示されて抜き出すことができませんでした。

adb: error: remote object '/data/app/com.nttdocomo.android.msg-1/base.apk' does not exist

仕方がないので、とりあえず、SDカードなどの書き込み権限がある場所にapkをコピーすることにします。
SDカードにWorkフォルダを作った後にシェルに入って、SDカードの場所を調べます。

adb shell
cd storage
ls
7191-3210 emulated self

端末によって変わってくると思いますが、「/storage/7191-3210/」配下がSDカードだということが分かりました。
更に「/storage/7191-3210/」配下に「Work」フォルダがあることを確認して、シェルを抜けます。

cd 7191-3210
ls
Work
exit

SDカードの場所も分かったので、apkをコピーします。

adb shell cp /data/app/com.nttdocomo.android.msg-1/base.apk /storage/7191-3210/Work/

SDカードへ無事にコピーできたら、SDカードを直接パソコンに入れてapkを得るか、もしくは、再びコマンドで抜き出します。
今度は、エラーメッセージが表示されることなく抜き出すことができました。

adb pull /storage/7191-3210/Work/base.apk
/storage/7191-3210/Work/base.apk: 1 file pulled. 14.9 MB/s (31140726 bytes in 1.998s)

以上、docomo端末のプラスメッセージアプリのapkを抜き出す方法についてでした。