Собственно, как узнать полное имя пакета приложения без гемора (имя файла)? В списке приложений отображается только название (заголовок) приложения, в маркете тоже.
- Вопрос задан более трёх лет назад
- 23532 просмотра
Комментировать
Решения вопроса 0
Ответы на вопрос 2
Нравится 3 1 комментарий
Да, вариант) Но только, если пользовать ББ с подключением или с самого девайса лезть, опять же, с подключением. Собственно так и делаю, но не очень удобно. А так же, что делать с тем приложениями, которых нет в маркете?)
Файл apk — по сути zip-архив, внутри содержится файл AndroidManifest.xml. У корневого элемента есть атрибут package, его значение и нужно вам. Но этот путь вряд ли является вариантом «без гемора».
Ответ написан более трёх лет назад
Нравится 1 4 комментария
Так мне как раз и нужно само название файла apk, т.к., обычно, оно совпадает с названием пакета. Мне это нужно для поиска в системе самого файла пакета, по его названию 🙂 Т.к. по заголовку самого приложения его не найти.
15 Явных Признаков, Что Ваш Телефон Взломали
Объясню, в моей сборке, например, есть предустановленные софтины, которые отсутствуют в маркете и некоторые из них для меня бесполезны и занимаю место. Чтобы их удалить, нужно знать название пакета, если удалять через adb, или название файла, для удаления вручную под рутом.
Системные приложения лежат в /system/app/. Только что зашел через TotalCommander (на девайсе, а не на компе) — отображается список приложений с иконками и понятными названиями (имя на английском + версия), поэтому не составит особого труда идентифицировать среди них нужное вам.
Хм… О_о Да, действительно! Спасибо! Думал они так же по пакету называются, как обычные приложения… И иконки в помощь. Плюсануть не могу, сорри… -__-
Источник: qna.habr.com
[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.SENDpackage»
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=»
Источник: bulkin.me
Android — Как узнать название приложения? (Не имя пакета)
AndroidDev 27 июнь 2012, в 17:37
Поделиться
Поделиться:
11 ответов
Там проще, чем другие ответы, которые не требуют явного указания ресурса или беспокойства об исключениях с именами пакетов. Он также работает, если вы использовали строку напрямую, а не ресурс. Просто выполните:
public static String getApplicationName(Context context)
Надеюсь, что это поможет. Edit В свете комментария от Snicolas я изменил приведенное выше, чтобы он не пытался разрешить идентификатор, если он равен 0. Вместо этого он использует nonLocalizedLabel как отсрочку. Нет необходимости в обертке в try/catch.
darrenp 27 фев. 2013, в 14:42
Поделиться
Это работает нормально, если вы действительно используете метку в android:name . Если вы жестко закодировали строку, то она потерпит неудачу.
Snicolas 29 авг. 2013, в 15:20
Правда, но имя приложения обычно указывается через строковый ресурс, конечно. Зашитая строка помечается ворсом и не рекомендуется.
darrenp 04 сен. 2013, в 18:30
Просто имейте в виду, что он выдаст android.content.res.Resources $ NotFoundException, если строка не найдена
zenocon 17 янв. 2014, в 15:46
По совету zenocon лучше try . catch .
superarts.org 26 фев. 2016, в 00:48
Показать ещё 2 комментария
Если это не указано в файле strings.xml/hardcoded в AndroidManifest.xml по любой причине, такой как android: label = «MyApp»
public String getAppLable(Context context) < PackageManager packageManager = context.getPackageManager(); ApplicationInfo applicationInfo = null; try < applicationInfo = packageManager.getApplicationInfo(context.getApplicationInfo().packageName, 0); >catch (final NameNotFoundException e) < >return (String) (applicationInfo != null ? packageManager.getApplicationLabel(applicationInfo) : «Unknown»); >
Или, если вы знаете идентификатор ресурса String, вы можете напрямую его получить через
getString(R.string.appNameID);
Vinayak Bevinakatti 08 май 2013, в 16:28
Поделиться
при чтении имени приложения из string.xml иногда получаю ненужные символы. Я не знаю, почему ..Ex: à¤¸à ¥ à¤ à ¥ नठ°
harikrishnan 17 окт. 2016, в 09:41
public static String getApplicationName(Context context)
Источник: overcoder.net