Почему Eclipse настаивает на имени пакета для проекта Android?

Совершенно новый разработчик Android здесь, также новичок в Eclipse.

я скачал и установил

  • JDK
  • SDK для Android
  • Затмение для Java
  • затем скачал и установил в Eclipse плагин Android ADT

Все успешно установлено -- я сделал это вчера (14.07.11), так что у меня самая последняя версия.

В Eclipse я выбираю «Новый проект» и выбираю «Android- > Android Project» для типа проекта.

Затем я перехожу к новому окну проекта в Eclipse, и ему нужны 3 вещи:

1) Название проекта -- ВЫПОЛНЕНО. Я называю свой самый первый Android-проект «myAndroidOne».

2) Я выбираю переключатель «Создать новый проект в рабочей области».

3) Я выбираю «Android 2.2» для «Цели сборки».

4) Я принимаю предложение Eclipse для «Имени приложения», «myAndroidOne».

Я понятия не имею, что Eclipse хочет в поле «Имя пакета». Хотя я знаю о «пакетах Java», меня смущает, что Eclipse может потребовать, чтобы я указал здесь пакет Java — в конце концов, я создаю новый проект и не имею ни малейшего представления, будучи совершенно новым для Android, что, если любой пакет Java, который я буду использовать.

Я попытался ввести «pkgMyAndroidOne», но кнопка «Далее» не загорается.

Я не могу создать совершенно новый проект для Android — я не написал ни одной строки кода, я просто хотел создать проект Eclipse для Android, чтобы начать учиться писать свое первое приложение для Android.

Чего здесь хочет Eclipse?


person wantTheBest    schedule 15.07.2011    source источник


Ответы (5)


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

Просто создайте имя типа «wantTheBest.playground.firstapp» в качестве имени пакета, и все будет в порядке.

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

person DeeV    schedule 15.07.2011
comment
Я указал mynew.pkg.myAndroidOne в качестве имени пакета, затем Eclipse включил кнопку «Далее», но в следующем окне мне пришлось создать «тестовый проект», иначе создание проекта не продолжилось. Как мне тогда создать «настоящий», нетестовый проект? - person wantTheBest; 15.07.2011
comment
Просто нажмите «Готово» в следующий раз. - person DeeV; 15.07.2011
comment
Это не должно навязывать тестовый проект. Просто снимите флажок «Создать тестовый проект» вверху и нажмите «Готово». - person Rob; 15.07.2011
comment
Я такая двойка. Я переделал новый проект и вместо выбора «Далее» просто нажал «Готово», и Eclipse больше не принуждал меня к созданию тестового приложения. Спасибо. Как обычно, все ответы, которые я получил здесь, великолепны и полезны, но я должен «принять» только один, поэтому заранее прошу прощения, я очень ценю помощь каждого. Спасибо. - person wantTheBest; 15.07.2011

Пакеты обычно именуются по следующему соглашению:

[org/com].[компания].[продукт].[компонент]

Некоторые предпочитают отбрасывать первый сегмент, так что это будет:

[компания].[продукт].[компонент]

По соглашению имена пакетов не должны содержать заглавных букв.

person Konstantin Komissarchik    schedule 15.07.2011

Это должно быть что-то вроде com.mypackage.testapp Это может вам помочь — http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html

person Suchi    schedule 15.07.2011

Название пакета также придаст вам уникальности на рынке Android. Два пакета не могут быть загружены с одним и тем же именем. Все URL-адреса Android Market также будут генерироваться на основе того же соглашения.

Чтобы его было легко отличить на Android Market... это необходимо.

person Chris Lucian    schedule 15.07.2011

Соглашение для пакетов Java является обратным порядку веб-сайтов (IE com.companyname.applicationname). Причина, по которой это так важно, заключается в том, что на рынке может быть несколько приложений с одним и тем же именем (фонарик), поэтому имя пакета однозначно идентифицирует приложение (com.pyrodante.myflashlight). После создания и подписания и приложение, и ключ jarsigner блокируются. Любое изменение заставляет Android Market думать, что это совершенно новое приложение.

person Ashterothi    schedule 15.07.2011