【デバッグ接続】アプリを識別するための「パッケージ名」を調べよう

Androidのアプリには、アプリ一覧に表示される名前とは別に、「com.google.android.apps.maps」のような「パッケージ名」が存在する。開発者の所有するドメイン名を「.」区切りで逆順に並べたものを先頭に付けることになっているので、他の開発者のアプリと重複することなくアプリを識別可能だ。
デバッグ接続から実行するアプリ管理コマンドでは、このパッケージ名を用いて対象アプリを指定する必要があるので、調べ方を覚えておこう。
Google Playストアに登録されているアプリの場合、アプリの詳細ページのURLにパッケージ名が含まれているので、調べるのは難しくない。しかし、Playストア以外のアプリストアや開発者のサイトでAPKファイルとして配布されているいわゆる「野良アプリ」の場合は、パッケージ名が分からないことがある。
手軽にAPKのパッケージ名を調べたいときは、「VirusTotal」を使ってみよう。様々なアンチウィルスソフトでファイルをスキャンしてくれるサービスだが、AndroidアプリのAPKファイルをスキャンすると「ファイルの詳細」画面でアプリのパッケージ名などの情報が表示されるぞ。
端末に最初からインストールされているアプリのパッケージ名を調べたい場合、端末上でアプリを起動してから、デバッグ接続で「adb logcat -b events -d | find "am_create_activity"」のようなコマンドを実行してみよう。システムログからアプリの起動イベントが抽出表示され、起動したアプリのパッケージ名を調べられるぞ。
また、端末にインストールされている全てのアプリのパッケージ名を列挙する「adb shell pm list packages」というコマンドも存在する。状況に応じて、これらのテクを使い分けよう。




Playストア上のアプリの場合


001

Google Playストアにあるアプリの場合、ブラウザでPlayストアのアプリ個別ページを開いて、アドレスバーの「id=」以降の文字列をコピーしよう。



Playストア外のアプリのAPKの場合


002

APKファイルのパッケージ名を調べるには、「VirusTotal」のサイトにアクセスし、「ファイルを選択」でAPKファイルを選択して「スキャンする」を押そう。
VirusTotal


003

しばらくすると、スキャンが完了して結果が表示される。「ファイルの詳細」に切り換えると、「The application's main package name is」に続いて、アプリのパッケージ名が表示されるぞ。コピペするときは、文末の「.」をコピーしてしまわないように注意しよう。



インストール済みアプリの場合


004

端末上でパッケージ名を調べたいアプリを起動しよう。


005

パソコンのコマンドプロンプト上で「adb logcat -b events -d | find "am_create_activity"」のようなコマンドを実行してみよう。アプリの起動イベントのログが古いものから順に抽出表示される。数字と「,」の後ろから「/」までの間がパッケージ名になっているぞ。
コピペするには、右クリックメニューで「範囲指定」を選んでからドラッグして選択し、右クリックすればいい。


006

「adb shell pm list packages」というコマンドで、インストールされている全てのパッケージ名を列挙することもできる。コマンドの後ろに文字列を加えれば、その文字列を含むパッケージ名だけが抽出表示されるぞ。

関連記事

2014年11月05日08時03分 公開 | カテゴリー: 便利化・快適化 | キーワード: | Short URL
このエントリーをはてなブックマークに追加

最新記事