Как узнать имя пакета андроид приложения
Перейти к содержимому

Как узнать имя пакета андроид приложения

  • автор:

[Android] Как узнать название пакета и activity из apk-приложения

Задача: узнать название пакета Android-приложения в формате apk и запускаемого активити.

Решение:

Можно взять и открыть AndroidManifest.xml, чтобы посмотреть нужные данные, к примеру, через команду cat:

versionCode minSdkVersiontargetSdkVersionnameprotectionLevel versionName allowBackuphardwareAcceleratediconlabelthemescreenOrientation launchMode permissionvalueandroid*http://schemas.android.com/apk/res/ androidpackagmanifestcom.mobileshop2.uses-sdkuses-permissionandroid. permission.INTERNETandroid.permission.WAKE_LOCK)android.permission. ACCESS_COARSE_LOCATIONandroid.permission.VIBRATE)com.mobileshop. permission.C2D_MESSAGE*com.google.android.c2dm.permission.RECEIVE applicatioactivitycom.intent-filteractionandroid.intent.action. MAIcategory android.intent.category.LAUNCHEreceiver'com.mobileshop. GcmBroadcastReceiver'com.google.android.c2dm.permission.SEND&com. google.android.c2dm.intent.RECEIVEservice#com.mobileshop. GcmIntentService meta-dataserver_addresshttp://mobileshop.com/D

Большая часть содержимого файла AndroidManifest.xml является нечитабельной, т.к. сам файл является двоичным, а то, что поддается чтению, имеет не самый удобный формат для восприятия. Мы видим, что имя пакета имеет название com.mobileshop, но мы не видим название запускаемого активити.

Можно воспользоваться услугами утилиты AAPT (Android Asset Packaging Tool), которая представляет из себя упаковщик для сборки приложения, библиотек и ресурсов в единый apk-файл. Утилита входит в состав Android SDK и располагается в моем случае в директории /Applications/AndroidSDK/build-tools/17.0.0/.

Чтобы узнать название пакета apk-приложения:

./aapt dump badging | grep «package»

package: name='com.mobileshop' versionCode='13' versionName='2.0'

Чтобы узнать название запускаемого активити apk-приложения:

./aapt dump badging /User/Desktop/HTC_Market_v2.0.apk | grep «launchable-activity»

launchable-activity: name='com.mobileshop.MainActivity' label='Mobile Shop' icon=''

Android: Как узнать имя пакета приложения?

Вы уверены, что в appsList у вас названия приложений? Запустил ради проверки, получил одну длинную строку [ResolveInfo

Я считаю, что у вас в корне неверный подход к задаче. Лично я бы создал свой подкласс адаптера с переопределенным getView() и адаптеру передавал бы сразу список (или массив, не суть важно) из ResolveInfo. У объектов ResolveInfo внутри содержится вся необходимая информация.

Отслеживать
ответ дан 20 ноя 2012 в 18:16
963 8 8 серебряных знаков 12 12 бронзовых знаков

Вот этот метод возвращает имя пакета вашего приложения

getApplicationContext().getPackageName(); 

Отслеживать
ответ дан 20 ноя 2012 в 20:39
1,215 9 9 серебряных знаков 15 15 бронзовых знаков

  • android
  • java
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.2.12.4680

Полное имя пакета приложения в Андроиде

Собственно, как узнать полное имя пакета приложения без гемора (имя файла)? В списке приложений отображается только название (заголовок) приложения, в маркете тоже.

  • Вопрос задан более трёх лет назад
  • 25009 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 2
Нравится 3 1 комментарий
Indexator @Indexator Автор вопроса

Да, вариант) Но только, если пользовать ББ с подключением или с самого девайса лезть, опять же, с подключением. Собственно так и делаю, но не очень удобно. А так же, что делать с тем приложениями, которых нет в маркете?)

Файл apk — по сути zip-архив, внутри содержится файл AndroidManifest.xml. У корневого элемента есть атрибут package, его значение и нужно вам. Но этот путь вряд ли является вариантом «без гемора».

Ответ написан более трёх лет назад
Нравится 1 4 комментария
Indexator @Indexator Автор вопроса

Так мне как раз и нужно само название файла apk, т.к., обычно, оно совпадает с названием пакета. Мне это нужно для поиска в системе самого файла пакета, по его названию 🙂 Т.к. по заголовку самого приложения его не найти.

Indexator @Indexator Автор вопроса

Объясню, в моей сборке, например, есть предустановленные софтины, которые отсутствуют в маркете и некоторые из них для меня бесполезны и занимаю место. Чтобы их удалить, нужно знать название пакета, если удалять через adb, или название файла, для удаления вручную под рутом.

Системные приложения лежат в /system/app/. Только что зашел через TotalCommander (на девайсе, а не на компе) — отображается список приложений с иконками и понятными названиями (имя на английском + версия), поэтому не составит особого труда идентифицировать среди них нужное вам.

Indexator @Indexator Автор вопроса

Хм… О_о Да, действительно! Спасибо! Думал они так же по пакету называются, как обычные приложения… И иконки в помощь. Плюсануть не могу, сорри… -__-

Имена пакетов. Посмотреть установленные пакеты

Скриншот 1/3

Get Packages — бесплатное приложение где вы можете посмотреть информацию своих установленных приложений на вашем устройстве. Наше приложение имеет такие функции: — Отображение Package Name (имен пакетов). — Отображение Label (имя приложения). — Возможность скопировать имя пакета удержанием клика (long tap). — Переход в раздел «О приложении» по клику в списке. — Отображение иконки приложения. Приложение поможет вам посмотреть список всех установленных имен пакетов приложений на вашем телефоне. Email developer: arturseomoney@yandex.ru

Что нового

Исправили мелкие ошибки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *