Каким должно быть имя пакета приложения Android?

Я хочу знать, что должно быть имя пакета приложения для android? Значит обычно мы использовали com.appname или com.имя_организации.appName, но когда мы отправляем наше приложение на рынок, иногда он показывает ошибки, связанные с именем пакета, которые - пожалуйста, измените имя пакета. Его не следует запускать с com и т. д..

Я хочу знать, почему это happnes? И как правильно название пакета для Android?

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

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

6 ответов


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

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

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

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

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

enter image description here


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

Именования

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

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

конфликты имен, которые происходят в пределах одного компания должна обрабатываться по соглашению внутри этой компании, возможно, путем включения региона или названия проекта после названия компании (например, com.образец.регион.пакета 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

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


В настоящее время имя пакета, начинающееся с "com.пример " не разрешается загружать в app-store. В противном случае все остальные имена пакетов, начинающиеся с "com", разрешены .


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

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

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

con = createPackageContext("com.example.android.sf01", 0);

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

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

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

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

Итак, "0com.образец.app " и " com.1example.приложение" ошибки.