パッケージ名と ADBを介してAndroidデバイスにインストールされたアプリの共通名の両方を取得するか、少なくともパッケージ名がわかっている場合は共通名を取得する可能性を探しています。私たちのサイトをすばやく検索すると、2つの関連する質問が表示されましたが、私の問題は解決しません。
- パッケージ名(com.android.blablaなど)を持つアプリの共通名を取得するにはどうすればよいですか?(コマンドラインまたは付属のアプリ)はADB経由では機能しません(ただし、手動で検索する必要があるアプリを使用します)、OPのリクエストに一致します
- パッケージ名に基づいてアプリを見つける方法は?Google Playの URLルックアップに戻りますが、必ずしも適切ではありません(すべてのアプリがそこで利用できるわけではないため)。
可能な場合は、デバイスから直接情報を取得する方法を探しています。これらの2つの質問にある「任意の」方法(「Webルックアップ」や「アプリ経由」を含む)ではありません。
パッケージの詳細を取得するために利用できる複数のツールがあることを知っています。
adb dumpsys package
:これにはすべてのパッケージが詳細情報とともにリストされますが、「共通名」は表示されませんadb shell pm list
:パッケージ名のみを提供しますaapt
共通名を取得することはでき.apk
ますが、最初にデバイスからファイルをプルする必要がありますが、これはあまり便利ではありません(そして、多くのアプリや大きなアプリをインストールすると明らかに遅くなります)
私は何か見落としてますか?情報はデバイス上にある必要があることを知っています(GUIでアプリ名を表示する方法は他にありますか?.apk
GUIが「共通名」を必要とするたびにAndroidがファイルを解析することを疑います)。ADBを直接使用して、それを手に入れる方法はありますか?
TL; DR
背景(誰かが好奇心が強い場合):アクロバットに戻らなくても、どのデバイスからでもユーザーアプリのリストをすばやく取得できるようにしたいです。パッケージ名のリストはを使用して取得できますadb shell pm list -3
が、これらはパッケージ名のみであるため、アプリの認識は推測作業です。したがって、特定のパッケージ名の共通名を取得するADBコマンドがある場合、次のようなループを使用するだけでfor pkg in $(adb shell pm list -3); do echo "- $(adb <whatever_the_command_is> $pkg) ($pkg)"; done
、インストールされたすべてのユーザーアプリの一覧をパッケージ名と共に「人間が読み取れる形式」で取得できます。
ユースケース:
- インストールされている「スーパーフロース」アプリを確認します(削除できます)。
- 複数のデバイスからのリストをクロスチェック
- ドキュメンテーション ;)
- そしておそらくもっと(しかし、上記の3は私がそれを必要とするものです)