Каким должно быть имя пакета приложения для Android? - PullRequest
32 голосов
/ 10 ноября 2011

Я хочу знать, что должно быть именем пакета приложения для Android? Обычно это означает, что мы использовали com.appname ИЛИ com.organizationName.appName, но когда мы отправляем наше приложение на рынок, иногда оно показывает ошибки, связанные с именем пакета, которые ... Пожалуйста, измените имя пакета. Не следует начинать с ком и т. Д.

Я хочу знать, почему это счастье? А какое должно быть Правильное название пакета для андроид приложения?

Если кто-то знает причину или ответ на этот вопрос, пожалуйста, дайте мне знать.

Заранее спасибо.

Ответы [ 6 ]

47 голосов
/ 10 ноября 2011

Как указано здесь: имена пакетов пишутся строчными буквами, чтобы избежать конфликта с именами классов или интерфейсов.

Компании используют обратное доменное имя в Интернете для начала имен своих пакетов - например, com.example.mypackage for a package named mypackage created by a programmer at example.com.

Конфликты имен, возникающие в пределах одной компании, должны обрабатываться в рамках соглашения внутри этой компании, возможно, путем включения региона или имени проекта после названия компании (например, com.example.region.mypackage).

Пакеты на самом языке Java начинаются с Java. или javax.

В некоторых случаях имя интернет-домена может быть неправильным именем пакета. Это может произойти, если имя домена содержит дефис или другой специальный символ, если имя пакета начинается с цифры или другого символа, который запрещено использовать в качестве начала имени Java, или если имя пакета содержит зарезервированное ключевое слово Java, такой как "int". В этом случае предлагаемое соглашение заключается в добавлении подчеркивания. Например:

enter image description here

9 голосов
/ 10 ноября 2011

Android следует тем же соглашениям об именах, что и Java,

Соглашения об именах

Имена пакетов пишутся строчными буквами, чтобы избежать конфликта с именами классов или интерфейсов.

Компании используют обратное доменное имя в Интернете для начала имен своих пакетов, например com.example.mypackage для пакета с именем mypackage, созданного программистом на example.com.

Конфликты имен, возникающие в пределах одной компании, должны обрабатываться в рамках соглашения внутри этой компании, возможно, путем включения региона или имени проекта после названия компании (например, com.example.region.mypackage).

Пакеты на самом языке Java начинаются с Java. или javax.

В некоторых случаях имя интернет-домена может быть неправильным именем пакета. Это может произойти, если имя домена содержит дефис или другой специальный символ, если имя пакета начинается с цифры или другого символа, который запрещено использовать в качестве начала имени Java, или если имя пакета содержит зарезервированное ключевое слово Java, такой как "int". В этом случае предлагаемое соглашение заключается в добавлении подчеркивания. Например:

Легализация имен пакетов:

       Domain Name                            Package Name Prefix

hyphenated-name.example.org             org.example.hyphenated_name
example.int                             int_.example
123name.example.com                     com.example._123name
3 голосов
/ 10 ноября 2011

Как вы указали, имена пакетов обычно имеют вид com.organizationName.appName - все строчные и без пробелов.Похоже, имя пакета, которое вы ввели при загрузке приложения, отличается от того, которое было объявлено в AndroidManifest.

2 голосов
/ 25 марта 2013

В настоящее время имя пакета, начинающееся с "com.example", запрещено загружать в магазин приложений. В противном случае допускаются все другие имена пакетов, начинающиеся с «com».

0 голосов
/ 02 марта 2018

Посетите https://developers.google.com/mobile/add и попробуйте заполнить «Имя пакета Android».В некоторых случаях он может написать ошибку: «Неверное имя пакета Android».

В https://developer.android.com/studio/build/application-id.html написано:

И хотя идентификатор приложения выглядит как традиционныйИмя пакета Java, правила именования для идентификатора приложения немного более строгие:

  • Он должен иметь как минимум два сегмента (одну или несколько точек).
  • Каждый сегмент должен начинатьсяс буквой.
  • Все символы должны быть буквенно-цифровыми или подчеркиванием [a-zA-Z0-9 _].

Так, "0com.example.app" и«com.1example.app» - это ошибки.

0 голосов
/ 22 февраля 2015

имя пакета с 0 может вызвать проблемы для sharedPreference.

(ОК) con = createPackageContext("com.example.android.sf1", 0);

(проблема, но не ошибка)

con = createPackageContext("com.example.android.sf01", 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...