Уникальный идентификатор приложения для Android

#android

#Android

Вопрос:

Каков уникальный идентификатор приложения для Android? Это имя пакета? Могут ли быть два приложения с одинаковыми названиями пакетов на одном устройстве?

Ответ №1:

Это две разные вещи: пакет Java и пакет приложений для Android. Второй идентификатор должен быть уникальным.

Об этом есть хорошая статья здесь

Комментарии:

1. @SeanCheey спасибо, что нашли проблему со ссылкой! Я одобрил вашу правку, поскольку это был полезный вклад, но для дальнейшего использования вы часто можете найти старое содержимое таких ссылок через web.archive.org , который я использовал для восстановления ссылки в ее предыдущем состоянии, не содержащем спама.

Ответ №2:

Да, имя пакета является уникальным идентификатором для приложения Android в Market.

Нет, в маркете / на устройстве не может быть двух приложений с одинаковым названием пакета.

Комментарии:

1. Спасибо за ответ. И что произойдет, если я установлю приложение из apk-файла с именем пакета, который уже используется другим приложением на устройстве?

2. Установка нового приложения завершится ошибкой. Рынок запретит загрузку приложения с уже существующим именем пакета. таким образом, единственный случай, когда это может произойти, — это когда вы загружаете из пользовательских местоположений.

Ответ №3:

Я хотел бы добавить одно небольшое уточнение, которое здесь не упоминалось.

Хотя не может быть двух приложений с одинаковым именем пакета, в одном приложении может быть несколько действий запуска, которые пользователь может видеть в приложении запуска. Например, стандартное приложение «Карты» (пакет «com.google.android.apps.maps») имеет несколько функций запуска, таких как «Local», «Navigation», «Maps». Для пользователя не имеет значения, реализованы ли эти «приложения» (или действия, с точки зрения разработчика) в одном пакете приложений или нет.

Название действия («com.google.android.maps.MapsActivity») сам по себе тоже не уникален, потому что любой может создать приложение с уникальным именем пакета и активностью, расположенной в java package com.google.android.maps, под названием MapsActivity.

Таким образом, если вы хотите найти уникальный идентификатор для всех этих действий запуска, вам следует использовать комбинацию имени пакета приложения («com.google.android.apps.maps») и названия действия («com.google.android.maps.MapsActivity»).

Ответ №4:

Уникальным идентификатором для приложений Android теперь является applicationId поле в build.gradle файле. Устройства будут определять, является ли приложение обновлением существующего приложения или новым приложением на основе этого поля.

Комментарии:

1. Я уже загрузил приложение для создания кроссвордов размером 9×9 ячеек с applicationid:com.drulapp.padashri и package-name:com.drulapp.padashri (т. Е. во всем исходном коде и в AndroidManifest.xml ). Могу ли я использовать идентификатор приложения, подобный com.drulapp.padashri.seven для кроссворда размером 7×7 ячеек, с неизмененным именем пакета (конечно, скопировав всю папку приложения и изменив идентификатор приложения и детали подписи?

2. меня также беспокоит, как обеспечивается внутреннее хранилище, если имена пакетов одинаковы, а applicationid отличается.

Ответ №5:

Имя пакета должно быть другим, вы не можете загрузить приложение с таким же именем пакета, как у существующего.