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

Я хочу знать, что должно быть именем пакета приложения для Android? Значит, мы обычно использовали com.appname ИЛИ com.organizationName.appName, но когда мы отправляем наше приложение на рынок, то иногда оно показывает ошибки, связанные с именем пакета, которое: - измените имя пакета. Его не следует начинать с com и т.д.

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

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

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

Ответ 1

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

Компании используют свое обратное доменное имя в Интернете, чтобы начать имена своих пакетов - например, 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

Ответ 2

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

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

Ответ 4

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

Ответ 5

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

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

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

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