Saya mencari kemungkinan untuk mengambil keduanya , nama - nama paket dan nama umum aplikasi yang diinstal pada perangkat Android melalui ADB - atau setidaknya untuk mengambil nama umum jika nama paket diketahui. Pencarian cepat di situs kami memunculkan dua pertanyaan terkait, tetapi mereka tidak menyelesaikan masalah saya:
- Bagaimana cara mendapatkan nama umum aplikasi yang memiliki nama paket (seperti com.android.blabla)? (baris perintah atau aplikasi yang disertakan) tidak berfungsi melalui ADB (tetapi menggunakan aplikasi yang harus Anda cari secara manual), cocok dengan permintaan OP
- Bagaimana menemukan aplikasi berdasarkan nama paket? kembali saja ke pencarian URL di Google Play , yang tidak selalu cocok (karena tidak semua aplikasi tersedia di sana).
Saya mencari cara untuk mengambil informasi langsung dari perangkat, jika mungkin - bukan cara "apa pun" (termasuk "pencarian web" atau "melalui aplikasi") karena kedua pertanyaan itu memilikinya.
Saya tahu ada beberapa alat yang tersedia untuk memperoleh detail paket:
adb dumpsys package
: Meskipun ini mencantumkan semua paket dengan banyak detail, "nama umum" tidak ditampilkanadb shell pm list
: hanya memberikan nama paketaapt
akan dapat memperoleh nama umum, tetapi harus terlebih dahulu menarik.apk
file dari perangkat, yang tidak terlalu nyaman (dan jelas akan sangat lambat dengan banyak dan / atau aplikasi besar diinstal)
Apakah saya melewatkan sesuatu? Saya tahu informasi itu harus ada di perangkat (bagaimana lagi itu bisa menunjukkan nama aplikasi di GUI? Saya ragu Android mem-parsing .apk
file setiap kali GUI membutuhkan "nama umum"). Jadi apakah ada cara untuk mendapatkannya, menggunakan ADB secara langsung?
TL; DR
Latar belakang (jika ada yang ingin tahu): Saya ingin dapat dengan cepat mendapatkan daftar aplikasi pengguna dari salah satu perangkat saya, tanpa harus kembali ke akrobat. Daftar nama paket mereka yang bisa saya ambil menggunakan adb shell pm list -3
, tetapi karena itu hanya nama paket, mengenali aplikasi adalah pekerjaan menebak. Jadi, jika ada beberapa perintah ADB untuk mengambil nama umum untuk nama paket yang diberikan, saya bisa menggunakan loop seperti for pkg in $(adb shell pm list -3); do echo "- $(adb <whatever_the_command_is> $pkg) ($pkg)"; done
- dan mendapatkan daftar semua aplikasi pengguna yang terinstal dalam "format yang dapat dibaca manusia" bersama dengan nama paket mereka.
Kasus penggunaan:
- Lihat aplikasi "superflous" apa yang diinstal (yang bisa saya hapus)
- Periksa silang daftar dari beberapa perangkat
- Dokumentasi;)
- dan mungkin lebih (tetapi 3 di atas adalah apa yang saya butuhkan)