Как найти package name

I need to write some util class by myself and I need the packagename of android app.
While I found the packageManager which only can be used in Activity and so on that has context. I only want to get packagename in my class which will be used in android app. So how can I do this? Thank you!

tipycalFlow's user avatar

tipycalFlow

7,5844 gold badges33 silver badges45 bronze badges

asked Aug 17, 2011 at 9:53

user898366's user avatar

1

Use : getPackageManager().getPackageInfo(getPackageName(), 0).packageName
Or just MyContext.getPackageName()

You can also create a function:

public String getPackageName(Context context) {
    return context.getPackageName();
}

answered Aug 17, 2011 at 10:02

Guillaume's user avatar

GuillaumeGuillaume

8,70111 gold badges48 silver badges62 bronze badges

3

The following constant is available without the need for a context.

BuildConfig.APPLICATION_ID

answered Mar 17, 2015 at 21:09

paulb444's user avatar

paulb444paulb444

4944 silver badges6 bronze badges

you can get the package name of installed app:

ArrayList<PackageInfo> res = new ArrayList<PackageInfo>();
        PackageManager pm = getApplicationContext().getPackageManager();
        List<PackageInfo> packs = pm.getInstalledPackages(0);

and if you want to find the package name of your app:

context.getPackageName();

answered Aug 17, 2011 at 10:00

Vineet Shukla's user avatar

Vineet ShuklaVineet Shukla

23.8k10 gold badges55 silver badges63 bronze badges

1

getApplicationContext().getPackageName() will give the package name.

answered May 14, 2013 at 20:15

Joseph Selvaraj's user avatar

Joseph SelvarajJoseph Selvaraj

2,2471 gold badge21 silver badges21 bronze badges

2

List<ApplicationInfo> packages;
    PackageManager pm;
    pm = getPackageManager();
             get a list of installed apps.
            packages = pm.getInstalledApplications(0);

ActivityManager mActivityManager = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);

   for (ApplicationInfo packageInfo : packages) {
   //packageInfo.packageName contains package name


                      }

answered Aug 17, 2011 at 10:00

Rasel's user avatar

RaselRasel

15.5k6 gold badges40 silver badges50 bronze badges

2

you can create a Util Class this way:

public class AppInfo{
  private static Context cxt;
  public static String PACKAGE_INFO;
  public static String init(Context context){
    cxt = context;
    PACKAGE_INFO = cxt.getPackageName();
  }
}

then you can use it this way

public class MyActivity extends Activity{
  @Override
  public void onCreate(Bundle bundle){
    ...
    AppInfo.init(getApplicationContext());
    ...
  }
}

then you can call it this way:

public class someClass{
  public void someMethod(){
    String packageInfo = AppInfo.PACKAGE_INFO;
    //Do what you wish
  }
}

answered Jul 30, 2012 at 5:04

PinoyCoder's user avatar

PinoyCoderPinoyCoder

1,1128 silver badges13 bronze badges

I have seen the following two ways to get the package name starting from a Context variable:

context.getPackageManager().getPackageInfo(context.getPackageName(), 0).packageName

and

context.getPackageName()

Won’t they always give the same answer? Is one way preferable to use over the other in certain circumstances?

not2qubit's user avatar

not2qubit

14k8 gold badges93 silver badges128 bronze badges

answered Mar 27, 2014 at 2:04

Damodar Periwal's user avatar

Damodar PeriwalDamodar Periwal

3991 gold badge2 silver badges13 bronze badges

Here add this to your util class. It makes sure to handle different “flavors” and debug/release builds, as other answers do not:

@Nullable
public static String getApplicationPackageName(@NonNull Context context)
{
    final PackageInfo packageInfo = getPackageInfo(context);
    if (packageInfo.applicationInfo == null)
    {
        return null;
    }
    // Returns the correct “java” package name that was defined in your
    // AndroidManifest.xml.
    return packageInfo.applicationInfo.packageName;
}

// Convenience method for getting the applications package info.
@NonNull
private static PackageInfo getPackageInfo(@NonNull final Context context)
{
    final PackageManager packageManager = context.getPackageManager();

    try
    {
        return packageManager.getPackageInfo(context.getPackageName(), 0);
    }
    catch (final PackageManager.NameNotFoundException ignored)
    {
        //noinspection ConstantConditions: packageInfo should always be available for the embedding app.
        return null;
    }
}

answered Jan 18, 2018 at 15:55

Sakiboy's user avatar

SakiboySakiboy

7,1857 gold badges52 silver badges69 bronze badges

2

I think getPackageName() is available directly within activity without calling getApplicationContext. Checked it myself.Working good.

answered May 5, 2017 at 7:26

Debasish Ghosh's user avatar

В этом руководстве мы расскажем о трех различных методах получения имени пакета всех установленных приложений на вашем устройстве Android. Приложения, установленные на вашем устройстве, помечаются двумя разными способами. Первое — это общее имя, с которым вы обычно сталкиваетесь, например Facebook, WhatsApp и т. д. Это имя, с которым сталкиваются обычные пользователи и которые ищут в Play Store.

С другой стороны, есть связанный идентификатор приложения или имя пакета приложения, которое действует как уникальный идентификатор для каждого приложения. Например, у Facebook есть имя пакета com.facebook.katana, а у WhatsApp — com.whatsapp. Эти имена используются как бэкендщиками, так и разработчиками. Кроме того, хотя вы можете встретить множество приложений в Play Store под названием Facebook, ни одно из них не может иметь пакет com.facebook.katana.

Так что если у вас когда-нибудь возникнут сомнения в подлинности приложения, то можете рассчитывать на этот фактор. С учетом сказанного, как вы могли получить имя пакета всех установленных приложений на вашем Android-устройстве? Что ж, для одного и того же есть три разных метода, и в этом руководстве мы расскажем вам обо всех этих трех подходах. Итак, без лишних слов, приступим.

Способ 1: получить имя пакета приложения Android через URL-адрес Play Store

Этот метод чрезвычайно прост в исполнении. Однако, если вы хотите получить имя различных установленных приложений за один раз, это потребует довольно много ручных усилий. Но для некоторых приложений это должен быть ваш метод. Вот как это использовать:

На ПК

имя пакета приложения для Android через URL-адрес игрового магазина

  1. Прежде всего, зайдите на сайт Play Store на своем ПК.
  2. Теперь найдите нужное приложение (в качестве примера возьмем Facebook)
  3. Затем перейдите к его панели поиска и проверьте его URL-адрес, это будет что-то вроде этого: https://play.google.com/store/apps/details?id=com.xxx.
  4. Например, в случае Facebook URL-адрес будет https://play.google.com/store/apps/details?id=com.facebook.katana.
  5. Теперь часть после id= будет именем пакета приложения. Таким образом, для Facebook получается com.facebook.katana.

Таким образом, это был первый способ получить имя пакета приложения через Play Store и ПК. Давайте посмотрим, как опробовать этот трюк с Play Store на вашем телефоне.

На мобильном

имя пакета приложения через магазин игр

  1. Откройте приложение Play Store на своем устройстве и найдите нужное приложение (скажем, WhatsApp).
  2. На странице со списком приложений коснитесь значка переполнения, расположенного в правом верхнем углу, и выберите «Поделиться».
  3. Теперь просто поделитесь/сохраните этот URL в любом месте. URL-адрес будет иметь тот же формат, что и указанный выше, т. е. https://play.google.com/store/apps/details?id=com.xxx.
  4. Например, в случае с WhatsApp URL-адрес выглядит следующим образом: https://play.google.com/store/apps/details?id=com.whatsapp.
  5. Как и прежде, имя пакета приложения будет частью после id=. Итак, для WhatsApp это оказывается com.whatsapp.

Другой метод включает в себя открытие веб-сайта Play Store в браузере вашего смартфона, изменение его вида на режим рабочего стола, а затем получение URL-адреса. На этом мы завершаем этот первый метод, чтобы получить имя пакета всех установленных приложений на вашем устройстве Android. Теперь обратим внимание на два других метода.

Способ 2: получить имя пакета приложения Android через стороннее приложение

Преимущество этого метода заключается в том, что вам потребуются минимальные усилия. Кроме того, он может отображать как установленные пользователем, так и системные приложения. Пользовательский интерфейс также удобен. Однако я никогда не выступал за использование сторонних приложений и предоставление им доступа к моему устройству, если только это не имеет первостепенной важности. С учетом сказанного, если вы хотите попробовать это, следуйте приведенным ниже инструкциям:

имя пакета приложения для Android через стороннее приложение

  1. Для начала загрузите App Package Viewer 2.0 из Play Store.
  2. Затем запустите его и выберите нужное приложение из списка.
  3. Теперь нажмите на имя этого приложения, и вы должны получить связанное с ним имя пакета.

Вот и все. Это, пожалуй, самый простой способ получить имя пакета всех установленных приложений на вашем Android-устройстве. Теперь давайте проверим третий и последний способ выполнения этой задачи.

Способ 3: получить имя пакета приложения Android с помощью команд ADB

Преимущество этого метода заключается в том, что помимо получения имени пакета приложения, вы можете даже удалить установленные пользователем и установленные системой приложения на вашем устройстве с помощью этих команд ADB. Без рута! С другой стороны, этот метод требует нескольких предварительных условий, а также определенного уровня технических навыков. Но если вы готовы бросить вызов своему внутреннему гику, то этот метод создан специально для вас. Следуйте вместе.

  1. Для начала загрузите и установите Android SDK Platform Tools на свой компьютер. Это официальные двоичные файлы ABD, предоставленные Google.
  2. Извлеките его содержимое в любое удобное место на вашем ПК, и вы должны получить папку platform-tools.
  3. Теперь перейдите на свое устройство Android и включите отладку по USB. Это сделает ваше устройство узнаваемым вашим ПК в режиме ADB. Итак, перейдите в «Настройки»> «О телефоне»> «Семь раз нажмите на номер сборки»> «Вернитесь в «Настройки»> «Система»> «Параметры разработчика»> «Включить отладку по USB».
    отладка по usb oneplus
  4. Когда это будет сделано, подключите устройство к ПК через USB-кабель. Убедитесь, что отладка по USB включена.
  5. Затем перейдите в папку инструментов платформы, введите CMD в адресной строке и нажмите Enter. Это запустит командную строку.
    командная строка
  6. Теперь введите приведенную ниже команду в окне CMD и нажмите Enter: устройства adb.

    авторизованные устройства adb

  7. Если вы выполняете это действие впервые, на вашем устройстве может появиться запрос «Разрешить отладку по USB», нажмите «Разрешить». При этом вы авторизовали соединение ADB.
    разрешить отладку USB-подключения через adb
  8. Теперь выполните приведенную ниже команду в окне CMD: оболочка adb.

    команда оболочки adb

  9. Затем введите приведенную ниже команду, и вы должны получить список всех установленных приложений: пакеты pm list

    список всех вредоносных приложений oneplusСписок приложений на моем OnePlus 7T!!! Посмотреть полноразмерное изображение

  10. Если вы хотите получить имена всех установленных системных приложений, используйте следующую команду:pm list packages -s

Вот и все. На этом мы завершаем руководство о том, как получить имя пакета всех установленных приложений на вашем устройстве Android. Мы поделились тремя разными методами для одного и того же, сообщите нам в комментариях, какой из них вы в конечном итоге выбрали.

I am using Android 4.0.3 and I can no longer find package name for some app. If I recall, I used to go to Applications and has been able to see it there.

So, how can I see full package name of some app? Like, the app’s name is «Test» and I need to see its package com.test.mytest.

ale's user avatar

ale

19.7k33 gold badges108 silver badges159 bronze badges

asked Sep 4, 2012 at 15:05

AnDroDroo's user avatar

2

Edit: I like ofir_aghai’s answer better, although my answer may still be helpful for apps that aren’t on the Google Play Store.

If you’re comfortable using the command line, a solution I like is Android’s pm command. It can easily be called using adb like so:

$ adb shell "pm list packages -f test"
package:/system/app/AutomationTest_JBUP.apk=com.sec.android.app.DataCreate
package:/system/app/BluetoothTest.apk=com.sec.android.app.bluetoothtest

Replace test with whatever package you’re looking for.

pm has a variety of options that may be useful depending what you want to do:

usage: pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [FILTER]
pm list packages: prints all packages, optionally only
  those whose package name contains the text in FILTER.  Options:
    -f: see their associated file.
    -d: filter to only show disbled packages.
    -e: filter to only show enabled packages.
    -s: filter to only show system packages.
    -3: filter to only show third party packages.
    -i: see the installer for the packages.
    -u: also include uninstalled packages.

answered Jun 10, 2014 at 21:06

bmaupin's user avatar

bmaupinbmaupin

2,41221 silver badges20 bronze badges

5

Just share the app from Google Play Store to somewhere, (by clicking on the share button in the app’s page)
and see the shared value.

You will see something like:
https://play.google.com/store/apps/details?id=com.my.packagename

(If you cant find it in Google Play:
You can long press on app icon and press on «Application info»
Go to the bottom of the Android page, and then click on «App details in store»)

answered Aug 5, 2018 at 7:58

ofir_aghai's user avatar

ofir_aghaiofir_aghai

2712 silver badges4 bronze badges

0

You can look into the LogCat. Open the LogCat (either in Eclipse, or on cmd line- if the device is connected to your PC — or on your mobile itself, using any app which allows to view LogCat). Once LogCat is available, launch the app — the log corresponding to «ActivityManager» will display the activity started. It will usually be in the format: "Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]...". However technical this approach might be, this is — IMHO — the best way to achieve knowledge about the launching activity for any of the installed apps.

answered Apr 11, 2012 at 11:41

SamSPICA's user avatar

SamSPICASamSPICA

9296 silver badges15 bronze badges

The best way seems to be to use APK extractor. You don’t actually have to extract any APK, this app will display the qualified name for each installed app. This should cover all apps.

If for some reason it can’t find your app, look around on the SD card. If you’re lucky, the app stores its data or settings in an folder that has the app’s qualified name somewhere in
its path, like /mnt/sdcard/Android/data/net.sylark.apkextractor.

eldarerathis's user avatar

eldarerathis

36.7k16 gold badges143 silver badges174 bronze badges

answered Apr 10, 2012 at 20:27

Nova's user avatar

NovaNova

3,3596 gold badges30 silver badges57 bronze badges

0

If you are proficient at using adb and Linux you can find it pretty quick using the linux command grep.

Just do:

adb shell
ls -al /data/data/ | grep 'yourAppName'

You need root of course to be able to search in /data/data/

answered Aug 21, 2013 at 8:30

John's user avatar

JohnJohn

1,5162 gold badges13 silver badges19 bronze badges

2

As of now, many apps can show the package name of the installed app, such as Elixir 2 (see Applications option), My App List, Applications Info and many more in Play Store.

Screenshots of the ones I use:

enter image description here
enter image description here
enter image description here

answered Jul 13, 2018 at 2:16

Firelord's user avatar

FirelordFirelord

24.2k19 gold badges118 silver badges272 bronze badges

use link2sd. It can list apps by name and show package name and other useful info

answered Jul 20, 2020 at 8:43

Dilushan's user avatar

You can search apps name in play store and open that apps. Now look into url. Last part of url is package name. It is look like id=com.google.

You can use adb shell and write command PM LIST PACKAGES -F. there are many operator look into it. If you do not find all packages then use DUMPSYS PACKAGE command.
On Oppo mobile pm list packages provide me 150 entry while dumpsys package provide me 163 entries.
You can use android package name viewer application.

answered Apr 29, 2021 at 8:51

aliz lopaz's user avatar

aliz lopazaliz lopaz

1811 silver badge7 bronze badges

1

Use App Manager app. It has plenty of features: sorting, filtering, finding, managing APK files, showing removed apps (since the time you’ve installed the app), root-operations, handling various split-APK files (APKS, APKM, XAPK) right from file manager apps…

answered Apr 29, 2021 at 8:31

android developer's user avatar

You must log in to answer this question.

Not the answer you’re looking for? Browse other questions tagged

.

Get started

You can find a package name (Google Play) or an app URL (Android and iOS) in your app store.

An app URL is the URL associated with your app. Use the URL to set up your app in Ad Manager. Find your App URL by searching your app store for the app.

Google Play

  1. Go to the Google Play store page.
  2. Search for your app and go to the app page.
  3. The Google Play URL includes the package name and uses the following format:

    https://play.google.com/store/apps/details?id=<package_name>

Google Play URL in the app page.

Apple App Store

  1. Go to the Apple App Store page.
  2. Search for your app and go to the app page.
  3. The Apple App Store URL uses the following format:

    http://apps.apple.com/<country>/app/<app–name>/id<store-ID>

iTunes app url in account settings.

Was this helpful?

How can we improve it?

I want to get package name of opening app that installed on the android device.

I need package name of that particular application running.

What’s the best way to get it?

Eric Leschinski's user avatar

asked Apr 26, 2011 at 7:31

hari's user avatar

@Hari: When particular application is running on your emulator, in Eclipse, you can browse to Devices view and see the list of running applications. Along all the running services, the third-party applications will also be there with their package name listed.

Another but tricky way is that in Emulator you can press Menu button and go to Settings and then browse to Manage Applications list. As soon as you tap this button, the list of all installed/running applications will get visible and quickly you can see their respective package name

Hope this will help you..

answered Sep 28, 2011 at 8:47

YuDroid's user avatar

YuDroidYuDroid

1,5895 gold badges22 silver badges44 bronze badges

AFAIK, you can’t intercept the moment of starting thirdparty application. But what you can do is obtain a list of installed apps with their package names via PackageManager.

answered Apr 26, 2011 at 7:37

Vladimir Ivanov's user avatar

Vladimir IvanovVladimir Ivanov

42.6k18 gold badges77 silver badges103 bronze badges

4

Понравилась статья? Поделить с друзьями:
  • Как найти уравнение высоты в векторе
  • Как найти сопротивление резистора при параллельном соединении
  • Как быстро найти покемонов пиксельмон
  • Как составить план онлайн урока
  • Как найти работу в учебное время