Каким должно быть имя пакета приложения 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". В этом случае предлагаемое соглашение заключается в добавлении подчеркивания. Например:
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.приложение" ошибки.