Разбираемся с com.google.android и App ID (package name) в Android

Коротко: package name (App ID) — это уникальный идентификатор приложения в формате Java‑пакета (например com.google.android.gms). Он идентифицирует приложение в системе и в магазине, и менять его после публикации нельзя — это создаст другое приложение. Ниже — что это значит и как быстро найти и проверить package name.

Оглавление {{TOC_AUTOMATIC}}

Что такое package name (App ID) и почему он выглядит как com.google.android

Package name — строка в формате обратного домена (например com.company.app), используемая как уникальный идентификатор приложения в Android и Google Play. В итоговом APK/AAB эта строка попадает в манифест и служит ключом при установке, обновлениях и распределении прав.

Важно различать:

  • namespace / Java‑пакет — пространство имён ваших классов в коде (package com.example.app;). Это про организацию кода.
  • applicationId — значение, которое Gradle вставляет в собранный манифест и которое становится package name в системе и в Play. По умолчанию совпадает с namespace, но может отличаться (flavors, suffixes).
  • Атрибут package в AndroidManifest после сборки отражает applicationId. Изменение applicationId после публикации приведёт к созданию нового приложения в Play.

Не меняйте applicationId у опубликованного APK/AAB — Play Store будет считать это другим приложением.

Как найти package name — проверенные способы (шаги)

  1. Google Play (если приложение в магазине)
  • Откройте страницу приложения в браузере. В URL параметр id= содержит package name, например: ?id=com.example.app
  1. На устройстве — через настройки
  • Settings → Приложения → выбрать приложение → «Информация о приложении» (в некоторых версиях Android package name показывается в дополнительных сведениях или под «Подробнее»).
  1. Android Studio (есть исходники)
  • Откройте модуль app → build.gradle(.kts) или Gradle Properties → defaultConfig → applicationId. Также проверьте параметр namespace в модуле.
  1. ADB — универсальный и быстрый способ (установленное приложение)
  • Получить список пакетов:
adb shell pm list packages
  • Отфильтровать по части имени:
adb shell pm list packages | grep 'com.google.android'
  • Путь к APK:
adb shell pm path com.example.app
  • Подробная информация (версия, разрешения):
adb shell dumpsys package com.example.app
  1. По APK-файлу (локально)
  • aapt (build-tools) покажет имя пакета:
aapt dump badging app.apk

В выводе ищите строку package: name='com.example.app'

Если нужно скачать APK с устройства: сначала adb shell pm path com.example.app, затем adb pull /путь/к/apk ./.

Как проверить пакет: версия, разрешения, подпись

  • Версия (versionName / versionCode):
adb shell dumpsys package com.example.app | grep versionName
  • Разрешения, запрашиваемые приложением:
    • В вывода dumpsys package есть список grantedPermissions/requestedPermissions.
    • Локально: распакуйте AndroidManifest из APK или используйте aapt dump badging для базовой информации.
  • Проверка подписи APK:
apksigner verify --print-certs app.apk

Эта команда покажет сертификаты подписи и отпечатки.

  • Определить системные и сторонние пакеты:
adb shell pm list packages -s   # системные
adb shell pm list packages -3   # установленные из вне

Частые ошибки

  • Попытка поменять applicationId у опубликованного приложения — приводит к «новому» приложению в Play.
  • Путаница между namespace (код) и applicationId (идентификатор сборки).
  • Поиск по отображаемому имени приложения вместо package name — отображаемое имя может быть локализовано и не уникально.
  • Использование неизвестных сторонних сервисов для получения APK/информации — лучше работать через ADB или официальную Play‑страницу.

FAQ

  • Можно ли узнать package name приложения без доступа к устройству?
    • Да — если приложение в Play Store: смотреть параметр id в URL. Иначе — нужно APK или устройство.
  • Что такое префикс com.google.android?
    • Это обратный домен google.com → com.google, дальше логическая иерархия. Префикс сам по себе ничего не гарантирует, но обычно указывает на принадлежность к продуктам Google.
  • Как отличить package name от подписи приложения?
    • Package name — текстовый идентификатор (com.x.y); подпись — криптографический сертификат, отображаемый через apksigner.

Резюме: запоминайте, что applicationId — ключ для установки и публикации; namespace — про код. Для практики используйте ADB (pm, dumpsys), Android Studio (applicationId/namespace) и Play Store (id в URL) для быстрого поиска и проверки package name.