Разбираемся с 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 — проверенные способы (шаги)
- Google Play (если приложение в магазине)
- Откройте страницу приложения в браузере. В URL параметр id= содержит package name, например: ?id=com.example.app
- На устройстве — через настройки
- Settings → Приложения → выбрать приложение → «Информация о приложении» (в некоторых версиях Android package name показывается в дополнительных сведениях или под «Подробнее»).
- Android Studio (есть исходники)
- Откройте модуль app → build.gradle(.kts) или Gradle Properties → defaultConfig → applicationId. Также проверьте параметр namespace в модуле.
- 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
- По 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.