Многие программисты хотят заняться разработкой приложений под Android. Но немногие представляют, какие шаги здесь надо предпринять. Эта подборка призвана помочь новичкам в освоении Android-разработки.
Начало работы
Новичкам в программировании поможет наша .
Для новичков в Android Google сделал хорошее введение в Android на своём сайте. Также есть замечательный краудсорсинговый гид по Android . Кроме того, есть курс от Google на Udacity.
Если у вас возникают проблемы с Android , крайне рекомендуется сперва проверить StackOverflow . Он создан для ответов на технические вопросы и даже является .
Вы всегда можете найти у нас на сайте.
FAQ
Я хочу начать разрабатывать под Android. С чего мне начать?
Первый и важнейший шаг в разработке под Android – это изучение Java и XML. Как только вы более менее познакомитесь и с тем, и с другим, изучите официальную Документацию по Android и пройдите несколько уроков, пока не почувствуете себя достаточно уверенным для создания собственных проектов. Удачи!
Нужно ли мне Android-устройство для разработки?
Вы можете писать приложения без какого-либо Android-устройства, используя включённый в поставку эмулятор (или усовершенствованный Genymotion). Однако для учёта аппаратных требований ничто не заменит тестирование на настоящем устройстве.
Какую IDE мне лучше использовать?
- Android Studio - официально поддерживаемая IDE для разработки под Android. Именно она используется в современных руководствах и видео, в том числе и от Google.
- Eclipse была основной IDE для разработки под Android на протяжении многих лет, поэтому большинство устаревших уроков, ресурсов, видео и скриншотов сделаны на ней.
- IntelliJ IDEA был альтернативой Eclipse, но в настоящее время разумнее начать с Android Studio. Android Studio – это ответвление IntelliJ IDEA, так что вы получите все её преимущества плюс бонусы под Android.
Может, мне стоит забыть про Java и начать учить Kotlin?
Google теперь официально поддерживает Kotlin как язык разработки под Android, но это не значит, что про поддержку Java можно забыть. В ближайшем обозримом будущем документация, инструменты, новые фичи платформы будут поддерживать как Kotlin, так и Java. Хотя Kotlin - более молодой язык с некоторыми приятными особенностями, вы всё ещё можете создавать отличные приложения на Java. Выбор зависит только от вас, но если вам не принципиально или вы новичок, то, возможно, лучше сделать выбор в пользу Kotlin.
Ресурсы
Здесь представлены основные ресурсы по обучению разработке под Android на английском языке. Это далеко не полный список, но достаточный для старта.
Официальные ресурсы Android
Дизайн
- Красивости для Android – вдохновение для создания графических интерфейсов под Android.
Рассылки
- Android Weekly – замечательная рассылка, помогающая быть в курсе последних разработок Android.
Коллекции библиотек
Инструменты
- Genymotion – крайне полезный и функциональный эмулятор.
- Android Asset Studio – отличная коллекция инструментов для создания/редактирования иконок, изображений и т.д.
- Codota Plug-in для Android Studio – замечательные примеры кода прямо в Android Studio.
Примеры open source приложений
Идеи для приложений
Итак, у вас есть идея для приложения… Люди каждый день об этом пишут. Но перед тем, как просить помощи в реализации проекта, нужно ответить на следующие ключевые вопросы:
Каков мой бюджет?
Если вы настроены серьёзно и хотите выпустить свой продукт, вы должны подумать о своём бюджете. Даже в случае простого приложения нужно подумать о нескольких тысячах долларов. Хотя бы.
Какая у меня маркетинговая стратегия?
Вы собираетесь использовать обычное сарафанное радио или готовы платить за известность?
Какой список задач у данного проекта?
А также, какие есть ограничения? Сколько мне нужно разработчиков?
Откуда будут приходить/где будут храниться данные?
А также, как они будут использоваться? Разработана ли у меня соответствующая политика приватности?
Есть ли цель заработать денег?
Если да, как вы собрались её достигать? Через рекламу, IAP , подписки, платные приложения? Всё вышеперечисленное?
Как вы будете платить вашим разработчикам?
Есть ли у вас капитал или вы собрались платить им после того, как приложение начнём приносить доход? Часто независимые контрактники требуют часть полной стоимости авансом. Большинству разработчиков неинтересно разделение доходов, за исключением случаев, когда они сами вкладываются в приложение.
Какой будет способ тестирования?
На какой тип устройства вы собираетесь устанавливать его? Как много итераций вам нужно? Каких людей вы хотите вовлечь?
Как скоро вы хотите опубликовать приложение в магазине?
Это однозначно повлияет на конечный доход.
Будете ли вы требовать или предлагать регистрацию/интеграцию с социальными сетями?
Продумайте реализацию этой функциональности.
Какова ваша целевая аудитория?
Это нишевое приложение или оно может быть распространено повсюду?
Реализована ли уже моя идея?
Если да, как я могу улучшить её или что в ней отсутствует?
Что делать с идеями для приложений, если вы не разработчик?
Вы, возможно, ищете разработчиков в вашу команду для реализации приложения. Если у вас есть деньги и вы можете заплатить разработчику или фирме, то всё просто и понятно. Далее мы поговорим о том, что делать, если у вас недостаточно денег, чтобы платить кому-то.
Осознайте, что ваша идея может быть не уникальна, а разработка требует значительных усилий.
- Нарисуйте дизайн вашего приложения (внешний вид и функциональность). Он может быть грубым и нарисован на бумаге. Но он должен быть достаточно конкретным, а не размытым.
- Составьте список своих навыков, связанных с идеей.
- Составьте список того, что вы вложите в свою идею.
Поймите, что разработка требует значительных усилий. Представьте, что разработчик работает полный рабочий день (8 часов) на протяжении 2 месяцев, чтобы создать ваше приложение. И вы также работаете полный рабочий день. Что вы делаете в это время? Если ваша работа, по вашим представлениям, заканчивается раньше, то нужно пересмотреть идею. В этом сценарии разработчик выполняет большую часть работы, и вы, честно говоря, бесполезны. То, что вы можете дать после того, как приложение закончено, не имеет особого значения и не будет мотивировать разработчика заканчивать продукт.
Пересмотр вашей идеи
Если разработчик выполняет больше работы, чем вы, нужно пересмотреть идею, чтобы распределить работу более справедливо. Это даст преимущества от совместной работы. Посмотрите на ваш список навыков и подумайте, как их можно применить. Это нормально, если приложение будет отличаться от начальной задумки. Пересматривайте его до тех пор, пока количество вашей работы и работы разработчика, как минимум, не сравняются.
- Распределяйте работу настолько справедливо, насколько это возможно.
- Фокусируйтесь прежде всего на ваших навыках.
- Ваша загрузка должна примерно равняться 2 месяцам полноценной работы. Для простых приложений загрузка, конечно, может быть меньше. Вы можете попросить сообщество (например,
В этом руководстве вы усвоите, как начать разработку под Андроид, а именно: мобильных приложений на платформе Android Eclipse + SDK. Сегодня существует множество подходов к разработке и созданию мобильных приложений для Android. Сложные аппаратные устройства, планшетные ПК и различные программные платформы (Symbian OS, iOS, WebOS, Windows Phone 7…) открывают бескрайнее пространство для разработчиков.
Итак, список приложений для начала разработки мобильных приложений под Android огромен. Какую платформу выбрать? Какой язык программирования учить? Какой набор приложений выбрать для планирования проекта? В этом руководстве вы усвоите, как начать разработку мобильных приложений для платформы Android, открытую мобильную ОС от Google.
Почему платформа Android?
Android - открытая платформа, основанная на ядре Linux. Установлена она на тысячах девайсов широкого круга производителей. Android предоставляет приложения для всех видов оборудования, которые только можно представить в виде современных мобильных устройств - цифровые компасы, видеокамеры, GPS, датчики и многое другое.
Бесплатные инструменты разработки для Android позволяют быстро начать создание бесплатных или почти бесплатных приложений. Когда вы готовы явить миру вашу программку, вы можете опубликовать ее посредством Android Market. Публикация в Android Market требует одноразового регистрационного взноса (25 долл. США на момент написания статьи) и, в отличие от App Store Apple (который очень строго подходит к цензу), делает ваше приложение доступным для скачивания и покупки после быстрого обзора - если приложение не нарушает правила и закон.
Вот несколько других отличий Android SDK, которые предлагает Вам преимущества как разработчику:
- Пакет Android SDK доступен для Windows, Mac и Linux, поэтому вам не нужно платить за новое "железо" для написания приложений.
- SDK встроен в Java. Если вы знакомы с языком программирования Java, вы уже на полпути к освоению.
- С учетом распространения приложения через Android Market, оно будет доступно сразу для сотен тысяч пользователей. Вы не ограничивается только официальным Market"ом, поскольку есть альтернативы. Например, вы можете опубликовать приложение на своем блоги. Amazon по слухам, готовит собственный магазин Android-приложений.
- Равно как техническая документация SDK, для разработчиков Android создаются новые ресурсы. Платформа набирает все большую популярность среди пользователей и разработчиков.
Хватит говорить - давайте начнем разработку приложений для Android!
Установка Eclipse и Android SDK
Ориентация под платформу Android при разработке
Перед тем, как начать написание приложений для Android, нужно скачать SDK для платформы Android. Каждая платформа имеет собственную версию Android SDK, которая установлена на устройствах пользователей. Для версии Android 1.5 и выше существует две платформы: Android Open Source Project и Google.
Android Open Source Project - платформа с открытым исходным кодом, но не включает в себя расширения Google, такие как Google Maps. Если вы не хотите использовать Google API, функциональность карт Google будет недоступна для вашего приложения. Если у вас нет особых причин делать это, я бы рекомендовал вам настроить таргетинг на одной из платформ Google, так как это позволит вам использовать собственные расширения Google.
- Выберите Window->Android SDK and AVD Manager.
- Нажмите Available Packagesв левой колонке и проверьте репозиторий, чтобы показать список доступных платформ Android.
- Вы можете выбрать платформы для загрузки из списка или оставить все отмеченными, чтобы загрузить все доступные платформы. По завершению, нажмите Install Selected и следуйте инструкции по установке.
После того как все было успешно загружено, вы готовы приступить к разработке под Android.
Создание нового проекта Android
Мастер настройки Eclipse New Project Wizard поможет создать приложение Android, сгенерировав файлы и код, готовые к запуску, справа от блока. Это быстрый способ убедиться в работоспособности и хорошая начальная точка при начале разработки приложений:
После нажатия Finish, Eclipse создаст новый проект Android, готовый к запуску и разработке под Android. Помните, вы говорили Eclipse сгенерировать Activity, названный BrewClockActivity? Это код, который Android на самом деле использует для запуска приложения. Сгенерированный код будет отображен в виде простого сообщения в духе ‘Hello World’.
Пакеты
Имя пакета - идентификатор для вашего приложения. Когда настанет время публикации результата на Android Market, этот идентификатор будет использоваться для отслеживания обновлений для приложения, поэтому важно убедиться, что этот идентификатор уникален. Хотя здесь мы используем имя com.example.brewclock,для реального приложения лучше выбрать что-то вроде com.yourcompanyname.yourapplication.
Версии SDK
Версия Min SDK Version (название говорит само за себя) - самая ранняя версия Android, на которой приложение будет работать. С каждым новым выпуском Android, SDK добавляет и изменяет различные методы. При выборе версии SDK, Android (и Android Market) знает, что ваше приложение будет работать только на устройствах с версией платформы Android указанной версии и выше.
Запуск вашего приложения
Сейчас попробуем запустить наше приложение в Eclipse. Поскольку это первый запуск, Eclipse спросит, с каким из типов проекта вы работаете:
- Выберите Run->Run или нажмите Ctrl+F11.
- Выберите Android Application и нажмите OK.
Eclipse попробует запустить приложение на устройстве с Android. На данный момент, однако, у вас нет устройств под управлением Android, так что запустить проект не удастся, и вам будет предложено создать новое устройство Android Virtual Device (AVD).
Виртуальные устройства (Android Virtual Devices)
Android Virtual Device (AVD) эмулирует среду Android, будь то мобильный телефон или планшетный ПК. Вы можете создавать сколько угодно устройств AVD, с разными версиями платформы Android. Для каждого AVD вы можете настроить различные параметры устройств, указав наличие физической клавиатуры, поддержки GP, разрешение камеры и так далее.
Перед тем как запустить приложение, вы должны создать свой первое устройство AVD с платформой SDK (Google API, 1,6).
Давайте сделаем это сейчас:
- Если вы еще не пробовали запустить приложение, нажмите Run (или сочетание клавиш Ctrl+F11)
- Когда всплывает предупреждение, нажмите Yes для создания AVD.
- Нажмите New в диалоге Android SDK and AVD Manager.
- Установите следующие параметры для AVD: Name: Android_1.6 Target: Google APIs (Google Inc.) - API Level 4 SD Card Size: 16 MiB Skin Built In: Default (HVGA)
- Нажмите Create AVD.
- Закройте диалог Android SDK and AVD Manager.
Запуск кода
Попробуйте запустить приложение снова (Ctrl + F11). Eclipse теперь будет создавать ваш проект и запускать новый AVD. Помните, AVD полностью эмулирует среду Android, причем вам даже не нужно наблюдать достаточно медленный процесс загрузки, как в случае с реальным устройством. По этой причине, как только AVD будет готов к работе, лучше не закрывать окно, пока вы закончили программировать, в течение всего дня.
Разработка под андроид: проектирование пользовательского интерфейса
Одним из первых шагов к созданию какой-либо программы вообще - проектирование пользовательского интерфейса. Вот небольшой набросок нашего приложения:
Пользователь сможет установить время кипячения в минутах, используя кнопки + и -. Когда он нажмет Start, отсчет времени начнется в течение указанного количества минут. Если пользователь отменяет кипячение, нажав на кнопку еще раз, время будет увеличено, когда таймер достигнет 0.
Построение интерфейса
Пользовательский интерфейс Android, или оболочка, которые описаны в документации XML, могут быть найдены в папке res/layouts. Код шаблона, уже сгенерированный Eclipse, объявлен в res/layouts/main.xml и, как вы заметили, уже работает в эмуляторе.
Eclipse располагает собственным инструментарием для проектировки макета, который позволяет создавать интерфейс методом перетаскивания в пределах экрана. Тем не менее, временами легче написать интерфейс в XML и использовать графический макет для предварительного просмотра результатов.
Давайте сделаем это сейчас, изменив main.xml в соответствии с эскизом выше:
- Откройте res/layouts/main.xml в Eclipse двойным нажатием из Package Explorer.
- Выберите вкладку main.xml в нижней части экрана, чтобы перейти в режим XML.
Сейчас изменим содержание main.xml на следующее:
# /res/layouts/main.xml
Как вы можете видеть, файлов в Android XML много, но это позволит вам контролировать практически каждый элемент на экране.
Одним из наиболее важных элементов интерфейса в Android являются контейнеры Layout, такие как LinearLayout, используемый в этом примере. Эти элементы невидимы для пользователя, но выступают в качестве контейнеров для других элементов, таких как Buttons и TextViews.
Есть несколько типов расположения макета, каждый из которых используется для построения различных типов планировки. Как и LinearLayout и AbsoluteLayout, TableLayout позволяет использование интерфейса с использованием сетки. Вы можете узнать больше об этом в общий макет объектов разделе API-документации.
Привязка вашего макета к коду
После сохранения макет, попробуйте запустить приложение в эмуляторе, нажав Ctrl + F11, или нажмите значок Run в Eclipse. Теперь вместо сообщения "Hello World" вы увидите, что в Android теперь отображается интерфейс приложения.
Если нажать любую кнопку, они будут подсвечиваться, как и ожидалось, но не делайте что-нибудь помимо этого. Давайте продолжим написание кода вслед за интерфейсом макета:
# /src/com/example/brewclock/BrewClockActivity.java ... import android.widget.Button; import android.widget.TextView; public class BrewClockActivity extends Activity { /** Properties **/ protected Button brewAddTime; protected Button brewDecreaseTime; protected Button startBrew; protected TextView brewCountLabel; protected TextView brewTimeLabel; ... }
Далее, мы изменим вызов onCreate. Это вызов происходит всякий раз, когда на Android запускается приложение. В коде, сгенерированном Eclipse, onCreateсоздает вид активности на R.layout.main. Это та строка кода, которая дает команду Android декодировать макет документа XML и отображать его пользователю.
Объект ресурса (Resource Object)
В Android, R - это специальный объект, который автоматически создается для обеспечения доступа к ресурсам вашего проекта (макеты, строки, меню, иконки...) внутри кода. Каждому ресурсу присваивается свой id. В файле макета (см. выше) это @+id атрибуты XML. Мы будем использовать их для привязки Buttons и TextViews в нашем макете:
# /src/com/example/brewclock/BrewClockActivity.java ... public class BrewClockActivity extends Activity { ... public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Connect interface elements to properties brewAddTime = (Button) findViewById(R.id.brew_time_up); brewDecreaseTime = (Button) findViewById(R.id.brew_time_down); startBrew = (Button) findViewById(R.id.brew_start); brewCountLabel = (TextView) findViewById(R.id.brew_count_label); brewTimeLabel = (TextView) findViewById(R.id.brew_time); } }
"Прослушка" событий
Для определения нажатия кнопок нам необходимо реализовать их прослушивание. Вы можете быть знакомы со слушателями обратного вызова, или callbacks, из других платформ, таких как Javascript / JQuery или Rails.
Android обеспечивает аналогичный механизм путем предоставления интерфейса Listener, такие как OnClickListener, которые определяют методы, которые будут срабатывать при возникновении события. OnClickListener интерфейс уведомит ваше приложение, когда пользователь нажимает на экран или определенную кнопку. Кроме того, необходимо сказать каждой кнопке о ClickListener:
# /src/com/example/brewclock/BrewClockActivity.java ... // Be sure not to import // `android.content.dialoginterface.OnClickListener`. import android.view.View.OnClickListener; public class BrewClockActivity extends Activity implements OnClickListener { ... public void onCreate(Bundle savedInstanceState) { ... // Setup ClickListeners brewAddTime.setOnClickListener(this); brewDecreaseTime.setOnClickListener(this); startBrew.setOnClickListener(this); } ... public void onClick(View v) { // TODO: Add code to handle button taps } }
Далее мы добавим код, который обрабатывает каждое из наших нажатий кнопок. Мы также добавим четыре новые свойства Activity, что позволит пользователю установить и отслеживать время пивоварения: сколько варок было сделано и запущен ли таймер.
# /src/com/example/brewclock/BrewClockActivity.java ... public class BrewClockActivity extends Activity implements OnClickListener { ... protected int brewTime = 3; protected CountDownTimer brewCountDownTimer; protected int brewCount = 0; protected boolean isBrewing = false; ... public void onClick(View v) { if(v == brewAddTime) setBrewTime(brewTime + 1); else if(v == brewDecreaseTime) setBrewTime(brewTime -1); else if(v == startBrew) { if(isBrewing) stopBrew(); else startBrew(); } } }
Обратите внимание, что мы используем CountDownTimer класс, предоставляемый Android. Это позволяет легко создать и запустить простой счетчик и получать уведомления через регулярные промежутки времени в то время, как идет обратный отсчет. Вы будете использовать это в методе startBrew, читайте об этом ниже.
Следующие методы - модели поведения ползунка настройки времени варки, запуска и остановки варения, а также счетчика. Мы также инициализируем свойства brewTime и brewCount в onCreate.
Было бы хорошей практикой переместить этот код в отдельный класс модели, но для простоты мы добавим код в BrewClockActivity:
# /src/com/example/brewclock/BrewClockActivity.java ... public class BrewClockActivity extends Activity implements OnClickListener { ... public void onCreate(Bundle savedInstanceState) { ... // Set the initial brew values setBrewCount(0); setBrewTime(3); } /** * Set an absolute value for the number of minutes to brew. * Has no effect if a brew is currently running. * @param minutes The number of minutes to brew. */ public void setBrewTime(int minutes) { if(isBrewing) return; brewTime = minutes; if(brewTime < 1) brewTime = 1; brewTimeLabel.setText(String.valueOf(brewTime) + "m"); } /** * Set the number of brews that have been made, and update * the interface. * @param count The new number of brews */ public void setBrewCount(int count) { brewCount = count; brewCountLabel.setText(String.valueOf(brewCount)); } /** * Start the brew timer */ public void startBrew() { // Create a new CountDownTimer to track the brew time brewCountDownTimer = new CountDownTimer(brewTime * 60 * 1000, 1000) { @Override public void onTick(long millisUntilFinished) { brewTimeLabel.setText(String.valueOf(millisUntilFinished / 1000) + "s"); } @Override public void onFinish() { isBrewing = false; setBrewCount(brewCount + 1); brewTimeLabel.setText("Brew Up!"); startBrew.setText("Start"); } }; brewCountDownTimer.start(); startBrew.setText("Stop"); isBrewing = true; } /** * Stop the brew timer */ public void stopBrew() { if(brewCountDownTimer != null) brewCountDownTimer.cancel(); isBrewing = false; startBrew.setText("Start"); } ... }
Только части этого кода, характерные для Android, создают отображения меток, используя метод setText. В startBrew мы создаем и запускаем CountDownTimer для начала посекундного отсчета, когда варка/кипячение окончео. Обратите внимание, что мы определяем слушателей CountDownTimer (onTick и onFinish). onTick будет вызываться каждые 1000 миллисекунд (1 секунду), в то время как вызов onFinish происходит тогда, когда таймер достигнет нуля.
Избегаем сложности в программировании на Android
Чтобы сохранить это руководство для разработки под Android простым, я намеренно применял надписи непосредственно в коде (например, "Brew Up!", "Start", "Stop"). На самом деле, это не очень хорошая практика, так как затрудняет поиск и изменение этих строк в крупных проектах.
Android обеспечивает аккуратный способ хранения ваших текстовых строк отдельно от кода R-объекта. R позволяет определить все строки приложения в XML-файле (res/values/strings.xml), к которому можно получить доступ в коде по ссылке. Например:
# /res/values/strings.xml
Теперь, если вы хотите изменить Brew Up! что-то другое, нужно изменить его единожды в файле strings.xml. Если ваше приложение содержит десятки файлов кода, надписей в одном месте приобретает огромный смысл!
Проверяем BrewClock
Мы завершили написание кода, и пришло время "опробовать" приложение. Нажмите "Run" или Ctrl + F11, чтобы запустить BrewClock в эмуляторе. Если все прошло хорошо, вы увидите интерфейс настройки и готовы к заварке чая! Попробуйте установить разное время заварки и нажмите Start для обратного отсчета.
Резюме
В этом кратком введении в разработку под Андроид, вы скачали и установили Android SDK и плагин Eclipse Android Development Tools (ADT). Вы настроили эмулятор или виртуальное устройство для тестирования ваших приложений. Вы также создали рабочее приложение для Android который подчеркнул ряд ключевых понятий, которые вы будете использовать при разработке будущих Android приложений.
Будем надеяться, что это разбудит ваш аппетит для создания мобильных приложений и экспериментов в этой захватывающей области. Android предлагает отличный способ к написанию приложений для ряда нынешних и будущих мобильных устройств. Если вы уже написали рабочее приложение под эту платформу, не забудьте сообщить нам об этом в комментариях!
Сегодня появилась задача: настроить Eclipse для разработки под Android.
Потребуются следующие вещи:
- Eclipse (Я использовал Classic)
- Android Developer Tools (ADT)
- Android SDK
Первое что нужно — среда разработки (IDE). На Андроиде это Eclipse. Скачать можно с официального сайта: http://www.eclipse.org/downloads/ (Скачивать в соответствии с битностью установленной на компьютере операционной системы). Очень хорошо, что Eclipse есть и под Windows, и под Linux, и под Mac. Так же он бесплатный. Eclipse не устанавливается — его достаточно скачать и распаковать на диск в отдельную папку (лучше создать где-нибудь папку без русских букв в имени)
JDK необходим для работы Eclipse и Java. Скачать его можно на сайте Oracle. Версии JRE будет достаточно.
Откроется окно, в котором нужно будет указать url на сервер, где расположен пакет. У Google адрес такой: https://dl-ssl.google.com/android/eclipse/, далее нужно отметить все пункты в Developer Tools и нажать Next
Мастер установит ADT. После этого нужно будет перезапустить Eclipse.
Далее нужно пойти и скачать Android SDK. Сделать это можно на официальном сайте . Скачивать нужно именно bin — он удобнее. После этого нужно связать SDK и Eclipse:
Идем в Window -> Preferencess -> Android
Указываем в текстовом поле SDK Location то место, куда был установлен SDK. По-умолчанию это: C:\Program Files (x86)\Android\android-sdk
Последний шаг — обновление этого самого SDK. Идем в Window -> Android SDK Manager. Откроется примерно такое окно (у меня уже всё установлено):
По-хорошему тут можно выбрать все пакеты и нажать кнопку Install packages. И можно идти пить кофе. Процесс займет более часа. На некоторые пакеты не от Google у меня запросило пароль — отказываемся и пропускаем — всё равно работать будет.
Немного отойдем от темы разметок. На сайте альма-матер все сильно поменялось. Теперь средой для разработки приложений для Android является Android Studio. Но так как множество примеров и учебников ориентировано на Eclipse все же стоит иметь в своем арсенале и его.
Кроме того вышла Java 8. И в связи со всем этим еще раз установим JDK, Eclipse + ADT, а так же, затем и Android Studio и JetBrains IntelliJ IDEA 14.0.2. Ну и в обязательном порядке Genymotion.
И так, поехали!
1) Устанавливаем JDK
И выбираем JDK Download
Соглашаемся с лицензией
И выбираем версию для скачивания в зависимости от разрядности вашей Windows (у меня Win 8.1 x64).
Скачали, запускаем JDK на установку
в процессе установки так же установится и JRE
Все жмем Close. На этом установка JDK закончена.
Проверяем установку JDK при помощи команды java –version .
Если видим подобный вывод команды (у вас может отличаться если скачали другую версию или билд java), то все хорошо. Идем дальше.
2) Установка Eclipse
И скачиваем Stand-alone SDK Tools
Качаем именно zip архив с SDK и затем разархивируем в C:\android-sdk-windows (вы можете в другое каталог, какой удобно). Видим примерно следующее
На этом установка SDK закончена
4) Установка плагина ADT для Eclipse
Запускаем Eclipse. Выбираем Install New Software
И в открывшемся окне вводим адрес https://dl-ssl.google.com/android/eclipse/
Жмем Enter. Ждем пока Eclipse найдет пакеты для установки. Отмечаем все как на скрине и жмем Next
Ждем немножко и опять жмем Next
Соглашаемся с лицензиями
Может вылезти вот такое предупреждение
Просто жмем ОК
После установки Eclipse предложит перезапуститься, чтобы изменения вошли в силу.
Соглашаемся и после перезапуска видим такую картину
ADT ругнулся что он не видит Android SDK и это нормально, так как он не знает где он лежит. Но мы ему расскажем.
Жмем Close и Eclipse нам предложит ввести путь до Android SDK
Выбираем путь, куда мы разархивировали Android SDK и жмем Next
И жмем Finish
Может ругнуться и так
Жмем Open SDK Manager
Сейчас пока важно выбрать, то что отмечено желтым. Остальные пакеты можно установить в любой момент.
Жмем Install…
Соглашаемся с лицензиями и опять жмем Install и ждем пока все скачается и установится
В ходе установки может быть показан лог
Пугаться не стоит
Скачивание и установка пакетов Android SDK может занять какое-то продолжительное время.
В конце должны увидеть такое окошко
Которое можно закрыть. Так же в этом окошке Eclipse можно нажать Close
И запустить Eclipse заново
Теперь мы видим что Eclipse запустился без проблем и ошибок, а так же видно что он видит Android SDK.
Теперь осталось все это немного причесать и запустить первое тестовое приложение, чтобы проверить работу всего этого хозяйства.
5) Установка дополнительных пакетов Android SDK
Пакеты ставятся по принципу необходимости. Т.е. если вы хотите разрабатывать и тестировать свои программы под разными версиями Android, то вам необходимо поставить нужные пакеты. Их можно удалить или добавить в любое время.
На первое время можно установить такие пакеты (ну или то, что вы посчитаете нужным)
После загрузки данных пакетов папочка с Android SDK стала весить почти 7,5Гб
Так что рассчитывайте место на ваших дисках.
6) Настройка места хранения AVD (Android Virtual Devices)
По умолчанию Android SDK создает и хранит файлы AVD в каталоге
C:\Users\ПОЛЬЗОВАТЕЛЬ\.android\avd
Для меня это не очень удобно, поэтому я перенесу эту папку в каталог C:\AVD
Для этого
1. Создаем папку C:\AVD
2. Создаем переменную окружения Windows с названием ANDROID_SDK_HOME и параметром указывающим на наш каталог
3. Копируем подкаталог.android в каталог H:\AVD
4. Запускаем AVD Manager и видим что его каталог находится в новом месте где мы указали
У нас пока нет созданных AVD, но мы это поправим.
А пока надо установить и настроить Intel® HAXM
7) Установка и настройка Intel Hardware Accelerated Execution Manager (Intel® HAXM)
Системные требования и инструкция по установке тут:
Устанавливать можно как в ручную, так и через Android SDK. Но я выбрал установку в ручную, так как сайт Intel, как правило содержит более свежую версию HAXM.
И так скачиваем HAXM тут (на данный момент версия 1.1.1 и файлик весит всего 1,7Мб):
Разархивируем и запускаем файлик на установку
Для того, чтобы проверить, что все установлено верно и работает, необходимо в командной строке выполнить:
sc query intelhaxm
После выполнения данной команды вы увидите текущий статус службы
Так же может пригодится способ остановить службу:
sc stop intelhaxm
Запустить службу:
sc start intelhaxm
Этим мы только подготовились к запуску AVD. Теперь необходимо создать устройство AVD
8) Создание AVD
Запускаем AVD Manager
Создаем AVD. В CPU/ABI выбираем Intel Atom
После нажатия ОК выведется информация о создаваемом AVD
И в результате видим наш AVD
И запускаем его нажва Start…
В результате видим эмулятор в работе
Эмулятор Android 2.2.3 запустился довольно шустро и работает тоже почти без тормозов. Создадим AVD Android 4.x и посмотрим как будет он себя вести
Этот уже запускается гораздо дольше
Видно что работает HAXM
Но так или иначе скорость работы AVD на Android 4.1.2 достаточно приличная. Гораздо лучше чем было год назад.
И еще одна хитрость. Если задать слишком большой размер памяти RAM для AVD
То как видим возникает появляется значок желтого треугольника с восклицательным знаком. И при запуске эмулятор ругается на это и может не запуститься
Это лечится достаточно просто. Нужно открыть файл \.android\avd\
Правда все равно время запуска гораздо дольше чем на AVD 2.x
Теперь осталось проверить запуск реально программы на AVD.
9) Запуск тестовой программы на AVD
Запускаем Eclipse и создаем тестовое приложение
Мастер сгенерил нам проект
Ну и запустим его на AVD 2.x
Все работает. Но AVD вещь очень капризная и не предсказуемая. Поэтому лучше поставим Genymotion.
10) Установка Genymotion
Установка Genymotion состоит из двух этапов: установка VirtualBox и собственно установка Genymotion. Genymotion использует VirtualBox для установки виртуальных машин Android.
И так скачиваем VirtualBox с сайта производителя https://www.virtualbox.org/wiki/Downloads
и устанавливаем его
Вылезет предупреждение и мы с ним соглашаемся
Настраиваем VirtualBox
Указываем где будут хранится виртуальные машины
И на этом все. На всякий случай после установки VirtualBox компьютер лучше перезагрузить.
Теперь ставим Genymotion
И регистрируемся (если еще не зарегистрированы) чтобы скачать бесплатную версию
На текущий момент версия Genymotion 2.3.1
И так устанавливаем
Настройка Genymotion
Теперь надо добавить виртуальные устройства
Для этого еще раз вводим наши логин и пароль, которые создали при регистрации на сайте
После этого получим список устройств которые можно скачать и установить
Их можно фильтровать по версии Android и устройству
Тут видим что нам показаны только устройства с Android 2.3.7
Но прежде чем скачивать устройства надо немножко донастроить Genymotion. Для этого жмем Cancel и идем в настройки Genymotion
И указываем путь к предварительно созданному каталогу где будут храниться виртуальные машины
А так же путь к каталогу с Android SDK
Теперь жмем ОК и приступаем к добавлению устройств
Я выбрал Google Nexus One 2.3.7
И так же Google Nexus S 4.1.1
Вот так уже они выглядят установленные
Чтобы запустить устройство жмем старт. Я запустил Google Nexus One 2.3.7 и на нем проверил запуск тестового приложения.
В принципе из Eclipse можно легко запускать приложения в Genymotion и без плагина, но для удобства интегрируем Genymotion с Eclipse.
Для этого установим в Eclipse плагин Genymotion
Жмем Enter, ждем пока появится плагин, отмечаем его и жмем Next
После перезагрузки видим значок запуска Genymotion в панели инструментов Eclipse
Кликаем по нему и видим такую гадость
Надо указать путь к Genymotion каталогу. Жмем ОК и указываем путь к каталогу
Теперь при нажатии на иконку Genymotion на панели мы увидим это
Ну вот почти и все. Теперь остались мелкие косметические доделки внешнего вида Eclipse, которые я обычно всегда делаю. Ну и можно, в принципе удалить все образы виртуальных устройств AVD, которые мы скачали в SDK Manager, так как в них, по большому счету нет ни какой необходимости, а место они сжирают и не маленькое.
Идем в Help –> Eclipse Marketplace
И в поиске вбиваем Jeeeyul и затем устанавливаем этот плагин.
Ну и с его помощью раскрашиваем все как хотим.
Мой Eclipse после настроек выглядит вот так
Что мне нравится в этом плагине, что можно создавать темы и потом их экспортировать и импортировать.
Теперь удалим пакеты Intel AVD устройств.
Папка SDK до удаления весит 7,5Гб
После удаления весит 3Гб
Итого разница в 4,5Гб…. не мало
На этом вроде все. Теперь поставим к этому комплекту еще Android Studio, но это в следующей теме.
24 февраля 2014 Просмотров: 21242Android. Установка эмулятора Android SDK+ Eclipse+ ADT
Для разработки приложений под ОС Android на персональном компьютере необходимо установить эмулятор, позволяющий разрабатывать эти приложения не обращаясь к мобильным устройствам.
В этом уроке подробно рассмотрены все этапы установки и настройки комплекта Android SDK + Eclipse + ADT.
SDK (от англ. software development kit) - комплект средств разработки, позволяющих создавать приложения.
Разработчики SDK иногда подменяют слово «software» другим. Примеры:
- Oracle - Java Development Kit (JDK)
- Microsoft и Apple предоставляют Driver Development Kit (DDK)
- Google Android SDK.
Для разработки приложений нам понадобится следующий инструментарий:
- Java SE JDK
- Android SDK
- Среда разработки Eclipse
- ADT - плагин, который настраивает среду Eclipse разработки для использования Android SDK
Java SE JDK
Берем с официального сайта: http://www.oracle.com/technetwork/java/javase/downloads/index.html . (Кнопка JDK Download ).
На рисунке представлен экран загрузки Java Development Kit (JDK) версии 7 на официальном сайте Oracle для различных операционных систем. Скачиваем файл, соответствующий Вашей операционной системе. Установка JDK проходит без проблем, после чего желательно перезагрузиться.
Android SDK+ Eclipse+ ADT
На сайте http://developer.android.com/sdk/index.html имеется готовая среда разработки, включающая в себя Eclipse + Android SDK + ADT. Также имеется возможность скачать инструменты Eclipse, Android SDK и ADT по отдельности, а далее самому установить и выполнить необходимые настройки каждого инструмента как единой системы.
Выбираем готовую среду. Идем на сайт http://developer.android.com/sdk/index.html , далее DOWNLOAD FOR OTHER PLATFORMS, таблица ADT Bundle файл ОС Windows 32-bit
adt-bundle-windows-x86-20130219.zip, размер 425487608 bytes
Особенности установки Android SDK+ Eclipse+ ADT
После распаковки скачанного архива будет созданы две директории и исполняемый файл SDK Manager.exe
Директория eclipse – содержит среду разработки.
Директория SDK - включает в себя инструментарий Android SDK
Файл SDK Manager.exe менеджер для инсталляции компонентов SDK.
Распаковывая архив необходимо учитывать следующие особенности:
- Каталог, в который будет распакован архив adt-bundle-windows , является установочно-исполняемым каталогом, который будет содержать файлы конфигурации и исполняемые файлы. Если в последующем его переместить в другое место, то придется перенастраивать среду разработки.
- В меню «Пуск» ссылки на исполняемые файлы, файлы управления и конфигурации не прописывается.
- Не допускается использование кириллицы при записи пути к архиву распаковки.
Поэтому для каталога, в который распакуем архив, выбираем следующее имя: <имя диска>:\
SDK Manager.exe
После распаковки архива запускаем менеджер - SDK Manager.exe .
Менеджер нам необходим для того, чтобы установить следующие компоненты:
Платформа Android . Для каждого официального релиза ОС Android выпускается компонент SDK, включающий библиотеки выполнения, образ системы для эмулятора и другие для конкретной версии инструменты.
Кроме того, для каждой платформы имеются: дополнения SDK, драйвер USB для Windows, примеры, документация, которые устанавливаются с помощью менеджера.
При первом запуске SDK Manager подключится к серверу-репозиторию и получит список доступных пакетов. Мы выберем пакет Android 4.2.2 (API 17) и нажмем кнопку Install Package . (Установить пакет). Вес пакета составляет до 200 Mb, поэтому для установки пакета понадобится некоторое время.
В следующем окне необходимо принять информацию о лицензии на выбранные компоненты SDK и продолжить процесс установки кнопкой Install . Дальше необходимо подождать пока пакет будет скачан с сервера и установлен.
SDK Manager можно запустить в любое время, чтобы обновить компоненты или установить новые.
Eclipse
После распаковки можно закрепить в меню «Пуск» ярлык к исполняемому файлу eclipse для запуска среды, расположенному в каталоге eclipse .
Если вы запускайте Eclipse впервые, скорее всего вам будет показано стандартное окно приветствия, где находится элементарная справка по использованию данной IDE, в частности - создание своего первого проекта. Сверните или закройте эту вкладку (стандартная кнопка «х» в заголовке вкладки). Вы всегда сможете открыть окно приветствия, воспользовавшись пунктом меню Help -> Welcome.
Теперь вы видите главное окно среды Eclipse .
При первом запуске среды вам будет предложено определить каталог для рабочего пространства.
Рабочим пространством в Eclipse называется каталог, содержащий проекты. Вы можете использовать одно пространство для всех проектов или несколько пространств по вашему усмотрению. При записи пути к каталогу не допускается использование кириллицы.
Краткий обзор среды Eclipse
Eclipse - открытая IDE, которую вы можете использовать для разработки приложения на различных языках. Обычно, говоря Eclipse , подразумевают Java .
Пользовательский интерфейс (UI) связан с двумя концепциями:
представление , являющееся отдельным компонентом интерфейса (например, редактор кода, консоль или инспектор объектов);
перспектива - набор отдельных представлений, которые необходимы для различных задач разработки (например, редактирования кода, отладки, анализа, синхронизации, контроля версий и т. п.).
Eclipse для Java имеет набор предустановленных перспектив. Наиболее важные из них - Java и Debug (Отладка). Перспектива Java показана на рисунке. Она содержит представление Package Explorer (Диспетчер пакетов) в левой части, представление для визуального проектирования или редактирования кода в середине, представление Palette (Палитра элементов управления), представление Properties (Свойства), Outline (Контур) и набор закладок, в котором скомпонованы представления Problems (Проблемы), Javadoc и Declaration (Объявление), Console (Консоль).
Представления внутри перспективы можно перемещать по своему усмотрению простым перетаскиванием, а также изменять их размеры. Кроме того, набор представлений не закреплен жестко - возможно добавлять их или удалять из перспективы. Чтобы добавить представление, перейдите в меню Window->Show View (Окно->Показать вид) и либо отметьте что-нибудь из списка, либо выберите Other (Другие), чтобы получить список всех доступных представлений. Для переключения на другую перспективу вы можете перейти в меню Window->Open Perspective (Окно->Показать перспективу) и выбрать ту, которая вам нужна. Более быстрый способ переключения между открытыми перспективами доступен вам в левом верхнем углу Eclipse . Здесь вы можете узнать, какие перспективы уже открыты и какая из них активна. При открытии дополнительных перспектив они будут добавлены в данный список.
Перспектива DDMS предназначена для отладки и анализа приложений Android и дополняет при работе стандартные перспективы Java и Debug (Отладка)). Кроме того, плагин ADT добавляет в среду несколько представлений, включая LogCat (вывод журнала операций с любого подключенного устройства или эмулятора).
Создание виртуального устройства AVD
Виртуальное устройство Android (Android Virtual Device, AVD ) позволяет разработчику тестировать свои приложения, не имея под рукой телефона с Android. Можно создавать несколько эмуляторов – устройств AVD, с различными видами конфигурации, чтобы эмулировать различные типы реальных телефонов.
Для удобства работы рекомендуется скачать и установить пакет Intel x86 Atom System Image , делается это точно так же как установка примеров SDK, приведенная выше. Этот образ системы работает чуть быстрее, чем стандартный.
Начинаем:
- Запускаем Eclipse
- Идем в меню Windows > Android Virtual Devices
- Открывается окно, жмем кнопку New
Появляется форма, содержащая следующие опции:
В появившемся диалоге необходимо указать параметры создаваемого виртуального устройства, рассмотрим каждый из них.
AVD Name - Имя устройства. Можно задать какое нравится, рекомендую указывать что-то простое, на латинице, без пробелов (в примере newDevice ).
Device - Устройство. Здесь указывается «модель» создаваемого виртуального устройства, фактически - параметры экрана и некоторых других аппаратных параметров. Эти аппаратные параметры собраны в виде определений устройств (Device Defenitions ) на соответствующей вкладке окна Android Virtial Device Manager.
Target - Целевая версия Android. Указывается версия API на которую ориентировано приложение. Выберем самую новую (и единственную доступную по умолчанию), т.е. Android 4.2.2 - API Level 17 . Если вам необходима поддержка более старых версий, то вам необходимо перед созданием виртуального устройства скачать и установить соответствующие пакеты (точно так же как описана установка примеров из SDK приведенная выше).
CPU/ABI - Процессор / Двоичный интерфейс приложения (Application binary interface ). Выбирается аппаратная платформа создаваемого виртуального устройства, т.е. образ аппаратной части. Здесь как раз и следует выбирать Intel Atom (x86) образ, который был установлен нами дополнительно.
Keyboard - клавиатура. Включение представления аппаратной клавиатуры (hardware keyboard). Воспользуемся данным пунктом.
Skin - скин эмулятора. Включение отображения аппаратных элементов управления в окне эмулятора (hardware buttons ). Так же воспользуемся данным пунктом, что бы видеть кнопки устройства в окне эмулятора.
Front Camera и Back Camera - камеры устройства. Включение эмуляции камер (фронтальной и основной), при желании можно вывести через них картинку с web-камеры. Оставим значения по умолчанию - None , так как в простых учебных примерах камеры практически не применяются, а «боевые» приложения, использующие «сложные» аппаратные возможности надежнее отлаживать на реальных устройствах.
Memory Options - опции памяти. Здесь указывается, сколько оперативной (RAM ) памяти будет доступно в эмуляторе, а так же размер VM Heap - количество доступной памяти для одного экземпляра приложения. Рекомендуется эти значения указывать исходя из ресурсов реальных устройств, поэтому оставим значения по умолчанию (512 и 16). Однако, при увеличении этих параметров приложение в эмуляторе будет работать быстрее, но следует помнить что вы разрабатываете приложение для реального устройства, где объем оперативной памяти жестко задан производителем устройства и поменять его невозможно.
Internal Storage - внутреннее хранилище. Тут указывается объем внутреннего устройство хранения, опять таки - указывайте значение, которое возможно на реальном устройстве (т.е. не стоит здесь указывать сотни гигабайтов, таких мобильных устройств скорее всего еще нету). Для примера возьмем 200 MiB (миллионов байт), это чуть меньше 200 мегабайтов.
SD Card - SD карта. Здесь, если требуется, можно указать параметры используемой виртуальной SD карты памяти (которые используются на реальных устройствах повсеместно, для расширения внутреннего хранилища). Оставим поле Size (размер) пустым - пока что не будем использовать SD карту. Для удобства программиста здесь же можно указать готовый образ SD карты в файле, если такая необходимость есть.
Emulation Options - опции эмулятора.
Snapshot - снимок системы - при включении этой опции эмулятор виртуального устройства будет сохранять свое состояние при рестарте, т.е. после включения (загрузки) вы получите устройство в том же состоянии как перед выключением (выгрузкой) эмулятора. Данную опцию пока трогать не будем, оставим ее в выключенном состоянии.
Use Host GPU - использование аппаратного ускорения графики при работе эмулятора. Рекомендуется включить данную опцию - так графика в эмуляторе будет работать быстрее.
Override the existing AVD with same name - Перезаписать существующее виртуальное устройство с тем же именем. Опция, которая появится, если вы попытайтесь для нового виртуального устройства использовать имя, уже присвоенное другому устройству, при включении опции - параметры старого устройства перезапишутся новыми.
Медленный запуск эмулятора
Существует два способа решения данной проблемы
- использовать аппаратные возможности виртуализации (Intel® VT ), позволяющие значительно ускорить работу эмулятора Android
- включить Snapshot («снимок»)
Первый способ. Использование технологии виртуализации
Процессор должен быть Intel с поддержкой технологии виртуализации VT-x (Intel Virtualization Techology for x86 VT-x ) (данные параметры устанавливаются в BIOS). В противном случае использование данного способа не возможно.
Установка
Для процессора Intel необходимо с помощью SDK Manager инсталлировать следующие пакеты:
Intel x86 Atom System Image
Intel x86 Emulator Accelerator (HAXM)
Он находится здесь
\sdk\extras\intel\Hardware_Accelerated_Execution_Manager.
Установка Intel HAXM
В процессе установки вам предложат определить объем выделяемой оперативной памяти. Вы можете оставить значение, предложенное по умолчанию. Если в процессе работы вы захотите изменить это значение – запустите установку еще раз.
Если режим не включен или не поддерживается, то появится окно сообщения:
В этом случае проверьте настройки в BIOS, возможно виртуализация поддерживается вашей системой, но по умолчанию отключена.
Создание виртуального устройства
После установки образа эмулятора Android для x86 необходимо создать новое виртуальное устройство с помощью Android Virtual Device Manager . Для этого:
Запускаем ADV Manager
Второй способ. Использование параметра Snapshot
Snapshot –«снимок» файловой системы эмулятора. Для этого необходимо включить параметр Snapshot при создании или редактировании параметров эмулятора.
После создания эмулятора его необходимо запустить. Для этого выделяем наше устройство и нажимаем кнопку «Start» в появившемся окне необходимо включить параметры «Launch from snapshot » и «Save to snaphost » и далее нажать кнопку «Launch »(запуск, начало, старт, пуск).
Первый запуск AVD будет медленным(3-5 минут) - нужно будет создать «снимок файловой системы эмулятора», зато все последующие будут происходить за приемлемое время -5-10 секунд.