2013-04-16 8 views
4

я уже читал,
-> Создание Android Project (http://developer.android.com/training/basics/firstapp/creating-project.html)
-> Уникальный пакет имена (http://docs.oracle.com/javase/specs/jls/se7/html/jls-6.html#d5e6484)Как правильно называть имя пакета?

У меня есть доменное имя "280w.info". и я просто начинаю программирование на Android.

  1. Я думаю, что название пакета "info._280w. (Project)". поэтому я создал «info._280w.Utest».
  2. Нажмите «Отладочный тест» в качестве приложения для Android. обеденный эмулятор Android.
  3. Консоль с ошибкой [2013-04-16 21:52:26 - Utest] Installation failed due to invalid APK file!
  4. Я проверил logcat. и найдена ошибка. 04-16 12:52:37.273: E/PackageParser(505): parsePackageLite error: <manifest> specifies bad package name "info._280w.utest": bad character '_'
  5. следующий, я рассматриваю PackageParser.java (/platform/frameworks/base/+/master/core/java/android/content/pm/PackageParser.java).
  6. Я нашел код проверки. if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { по строке 767.

Этот код является неправильным для правильного определения имен пакетов в Java? или, я предполагаю, что неправильное имя пакета?

+0

Прекрасный видя кто-то, используя спецификации. Хотя подчеркивание является официальным решением, инструментарий для Android не подходит. Используйте 'info.xxcccw' (латинская нумерация). –

+0

Спасибо за комментарии. Хорошо, я буду использовать строчный алфавит. – nanariya

ответ

3

Короткий ответ: используйте любое имя пакета, распознанное Android.

Обратитесь к Android основе,

это обычно лучше всего, если вы используете имя, которое начинается с доменным именем обратного вашей организации или издателем лицом

и документацией Java,

В некоторых случаях имя домена Интернета не может быть допустимым именем пакета. Вот некоторые предложил конвенции по борьбе с такими ситуациями: (http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html)

они являются только предложения, а не строгие правила, ни технические характеристики.

На самом деле, есть множество приложений, у которых есть имя пакета , не начиная с обратного доменного имени, выпущенного в Play Маркете. Нет проверки части домена, либо Android, и Google Play Store проверяют только название пакета, так что вряд ли когда-либо конфликтует пространство имен.

1

Я думаю, что проблема заключается в подчеркивании, но я не уверен, что вы можете попробовать: info.280w.projectname вместо этого.

+0

Спасибо за ответ. Я попробую имя пакета «info.280w.projectname», но он не может создать проект. -> '280w' не является допустимым идентификатором Java. – nanariya

+0

Хорошо, но это не то, что я ожидал, возможно, вы можете попробовать: info.two80w.projectname вместо этого, не важно, что ваше доменное имя равно префиксу packagename.(извините за мой плохой английский) –

+0

Я думаю, что если другие люди получат two80w.info, он будет дублироваться. Можно ли назвать имя пакета? – nanariya