Андроид студио как пользоваться: Как пользоваться Android Studio | Losst
скачивание, установка и работа с программой
Android Studio — среда разработки под популярную операционную систему Андроид. Программное обеспечение вышло в 2013 году и развивается по сегодня. В каждой новой версии Android Studio разработчик добавляет увеличивает функционал, оптимизирует процессы и другое.
В комплекте с IDE идет эмулятор, проверяющий корректную работу уже написанных утилит, приложений на разных конфигурациях.
Где можно скачать бесплатно?
Скачать Android Studio последней версии можно с сайта официального разработчика – developer.android.com. Программа работает на базе Windows ОС. Русский язык отсутствует.
Либо напрямую с нашего проекта:
Установка Android Studio
Алгоритм следующий:
- Запустите .exe файл, увидите на экране классическое диалоговое окно инсталлятора.
- Выберите путь, по которому Андроид Студио и Android SDK будут установлены на компьютер. Делать выбор стоит в пользу локальных дисков, на них больше пространства.
- Далее происходит процесс установки. Приложения Android Studio размещены в папке с самой программой.
Как пользоваться софтом?
После установки пакета программ проводится настройка Android Studio. При первом запуске утилита задаст вопрос об интеграции пользовательских настроек. Если нет опыта в использовании этой среды разработки, стоит нажать «OK». Можно импортировать свои настройки. Программа по умолчанию запустится в стандартной конфигурации.
Разобравшись с предыдущим окном, пользователь увидит новое, которое показывает прогресс загрузки Android SDK на компьютер. Время полного завершения этого процесса зависит исключительно от скорости интернет-соединения на рабочем ПК.
Загрузку можно остановить, по надобности. После нажмите «Finish». Если закачка SDK прервалась и появилась ошибка — кликните на «Retry». Теперь можете работать с Android Studio.
Создание проекта
Начать путь в Android Studio следует с создания первого проекта. В главном окне, которое открылось после запуска программы, пользователю необходимо выбрать «Start a new Android Studio project». Это инициирует открытие диалогового окна, в котором указывается несколько параметров:
- Имя нового проекта. Позже можно будет переименовать.
- Домен компании.
- Место хранение на диске.
Операционная система Андроид идентифицирует приложения благодаря имени пакета, которое составляется из домена компании и названия проекта.
Следующий шаг — выбор гаджетов, под которые будет разработано приложение:
- Телефоны и планшеты.
- Часы.
- Android-TV приставки.
- Очки виртуальной реальности.
- Android Auto.
Минимальная версия API для создания приложений — 16. Хоть Android Studio и предоставляет даже ранние версии на выбор, но современными устройствами они уже не распознаются.
Нажав далее, пользователь попадает на следующую вкладку, где на выбор доступен пункт «Empty Activity». Если целью становится написать приложение с нуля, выбирайте его. Можете ознакомиться и с другими вариантами.
Переходите на следующую вкладку, жмите «Finish». Пройдет некоторое время, прежде чем Android Studio сгенерирует новый проект пользователя. Скорость обработки запросов зависит от производительности ПК.
Файлы проекта
IDE Android Studio никак внешне не отличить от других именитых аналогов. Рабочая область очень схожа с программой Visual от Microsoftt. Среда разработки выполнена в классическом виде. Программистам, не имевшим ранее дело с Android, необходимо привыкнуть к тому, как создаются приложения под нее. Все игры и утилиты — это набор идеально синергирующих между собой компонентов, а не цельный программный код.
Проще говоря, дизайн нового проекта заложен в .xml файле (к примеру, его иконка), в то время как функционал скрыт в Java. Чтобы получить доступ к файлам проекта, обратите внимание на левую часть окна. Переключение между ними осуществляется при помощи вкладок, которые отображаются прямиком над рабочей областью.
К файлам проекта можно отнести и его ресурсы, такие как шрифты, картинки, кэш и документация. Находятся они в папке res, которую найдете в левой части окна.
Визуальный редактор XML
При работе с файлами типа XML, внизу редактора появляются две вкладки: «Text» и «Design». В них можно редактировать код программы, отвечающий за внешний вид, выбирать интересующие пользователя виджеты, добавлять их при помощи перетаскивания на проект.
Использование GRADLE
Android Studio — хорошо продуманная среда разработки, работа с которой приносит только удовольствие. Функционал софта понятно оформлен и упрощен до максимума, чтобы даже у неопытных программистов все получалось.
Инструмент Gradle — то, чего так не хватает во многих других IDE. Благодаря ему все элементы, созданные в ходе развития приложения, объединяются в один APK файл, производится сборка.
Сборка и отладка
Для тестирования приложения в финальной стадии разработки есть два варианта: проверить его непосредственно на смартфоне, планшете или другом целевом устройстве, или прибегнуть к помощи эмулятора.
Чтобы запустить готовую утилиту на Android-устройстве, подключите его к компьютеру, на котором происходит разработка, через USB. Должна быть включена «Отладка по USB» и «Установка приложений из неизвестных источников».
Подключив гаджет к ПК, выберите «Run», а затем «Run App». Далее, откроется окно, в котором нужно выбрать реальное/виртуальное устройство для запуска приложения. После того как выбор будет сделан, проект сразу запустится на гаджете.
Во вкладке Monitors можно проследить за нагрузкой, которую приложение оказывает на смартфон.
ADV Manager
Одно из главных преимуществ Android Studio перед конкурентами — наличие встроенного в пакет эмулятора Android-устройств, на котором можно тестировать уже готовые проекты, корректность работы утилит, находящихся на стадии разработки. Это существенно удобнее, нежели использовать для всех тестов реальное устройство.
Эмулятор Android Studio обладает богатым функционалом. Его достаточно, чтобы проверить работу приложения на разных конфигурациях экрана, смоделировать точные соотношения сторон, нужные разрешения, технические характеристики смартфона, планшета или другого Android-устройства.
Для тестирования на эмуляторе стоит перейти по пути: кнопка «Tools» – «Android» – «ADV Manager». В открывшемся окне нужно выбрать «Create Virtual Device», после чего определить модель устройства, эмуляцию которого программе следует произвести, параллельно скачав для него прошивку.
Для работы с эмулятором потребуется хороший ПК. На нем можно тестировать не только свои утилиты и игры, а и загруженные из других источников.
SDK Manager
Android Studio SDK – инструмент, позволяющий тестировать ПО для Android на определенной версии ОС, или же разрабатывать приложения только для нее. Доступен во вкладке «Tools» – «SDK Manager», в которой находятся все компоненты SDK Manager. Их можно включать/выключать постановкой или устранением флажка соответственно.
Упаковка APK
Android Studio позволяет создать подписанный APK, чтобы в дальнейшем загрузить приложение в Google Play. Для этого кликните на меню «Tools», а в ней пункт «Create signed APK». После, выберите или создайте хранилище ключей — подтверждение того, что именно вы разработали приложение. Это необходимо для Google Play. Созданный на этом этапе файл сохраните и ни в коем случае не теряйте — без него не удастся обновлять приложение в будущем.
Выбрав тип сборки «Release» и нажав кнопку «Finish», создатель завершит разработку приложения на данном этапе. Можно осуществить выход из IDE, перейти к загрузке программы в сеть.
Отзывы о Android Studio
Разработчики приложений для Андроид предпочитают именно эту программу. Согласно отзывам, которые оставляют пользователи IDE, софт дает больше возможностей, предоставляет более гибкую среду разработки, нежели конкуренты. О чем только говорит наличие такого многофункционального эмулятора и еще нескольких инструментов, которые включены в пакет Android Studio! Видно, что с каждым обновлением IDE становится только лучше, в него интегрируют новый функционал, не забывая про старый.
Благодаря продуманному дизайну и простому оформлению инструментов, Android Studio от Google – один из лучших ПО для разработки Android-приложений.
Комфортная работа с Android Studio / Хабр
Всем доброго времени суток!
Насколько производительно работает Android Studio? Считаете ли Вы, что она работает шустро на Вашем ПК или Mac? Или, иногда, сталкиваетесь с лагами или долгой сборкой? А на крупных проектах?
В любом случае, всем нам хочется получать максимальную производительность от железа и софта. Потому я подготовил перечень пунктов и советов для начинающих и опытных разработчиков, которые помогут Вам комфортно работать с крупными проектами или просто поднять производительность. Так же Вы поймете, нужен ли Вашему оборудованию апгрейд.
Пользователи других популярных IDE, возможно, тоже могут найти для себя кое что полезное.
Мотивация
Android Studio была неповоротливой еще во времена перехода с Eclipse. И уже тогда я начал искать способы оптимизации работы этой IDE. Однако, большинство коллег относилось к этому «никак». Работает. Не всегда быстро. И ладно.
Но вот уже год я работаю в другой компании. Климат другой, разработчикам читают доклады по разным технологиям. На одном из таких докладов мне показалось, что тема данной статьи может быть востребованной. Особенно в рамках проектов повышенной технической сложности.
Поговорив с коллегами и знакомыми разработчиками, мне стало понятно, что даже не каждый «профи» понимает нюансы работы железа, ОС и IDE. Потому здесь я постарался собрать полный ликбез на основе собственного опыта.
DISCLAIMER! Все упомянутые в статье модели и бренды не являются рекламой!
Железо
Вот что сказано о железе на официальном сайте Android Studio в графе System requirements (не считая дискового пространства):
3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android Emulator
1280x800 minimum screen resolution
Этого достаточно, чтобы студия просто запустилась и работала. О каких либо производительности и комфорте здесь речи не идет.
В этой главе я расскажу о том, какое железо желательно иметь для комфортной работы с крупными проектами и что может стать «бутылочным горлышком» в Вашей системе.
Здесь для нас наиболее критичны 5 параметров:
- Производительность CPU
- Количество аппаратных потоков CPU
- Количество оперативной памяти
- Скорость произвольного чтения и произвольной записи дисковой подсистемы
- Скорость мелкоблочного чтения и мелкоблочной записи дисковой подсистемы
Поскольку я чаще работал на конфигурациях на базе продукции Intel, то далее речь пойдет о них. Однако, если у Вас AMD- просто при прочтении делайте для себя поправки на аналогичные технологии «красных». Единственный минус, с которым я сталкивался на AMD, уже был описан на Хабре.
Пара слов о Mac
Существует мнение, что Mac является лучшей машиной для разработки. Чаще так говорят о MacBook Pro.
Лично я считаю это мифом. С приходом технологии NVMe Mac растерял свою «магию». Так что сегодня, даже среди ноутбуков, Mac не является лидером по соотношению цена-качество-производительность. Особенно в контексте разработки под Android Studio.
В остальном для комфортной разработки имеет смысл MacBook Pro 2015 или 2016 года не с U-процессором. Об остальных характеристиках и обслуживании читайте ниже.
Процессор
По производительности процессора- очевидно и понятно. Чем она выше- тем лучше. Единственное, что нужно отметить- при наличии достаточно быстрого накопителя, слабый процессор станет «бутылочным горлышком» в Вашей системе. Особенно критично в случае NVMe-накопителя. Часто, при работе с ним, упор идет именно в мощности CPU.
С потоками всё немного сложнее. Читал о том, что пользователи снижают приоритет студии и ее подпроцессов, чтобы ОС «не зависала» во время сборки. Причина здесь одна- 1-2 аппаратных потока. Этого мало не только для IDE, но и для современной ОС. Единственное «но»- на моей практике были ситуации, когда двухъядерные U-процессоры с Hyper Threading (то есть 2 ядра на 4 потока) нормально работали с относительно мелкими проектами, но на крупных начинались вышеперечисленные проблемы.
Само собой, наличие аппаратной виртуализации обязательно.
Потому рекомендую смотреть в сторону Core i5 HQ Skylake c 4+ потоками и мощнее.
Оперативная память
По поводу стандартов- DDR3 и выше. Тут, думаю, понятно.
Если есть возможность работы в 2х или 4х-канальном режиме и у Вас они не активны- настоятельно рекомендую задействовать, так как можно получить существенную прибавку к отзывчивости IDE. Активируется эта возможность либо в настройках BIOS\UEFI, либо установкой дополнительных модулей оперативной памяти (если у Вас до сих пор один модуль).
Какой нужен объем? Для мелких (действительно мелких) проектов хватает 4ГБ. На проектах крупнее студия способна быстро занять 4ГБ памяти и больше. Добавим сюда эмулятор на HAXM (скажем 2 ГБ) и учтем, что современная ОС (за исключением некоторых дистрибутивов Linux) занимает в памяти около 2ГБ- и вот получается, что 8ГБ уже «впритык».
Это без учета, например, Slack (который занимает в среднем около 500 мб в памяти) и Chrome (там счет идет на гигабайты).
В целом, при 8ГБ оперативной памяти работать быстро и комфортно можно- спасает быстрый накопитель и swap\файл подкачки. Но стоит задуматься об апгрейде.
Потому компания закупает новые, либо предоставляет апгрейд текущих рабочих машин на 12ГБ RAM и более.
SSD
Дисковая подсистема является самым частым «бутылочным горлышком», потому на нее надо обращать внимание в первую очередь.
Работа с Android Studio на HDD в 2018 году сравнима с мучениями- чем больше проект, тем больше фризов Вам обеспечено. Потому, очевидно, использовать только SSD.
Как было упомянуто выше, здесь два критичных параметра:
- Скорость произвольного чтения и произвольной записи дисковой подсистемы
- Скорость мелкоблочного чтения и мелкоблочной записи дисковой подсистемы
Чем они выше- тем отзывчивее будет студия, и тем быстрее она будет загружаться и производить сборку.
Обращаю Ваше внимание, что о скоростях линейного чтения\записи речи не идет- для студии это не критично. Потому, при выборе накопителя, нужно смотреть не на его скорость чтения\записи на сайте производителя или магазина, а на количество IOPS (чем больше- тем лучше).
Само собой, здесь не идет речи о Mac, так как там накопитель либо имеет собственный стандарт либо просто распаян на плате. Замена возможна, разве что, на больший объем. Скоростные характеристики здесь поднять вряд ли получится.
NVMe
Если Вашей материнской платой поддерживается технология NVMe — то лучше использовать накопитель с ее поддержкой. Она позволяет получить скорости, сравнимые с SSD на Mac и выше.
При наличии скоростного накопителя, упор идет на шину PCIe и мощности Вашего CPU. Потому, если, например, Ваша материнская плата поддерживает вывод на накопитель PCIe 2.0×4\3.0×2 или у Вас не очень мощный CPU- не стоит покупать очень дорогой накопитель. Смотрите на возможности Вашей системы и толщину Вашего кошелька.
SATA3
Да, SATA3 живее всех живых. И на нем можно быстро работать на студии.
В этом сегменте скоростные накопители более доступны, потому имеет смысл сразу смотреть на топовые решения объемом 120 GB и выше.
Intel Optane
Использовать Android Studio на машине с данным накопителем (если его так можно назвать) мне не приходилось. Если у кого-то есть опыт- пишите в комментарии.
GPU
Тут много говорить не нужно.
Если пишете обычные пользовательские приложения- для самой студии и эмулятора чего-то вроде Intel HD 500 Series хватит за глаза.
Если Вы разрабатываете игры или это- Ваша личная машина, то имеет смысл дискретная графика. Какая- смотрите по Вашим потребностям.
Система охлаждения и троттлинг
Здесь речь не о апгрейде, а о обслуживании.
Большинству из нас известно такое явление, как троттлинг. Его реализацию применяют для защиты от перегрева.
Само собой, троттлинг ведет к понижению производительности. Не всегда заметному. В одних случаях работа Turbo Boost снижается до минимальных значений, в других начинается падение максимальных частот процессора. Причина- недостаточно эффективная работа системы охлаждения. Так же важно понимать, что большинство стресс-тестов (вроде AIDA) диагностируют штатную работу Turbo Boost как троттлинг.
В случае десктопных PC всё давно есть в сети. В случае мобильных систем, основанных на тепловых трубках, много противоречивой информации. Сюда относятся большинство ноутбуков, неттопов, MacBook и iMac. Далее речь пойдет именно о них.
На современных мощных мобильных CPU 80-90 градусов на кристалле под нагрузкой- это норма. При этом SOC с этими CPU имеют конструкцию с открытым кристаллом, от того площадь теплопередачи небольшая. Вся эта куча тепла отводится вот этим посмешищем подобной конструкцией с небольшим закрытым жидкостным контуром.
Современная мобильная система охлаждения
Нужно понимать, что такие системы охлаждения испытывают бОльшие нагрузки и нуждаются в более частом обслуживании. Особенно в случае ноутбуков и MacBook- при переноске от вибраций слой засохшей термопасты разрушается быстрее. А несвоевременное обслуживание чревато не только потерей производительности, но и протечкой термотрубок и «отвалами» кристаллов.
Обслуживание заключается в замене термопасты и чистке радиатора раз в полгода-год после окончания гарантийного срока. Во всяком случае, у нас так и поступают.
Из-за маленькой площади кристалла имеет смысл использовать диэлектрическую термопасту с высокой теплопроводностью (такая стоит в районе 800-1000 р за грамм). Ни в коем случае не используйте жидкий металл! Иначе отделить кристалл от пластины Вы, скорее всего, уже не сможете!
Если у Вас не хватает навыков для данной процедуры- лучше обратитесь в сервис.
Аппаратные настройки
В этой главе речь пойдет о функциях и настройках оборудования. Многое, скорее всего, Вам уже знакомо.
Intel Hyper Threading
Это технология Intel, которая разделяет аппаратный поток ядра на два «виртуальных». Благодаря ей система видит 4-ядерный процессор как 8-ядерный. Такой подход позволяет эффективно утилизировать процессорные мощности. Аналогичная технология есть и у AMD.
Часто сталкиваюсь с тем, что у многих разработчиков эта функция отключена и они вообще о ней не знают. Однако, ее включение может повысить отзывчивость студии и производительность сборки. В отдельных случаях на 10-15%.
Включается она в настройках BIOS\UEFI Вашей материнской платы или ноутбука. Называется пункт аналогичным или похожим образом. Если Вы еще не знали о этой технологии- то имеет смысл проверить ее наличие и включить если этого не было сделано.
Intel Turbo Boost
Еще одна широко известная технология. По факту является автоматическим кратковременным разгоном CPU и дает существенный прирост при сборке. И, в то же время, имеет свойство раскалять мобильные процессоры до температур, не далеких от Tjunction.
Потому, если эта технология ранее была отключена, перед включением желательно проверить состояние системы охлаждения и, возможно, выполнить ее обслуживание, о чем было написано в предыдущей главе.
Включаться она может как BIOS\UEFI, так и в настройках ОС.
Intel Rapid Storage
Поддержка этой технологии мат.платой крайне рекомендуется. Более подробно можно почитать здесь.
Могу порекомендовать только своевременно обновлять драйверы для этой технологии до самой свежей версии с официального сайта Intel. Даже если производитель Вашего ноутбука поставляет Вам драйверы более старых версий.
В моем конкретном случае, обновление с версии драйвера от производителя до актуальной, повысило скорость линейной записи примерно на 30%, а произвольной- на 15%.
Как устанавливать и обновлять драйверы IRST на Linux- я не знаю (и вообще, возможно ли это?). Если кто знает- пишите в комментарии, я с удовольствием дополню статью.
SSD Secure Erase
Производительность недорогих моделей SSD может со временем падать. Это не всегда происходит из-за «деградации» накопителя. Возможно, в Вашей модели TRIM реализован не очень эффективно.
Secure Erase заставит контроллер пометить все ячейки памяти пустыми, что, теоретически, должно вернуть производительность SSD к заводскому состоянию. И, также, сотрет все Ваши данные! Будьте аккуратны, делайте бекапы!
Осуществить процедуру можно с помощью фирменной утилиты от производителя. В случае, если Ваш диск- системный, то Вам понадобится флешка, которую утилита сделает загрузочной. Далее следуйте инструкциям.
На одном из этапов, возможно, накопитель придется переподключить прямо во время работы. Потому, в случае M.2 очень желательно наличие переходника.
Использовать сторонние утилиты для этой операции крайне не рекомендуется.
Впрочем, если Ваш SSD существенно потерял в скорости за время менее года- лучше поменять накопитель на другую модель.
Аппаратная виртуализация
Эта технология необходима для быстрой работы x86-эмулятора. Если у Вас она отключена- включите ее в настройках BIOS\UEFI. У разных вендоров могут быть разные названия настроек.
Да, мы все знаем про Genymotion и BlueStacks, которые прекрасно обходятся без аппаратной виртуализации. Однако, в образах этих эмуляторов некоторые или многие реализации Android API сильно изменены с целью увеличения скорости работы. Это может провоцировать поведение, которое Вы никогда не встретите на реальном устройстве. Или при отладке Вы можете упустить пару багов. Потому наличие рабочего и шустрого AVD крайне желательно.
ОС и Сторонний софт
В этой главе речь пойдет о возможной настройке ОС и установке стороннего софта с целью увеличения производительности.
Индексация
Здесь речь пойдет о поиске Windows и Spotlight на Mac OS. Эти механизмы могут отнимать до 15% мощностей CPU при сборке поскольку пытаются индексировать всё, что генерируется в /build.
Само собой, из под индексации необходимо исключить все директории, с которыми работает студия:
- Директория SDK
- Директория студии
- Директория проектов (крайне рекомендуется)
- ~/.gradle
- ~/.android
- ~/Android StudioX.X
- ~/lldb
- Директория кеша Kotlin
Антивирус
Знаю, не у всех в среде разработки принято использовать антивирус. Но многие его используют. В том числе, иногда, на Linux и Mac OS. И его использование совершенно оправдано.
Даже если у Вас Windows 10 и нет антивируса- его функции выполняет Windows Defender.
При сборке антивирус может отнимать очень существенную долю CPU. Потому все директории, перечисленные в графе «Индексация», следует добавить в исключения антивируса. Также, в исключения имеет смысл добавить имена процессов самой студии и JetBrains JVM.
В зависимости от реализации антивируса, потребление CPU им во время сборки снизится существенно, либо он вообще перестанет потреблять мощности CPU. А время самой сборки заметно уменьшится.
Шифрование диска или домашней директории
Эти функции присутствуют на всех популярных ОС или реализуются сторонним софтом. Само собой, работа студии в шифрованном файловом пространстве может требовать бОльших мощностей CPU. Насколько- зависит от реализации шифрования. Потому рекомендуется такие функции отключать либо совсем, либо, если это возможно, для перечисленных в графе «Индексация» директорий.
А работает ли TRIM?
TRIM может быть реализован как аппаратно, так и программно. В последнем случае обязанность вызова TRIM ложится на ОС. И, по разными причинам, периодический вызов может отключаться, что приводит к падению скорости накопителя.
Проверить работоспособность и возобновить вызовы TRIM можно с помощью специализированных утилит. Рекомендуется использовать утилиты от производителя накопителя.
RAMDisk
Что такое RAMDisk большинству давно известно. Но насколько он эффективен в работе со студией?
По своему опыту скажу- не очень. Разве что Вы перенесете в RAMDisk сам проект, SDK, студию и так далее. Если у вас хватает RAM…
С простым переносом проекта весом в более чем 500 мб (цифра указана с build-кэшем), у меня не получалось добиться прироста более 15%. По всей видимости, тормозятся вызовы к SDK и системным API. В итоге такой прирост обходится достаточно дорого.
Следующий способ существенно эффективнее и обходится куда дешевле.
Кэширование запросов к накопителю
Нечто похожее реализовано в Mac OS. Однако, в сравнении с перечисленными ниже технологиями- не настолько эффективно.
К сожалению, мне известны только две реализации, и обе жестко завязаны на продукцию производителей. Речь о Samsung R.A.P.I.D. и PlexTurbo.
Обе технологии работают по схожим принципам (описываю так, как понял сам):
- Если был запрос на чтение небольших объемов, то они откладываются в RAM и при повторном чтении берутся уже оттуда. Стандартный RAM cache.
- Если был запрос на запись небольших данных- они откладываются в RAM-кэш. Далее запросы на запись сравниваются с кэшем. Если Вы повторно пишете одни и те же данные по одним и тем же путям- зачем их повторно записывать аппаратно? И SSD так дольше проживет.
Единственная разница- R.A.P.I.D. использует свободный остаток оперативной памяти в качестве кэша. Меньше остаток- меньше размер кэша, меньше ускорения. PlexTurbo позволяет ограничить максимальный объем кэша и подгружать его с жесткого диска при старте системы.
В случае использовании на SATA 3 можно получить прирост до 50%. При использовании NVMe-накопителя- меньше, но, часто, тоже существенный.
В данный момент у меня в работе Samsung 860 EVO SATA 3. Под спойлером бенчмарки с i7 6700HQ и отключенным Turbo Boost.
860 EVO до включения R.A.P.I.D. и два прогона после
R.A.P.I.D. выключен
Первый прогон
Второй прогон
Наглядно видно, как система начинает кэшировать данные на первом прогоне. Итоговый результат существенно выше показателей SATA 3. Однако, эффективность работы данной технологии больше зависит от мощностей CPU. Что наглядно видно при включении Turbo Boost.
860 EVO + R.A.P.I.D. + Turbo Boost
Синтетика- это, конечно, хорошо. Но это всё работает при чтении\записи повторяющихся мелких файлов. И это- самые частые операции при работе Android Studio.
У меня сейчас в работе проект суммарным с кэшем весом более 700 MB, состоящий из 10 модулей. Один из модулей- собственный кодогенератор на базе kapt с весьма тяжелой логикой. Два NDK-модуля, один из которых ссылается на Boost по внешнему пути. Остальное- тонны Kotlin-кода.
Если сравнить время полного ребилда данного проекта, то результаты следующие:
- С выключенным R.A.P.I.D. время составило 1m 47s 633ms. Терпимо.
- С включенным R.A.P.I.D. первый ребилд прошел за 1m 41s 633ms. Укладывается в погрешность.
- С включенным R.A.P.I.D. второй ребилд прошел за 1m 7s 132m. Вот и прирост. Чуть больше 37%, что существенно. Дальнейшие ребилды показывают еще меньшее время но уже с разницей не более 3-5 секунд от последнего замера. Что несущественно.
В менее длительных процессах прирост в студии заметен сразу.
Как итог можно рекомендовать эти технологии и накопители как хороший способ повысить производительность. По стабильности нареканий не возникало.
Android Studio
Многие из этих советов взяты отсюда и дополнены моими комментариями. Остальные- результат моих изысканий и опыта.
Обновления
Совет хоть и банальный, но всегда актуальный. Если у Вас не legacy-проект, то, по-возможности, старайтесь держать версии студии и сопутствующих компонентов (таких как Gradle, Android Plugin, Kotlin Plugin) в актуальном состоянии. Google и JetBrains делают много работы в плане оптимизации скорости работы и сборки в новых версиях.
Иногда, конечно, случаются конфузы, когда новые версии перестают вести себя предсказуемо и провоцируют ошибки. Потому у нас есть регламент, как поступать в таких ситуациях.
В некоторых случаях нужно выполнить File->invalidate caches and restart после отката. Если обновляете саму студию- лучше сделать бекап директории студии и директории настроек. Это актуально в том случае, если Ваш проект содержит какие-либо костыли нестандартные подходы, чувствительные к механизмам сборки или самой студии.
Структура проекта
При возможности, старайтесь выносить большие части Вашего проекта, которые общаются с основным кодом посредством API, в отдельные library-модули. Это позволит задействовать функцию инкрементальной сборки. Она позволит не пересобирать неизмененные модули и, тем самым, существенно сократить время билда.
Однако, не возводите всё в абсолют. Выносите компоненты в модули осмысленно, думайте своей головой.
Instant Run
Совет больше для новичков. Эта функция позволяет подменять байткод и ресурсы в уже установленном приложении «на лету». Само собой это существенно уменьшает время отладочной сборки. В новых версиях студии включена по-умолчанию.
Однако, по моему опыту и опыту моих коллег, эта функция работает корректно не всегда. Зависит больше от проекта и вносимых Вами изменений. Потому, если после сборки Вы не увидели изменений или Ваш код стал работать некорректно- прежде чем искать баг, попробуйте отключить Instant Run.
Включить и отключить функцию можно в меню Build, Execution, Deployment -> Instant Run флагом Enable Instant Run.
Attach to Process
Тоже совет банальный и для новичков. С удивлением обнаружил, что некоторые джуны (а иногда даже мидлы) об этой функции не знают. Она позволяет подключиться к уже запущенному на устройстве процессу для отладки тем самым пропуская этап сборки.
Потому, если на устройстве актуальный билд и перед отладкой никаких изменений вносить в код не требуется- смело жмем Attach debugger to Android process.
Gradle build configs
При возможности, если на Вашем основном рабочем buildConfig или flavour есть компоненты, которые используются только в release-сборках (например, crashlytics, различные annotation-процессоры или собственные gradle-процедуры)- отключите их для debug или для Вашего отладочного конфига. Как это сделать- можно найти здесь, либо на официальных страницах компонентов, либо просто загуглите.
В случае, если у Вас кастомный buildConfig, то для него следует отключить PNG crunching, так как по-умолчанию эта опция выключена только для debug-конфига. Эта опция применяет компрессию к png при сборке. Отключить ее можно следующим образом:
android {
buildTypes {
myConfig {
crunchPngs false
}
}
}
//Для старых версий android plugin
android{
aaptOptions {
cruncherEnabled false
}
}
WebP
Если minimum api level Вашего проекта больше 18, то имеет смысл конвертация изображений в WebP. Этот формат более компактный, быстрее читается и к нему не применяется компрессия во время сборки. Потому конвертация всей растровой графики в проекте рекомендуется всегда. Соответственно, чем больше растра в Вашем проекте- тем меньше время сборки после конвертации.
Параллельная сборка
Если Ваш проект содержит несколько независимых модулей (например, несколько app-модулей), то для него будет актуальной опция Compile independent modules in parallel в Settings->Build, Execution, Deployment -> Compiler. Это позволит более эффективно утилизировать потоки CPU при сборке. Минус- больший heap size и, как следствие, больший расход оперативной памяти.
Так же эту опцию можно включить посредством строчки в gradle.properties
org.gradle.parallel=true
Gradle daemon
Эта опция в свежих версиях студии включена по-умолчанию и этот совет для тех, кто до сих пор ее не задействовал.
Данная опция позволяет держать отдельный инстанс jvm и gradle в оперативной памяти в течении трех часов с момента последней сборки. Таким образом не тратится время на их инициализацию и наращивание кучи. Минус- больший расход оперативной памяти. Включается строчкой в gradle.properties
org.gradle.daemon=true
Offline-сборка
При сборке Gradle периодически проверяет web-ресурсы зависимостей, чтобы их разрешить. Можно отключить данное поведение. Этот совет подходит для тех, кто имеет медленное интернет-соединение или соединение с большими задержками.
В меню Build, Execution, Deployment -> Gradle отмечаем чекбокс Offline work.
Увеличение heap size Android Studio или IDEA
Такая опция пригодится для больших проектов. По умолчанию в студии указан xmx1280m (тем не менее, вместе с подпроцессами студия поглощает RAM сильно больше). Маленький максимальный размер кучи может провоцировать более частые вызовы GC и, тем самым, замедлять работу.
Увеличить стартовый heap size можно как самой студии, так и Gradle.
Для Gradle пишем в gradle.properties
org.gradle.jvmargs=-Xms1024m -Xmx4096m
что соответствует 1ГБ стартового размера кучи и максимума в 4 ГБ для наращивания. Подберите размер в соответствии с ресурсами, которые хотите выделить из доступных Вам.
Для самой Android Studio или IDEA идем в меню Help -> Edit Custom VM Options и пишем те же JVM-параметры с нужными Вам объемами.
Этими же способами можно корректировать поведение JVM в случае, если у Вас возникают с ней какие-либо сложности. Полный список аргументов можно получить с помощью команды java -X
.
Плагины
Нет каких либо плагинов, которые могут ускорить IDE. А вот избавиться от пары-тройки можно. Это может повысить отзывчивость или уменьшить время запуска. Особенно если Вы установили несколько сторонних.
Конкретных рекомендаций здесь давать не буду- потребности у всех разные. Просто идете в Settings -> Plugins и отключаете то, что вам не нужно, внимательно прочитав описание и очень хорошо подумав. Не факт, что Вам вообще нужно что-то отключать.
Inspections
Отключение некоторого количества пунктов в меню Settings -> Editor -> Inspections может повысить отзывчивость IDE. Иногда существенно.
Здесь тоже не будет конкретных рекомендаций, отключайте с умом. Помните- Вы не робот и допускаете ошибки, а инспекции помогают Вам их избежать.
Power Save mode
Активация этого режима находится в меню File. В нем отключаются все фоновые процессы (индексация, статический анализ кода, Spell Checking и т.д.). И студия начинает вести себя заметно шустрее. Но и по функционалу становится не сильно лучше, например, VS Code.
В общем режим для ситуаций, когда всё совсем плохо.
Settings Repository
Этот совет не о быстродействии, а о комфорте. Ваши настройки удобнее будет хранить в отдельном репозитории и использовать эту функцию. При переезде на другую машину это удобно.
Если Вы работаете в команде с утвержденным codestyle- то новому разработчику будет удобно сделать свою ветку в Git, поменять в ней copyright и настройки для своей машины, и использовать те же настройки codestyle вместе со всеми остальными.
Можно, конечно, коммитить .idea в репозиторий, но это- плохой подход.
AVD
С самого начала своего существования AVD был неповоротлив и прожорлив. В последние 3 года он был сильно усовершенствован, что позволило запускаться и работать на современных машинах относительно быстро (хотя бы в x86-варианте).
И тем не менее, даже сегодня x86-версия Pie на AVD умудряется тормозить. Даже на мощных железках. Ниже представлены варианты, как исправить ситуацию.
Само собой, включение аппаратной виртуализации и установка HAXM с выделением минимум 2 ГБ RAM обязательны.
В случае, если AVD сильно загружает CPU и при этом тормозит- боюсь, уже ничего не сделать. Однако, если нагрузка на CPU остается не высокой- значит дело в графической подсистеме.
Чаще всего это происходит из-за некорректного определения наиболее подходящего для Вашей машины рендера. Вы можете вручную выбрать наиболее подходящий в меню Settings -> Advanced эмулятора. Конкретные настройки подсказать не смогу, так как всё зависит от конфигурации железа и ОС. Просто смените пункт, закройте эмулятор и вызовите Cold Boot. Остановитесь на наиболее подходящем для Вас варианте.
Меню выбора рендера в AVD
При наличии дискретного GPU можно попробовать запустить эмулятор на нем, так как по-умолчанию эмулятор запускается на том же GPU, который обрабатывает рабочий стол. Делается это так же, как и с любой игрой. После не забудьте вызвать Cold Boot.
Итог
Так или иначе, не все перечисленные пункты обязательны к применению. Старайтесь решать проблемы по мере их обнаружения.
Время- самый ценный ресурс. Надеюсь, этот материал поможет Вам более продуктивно его расходовать.
Урок 2. Kotlin. Создание проекта в Android Studio и запуск приложения на андроид-устройстве
Создание проекта на Kotlin в Android Studio
Продолжаем курс для начинающих по созданию приложений в среде разработки Android Studio на языке Kotlin.
В этом уроке мы создадим новый проект для первого приложения и запустим это приложение на андроид-устройстве.
Что вы узнаете
- Как создать проект в среде разработки Android Studio
- Как создать виртуальное андроид-устройство AVD
- Как запустить приложение на эмуляторе андроид
- Как запустить приложение на реальном устройстве
Создание нового проекта
- Откройте Android Studio
- В диалоге Welcome to Android Studio выберите Start a new Android Studio project.
- В диалоге New Project, дайте имя вашему приложению, например My First App.
- Имя домена можете принять по умолчанию.
- Для поддежки языка Котлин отметьте чекбокс Include Kotlin support.
- Местоположение проекта можете оставить по умолчанию. Обычно проекты сохраняются в папке с именем AndroidStudioProjects в документах пользователя. Здесь могут возникнуть проблемы, если имя пользователя указано русскими буквами, потому что среда разработки не воспринимает кириллицу в пути к файлам. В таком случае вы увидите предупреждение. Сохраните проект в другом месте.
- Нажмите Next.
- В диалоге Target Android Devices выберите тип платформы Phone and Tablet и минимально поддерживаемую версию Android API 17 или выше. Поддержка более старых версий нам пока не нужна, поскольку отражается на доступном функционале инструментов разработки. Нажмите Next.
- В диалоге добавления активити нужно выбрать шаблон предустановленых окон приложения и компонентов интерфейса. Выберите Empty Activity. Нажмите Next.
- В диалоге Cоnfigure Activity оставьте все по умолчанию. Нажмите Finish.
После этих шагов, Android Studio:
- Создает папку для проекта Android Studio на диске, в местоположении, указанном при создании проекта.
- Далее происходит построение проекта (это может занять несколько минут). Android Studio использует Gradle в качестве системы построения. Иногда система сборки выдаёт сообщения и предупреждения, например сейчас нужно доустановить отсутствующий компонент SDK.
- Открывает окно редактора кода, отображающее текущий проект.
Окно Android Studio должно выглядеть примерно так:
Скриншот 1. Интерфейс Android Studio
Рассмотрим интерфейс Android Studio
- Панель Toolbar предоставляет быстрый доступ к самым востребованным командам, как запуск приложения или открытие SDK менеджера.
- Панель Navigation bar помогает перемещаться по проекту и открывать файлы для редактирования. Он обеспечивает более компактный вид структуры, видимой в окне Project.
- Окно редактора позволяет создавать и редактировать код. В зависимости от типа открытого файла вид редактора может измениться. Например, при просмотре файла макета редактор отображает редактор макета.
- Панель Tool buttons расположена по периметру окна IDE и содержит кнопки, позволяющие разворачивать или сворачивать отдельные окна инструментов.
- Окна инструментов предоставляют доступ к определенным задачам, таким как управление проектами, поиск, управление версиями и многое другое. Их можно развернуть и свернуть. Далее мы рассмотрим их более подробно.
- Status bar отображает состояния проекта и самой IDE, а также различные предупреждения или сообщения.
Главное окно можно упорядочить, чтобы предоставить больше места на экране, скрывая или перемещая панели инструментов и окна инструментов. Для доступа к большинству функций IDE также можно использовать сочетания клавиш.
В любой момент можно выполнить поиск по исходному коду, базам данных, командам, элементам пользовательского интерфейса и т. д., дважды нажав клавишу Shift или щелкнув увеличительное стекло в верхнем правом углу окна Android Studio. Это может быть очень полезно, если, например, вы пытаетесь найти конкретную команду IDE, которую вы забыли, как запустить.
Окно структуры проекта
Скриншот 2. Окно структуры проекта Android Studio
Изучение структуры и макета проекта
Можно посмотреть иерархию файлов приложения несколькими способами.
- Окно структуры проекта (1) с отображением дерева файлов. (См. 1 на Скриншоте 2)
- Кнопка Project (2) скрывает и отображает окно структуры проекта. Включите пункт меню View > Tool Buttons чтобы увидеть эту кнопку.
- Текущий выбор вида проекта Project > Android. Нажмите выпадающий список Android (3) для просмотра других доступных видов проекта.
В виде отображения Project > Project вы увидите полную структуру папок проекта, как она выглядит на диске. Здесь много файлов и папок и новичку здесь можно запутаться. Главное, на что следует обратить внимание: проект имеет модульную структуру и основной модуль нашего приложения – app.
Скриншот 3. Окно структуры проекта Android Studio в виде Project> Project
Если раскрыть папку app, мы увидим такие папки:
- build — здесь файлы, создаваемые системой в процессе компиляции, лучше ничего там не менять
- libs — папка для сторонних библиотек, подключаемых в проект
- src – папка для исходного кода и ресурсов
- внутри src находится папка main — это основная рабочая папка, с которой мы будем иметь дело
- внутри main находится папки java и res – это папки для кода и ресурсов, рассмотрим их позже
Также в папке модуля app имеется файл системы сборки build.gradle, мы рассмотрим его позже.
Если переключиться на вид проекта Project > Android, вы увидите только папку модуля app с упрощенной структурой проекта. Это представление удобнее, поскольку здесь отфильтрованы только те файлы, с которыми мы непосредственно будем работать. Но следует помнить, что в таком виде структура папок проекта не соответствует той, что хранится на диске. Например, вы не найдете на диске в папке проекта папку manifests. А в дереве папок в таком режиме не отображаются папки src и main.
Скриншот 4. Окно структуры проекта Android Studio в виде Project>Android
В виде Project > Android вы увидите в папке app такие папки: manifests, java, и res.
- Раскройте папку manifests.Эта папка содержит файл AndroidManifest.xml. Этот файл описывает все компоненты приложения Android и считывается системой среды выполнения Android при запуске приложения.
- Раскройте папку java. Все файлы кода на языке Котлин и Java организованы здесь. Папка java содержит три подпапки:com.example.android.myfirstapp (или указанное имя домена): Эта папка содержит файлы исходного кода Котлин и Java для вашего приложения. С этой папкой мы будем работать большую часть времени, поскольку это главный пакет проекта.
com.example.android.myfirstapp (androidTest): эта папка для размещения инструментальных тестов.
com.example.android.myfirstapp (test): эта папка для размещения модульных тестов.
Подробнее о тестах вы можете узнать из Курса по архитектуре андроид-приложений.
- Раскройте папку res. Эта папка содержит все ресурсы для вашего приложения, включая изображения, файлы макетов экранов, строковые ресурсы, значки и иконки, цвета и стили оформления. Она включает такие вложенные папки:drawable: Все изображения для вашего приложения будут сохранены в этой папке.layout: Эта папка содержит файлы макета для активити – экранов приложения. В настоящее время ваше приложение имеет одно активити с файлом макета activity_main.xml.mipmap: Эта папка содержит значки запуска приложения – это те значки, которые отображаются на андроид-устройстве после установки приложения.values: Содержит ресурсы, такие как строки и цвета, используемые в приложении.
Также в окне структуры проекта есть папка Gradle Scripts. Раскройте ее. В начале списка есть два файла с одинаковыми именами build.gradle. Это файлы сборки для системы Gradle, которая используется для компиляции, построения и упаковки приложений и библиотек. В скобках после имени файлов указана принадлежность файла модулю App или всему проекту. Файл сборки уровня проекта содержит настройки для всего проекта, а файл сборки уровня модуля содержит настройки для модуля. Чаще всего мы будем работать именно с файлом сборки уровня модуля. Он содержит такие основные секции, как:
- android{…}, где указаны версии инструментов разработки, минимальная поддерживаемая версия API, идентификатор и версия приложения для Google Play, и другие параметры
- dependencies{…}, которая содержит список библиотек, подключаемых к проекту. Могут быть подключены как локальные (помещенные в папку libs), так и хранящиеся удаленно библиотеки.
Запуск android-приложения
Наиболее очевидный способ проверить работу приложения в процессе разработки – установить и запустить его на андроид-устройстве.
Для запуска приложения из среды разработки Android Studio мы можем использовать 2 способа:
- подключенный к ПК смартфон или планшет под управлением системы Android
- эмулятор Android
Оба этих способа имеют свои преимущества и недостатки, и какой использовать, выбирать вам. Для начинающего разработчика подойдет любой способ.
Что такое андроид-смартфон, вы наверняка уже знаете, раз заинтересовались темой разработки приложений. А что такое эмулятор Android? Это запуск системы Android на ПК в отдельной виртуальной машине.
Существует много эмуляторов Android, например BlueStacks, Droid4X, Nox APP Player, Genymotion, и другие. Большинство из них разработаны для игр и не очень подходят для тестирования приложений, кроме Genymotion.
В Android Studio есть собственный эмулятор, который может запускать образы виртуальных устройств с различными характеристиками, таких как смартфоны Nexus и Pixel, а также планшеты наиболее распространенных типов.
Создание виртуального android-устройства (эмулятора)
В Android Studio есть утилита Android Virtual Device (AVD) manager для создания виртуального устройства (также известного как эмулятор), моделирующего конфигурацию определенного типа андроид-устройства.
Первым шагом является создание конфигурации, описывающей виртуальное устройство.
- В главном меню Android Studio, выберите Tools > Android > AVD Manager, или нажмите иконку AVD Manager в тулбаре
- Нажмите кнопку +Create Virtual Device. (Если виртуальное устройство создано ранее, в окне отображаются все существующие устройства и кнопка +Create Virtual Device находится внизу.) В диалоговом окне Select Hardware отображается список предварительно настроенных типов аппаратных устройств.
- Выберите устройство, например Nexus 5, и нажмите Next.
- В окне System Image, на вкладке Recommended, выберите нужную версию.
- Если ссылка Download отображается рядом с версией, значит она еще не установлена и требуется загрузить ее. При необходимости щелкните ссылку, чтобы начать загрузку, и нажмите кнопку Next по окончании загрузки.
- В следующем диалоговом окне примите значения по умолчанию и нажмите кнопку Finish.
- Если окно Your Virtual Devices AVD Manager еще открыто, закройте его.
Возможные проблемы
Если у вас на компьютере установлена операционная система Windows, а процессор AMD, то скорее всего вы увидите такое предупреждение в окне выбора оборудования для виртуального устройства. Дело в том, что образы виртуальных устройств с типом x86 не работают на связке Windows + AMD. Причем на связке Linux + AMD таких проблем нет. Процессоры Intel поддерживают образы x86 на любой операционной системе. Для Windows + AMD вы можете использовать образы типа arm, но они гораздо более медленные. Выходом будет использование реального устройства – андроид-смартфона или планшета, подключенного к компьютеру.
Другой распространенной проблемой является отключенная виртуализация процессора. Включить виртуализацию можно в биосе, в интернете можно найти много инструкций, как это делается.
Также нужно в SDK Manager на вкладке SDK Tools установить Intel x86 Emulator Accelerator для лучшей производительности и скорости работы. Только для процессоров Intel.
Если в окне выбора системного образа нет активных образов для установки, загрузите образ необходимой версии Android в SDK менеджере. Откройте окно SDK Manager и на вкладке SDK Platforms справа внизу установите флаг Show Package Details для отображения всех компонентов платформы (см. Скриншот 5). Отметьте для загрузки нужный файл System Image. После загрузки выбранный образ будет доступен в окне AVD Manager.
Скриншот 5. Установите флаг Show Package Details для отображения всех компонентов платформы
Запуск приложения на эмуляторе
- В Android Studio, выберите в главном меню команду Run > Run app или нажмите иконку Run в тулбаре.
- В окне Select Deployment Target, под Available Virtual Devices, выберите только что настроенное виртуальное устройство и щелкните OK.
Эмулятор запускается и загружается как физическое устройство. В зависимости от скорости компьютера это может занять некоторое время. Можно посмотреть в маленькую горизонтальную строку состояния в самом низу окна Android Studio, чтобы увидеть ход выполнения.
После того как приложение будет построено и эмулятор будет готов, среда Android Studio установит приложение в эмулятор и запустит его. Вы увидите ваше приложение, как показано на следующем снимке экрана.
Замечание: рекомендуется запускать эмулятор в начале сеанса. Не закрывайте эмулятор до тех пор, пока не будет выполнена проверка приложения, чтобы не дожидаться повторной загрузки эмулятора. Кроме того, не следует одновременно запускать несколько эмуляторов, чтобы уменьшить использование памяти.
Запуск приложения на реальном андроид-устройстве
Что вам нужно:
- Устройство на Android, например, смартфон или планшет.
- Кабель USB для подключения устройства Android к компьютеру.
Запуск приложения на устройстве
- Подключите ваш смартфон к компьютеру с помощью кабеля USB. Если вы разрабатываете на Windows, вам может потребоваться установить соответствующий драйвер USB для вашего устройства. Для получения справки по установке драйверов см. Драйвера OEM USB.
- Включите Отладка через USB на вашем устройстве.
- На большинстве устройств под управлением Android 3.2 или старше, вы можете найти опцию в меню Настройки > Приложения > Разработка.
- На Android 4.0 и новее, это находится в Настройки > Для разработчиков.
Примечание: На Android 4.2 и новее, пункт меню Для разработчиков по умолчанию скрыт. Чтобы сделать его доступным, перейдите к Настройки > О телефоне и нажмите Номер сборки семь раз. Вернитесь к предыдущему экрану, чтобы найти пункт меню Для разработчиков.
Чтобы запустить приложение из Android Studio:
Откройте один из файлов вашего проекта и нажмите Run app на панели инструментов. Или нажмите комбинацию клавиш Shift+F10.
Откроется окно выбора подключенного реального устройства или эмулятора. Выберите ваше устройство и нажмите OK.
Android Studio устанавливает приложение на выбранное устройство и запускает его.
Это простое приложение отображает строку «Hello World» на экране виртуального или физического устройства Android.
Note: Если на устройстве установлена платформа Android, которая не установлена в среде Android Studio, может быть выведено сообщение с запросом о необходимости установки необходимой платформы. Нажмите Install and Continue, затем кнопку Finish по окончании установки.
Неполадки
В случае неполадок при запуске приложения в нижней части окна Android Studio открывается окно Logcat, где можно увидеть текст ошибки и возможное решение проблемы. Если вам непонятно, о чем там написано, попробуйте загуглить часть текста ошибки. Очень вероятно, что вы найдете в результатах поиска решение вашей проблемы на форумах для программистов.
Если Приложение не запускается, закройте среду Android Studio и перезапустите ее.
Если среда разработки Android Studio не распознает устройство, попробуйте выполнить следующие действия.
- Отключите устройство от компьютера и снова подключите его.
- Перезапустите среду Android Studio.
Если компьютер по-прежнему не находит устройство или объявляет его «неавторизованным»:
- Отключите устройство.
- На устройстве, откройте в меню «Параметры разработчика»
- Проверьте включение отладки USB.
- Подключите устройство к компьютеру.
- При появлении соответствующего запроса на устройстве предоставьте необходимые разрешения.
Возможно, потребуется установить соответствующий драйвер USB для устройства. См. Using Hardware Devices documentation.
Дополнительно см. latest Android Studio documentation.
Все ссылки на дополнительные материалы по теме есть в текстовой версии урока на сайте fandroid.info. Вопросы задавайте в комментариях к уроку на сайте.
Надеемся, у вас все получилось и вы запустили приложение на устройстве. А на следующем уроке мы более подробно разберемся в приложении и попробуем изменить его. Всем добра!
Урок 3. Ресурсы и макеты экрана приложения, ConstraintLayout в Android Studio
Общая информация об отладке в Android Studio
Статья проплачена кошками — всемирно известными производителями котят.
Если статья вам понравилась, то можете поддержать проект.
Студия позволяет отлаживать приложения на эмуляторе и на реальных устройствах. Вы можете просматривать системный журнал логов, устанавливать точки останова, проверять значения переменных и вычислять выражения во время работы, делать скриншоты и видеозаписи.
Когда вы разрабатываете приложение, то студия собирает отладочную версию программы, соединяется с устройством/эмулятором, устанавливает и запускает её.
Обычно для запуска приложения вы используете значок с зелёным треугольником Run (Shift+F10) на панели инструментов. Для отладки следует нажимать соседнюю кнопку Debug (Shift+F9) с изображением жучка .
Остальные действия будут идентичными — вам надо выбрать устройство, на котором будет происходить отладка.
Android Studio откроет окно Debug. Можно открыть его вручную через кнопку 5: Debug в нижней части среды разработки. Окно показывает потоки и переменные в вкладке Debugger, статус устройства в вкладке Console и системные логи в вкладке Logcat.
Если приложение уже запущено, то необязательно его перезапускать для работы в отладочном режиме. Вы можете нажать на кнопку Attach debugger to Android proccess , которая идёт сразу после кнопку с жучком.
В вкладке Logcat вы видите системные сообщения, включая сообщения от вашей программы, если вы использовали их своём коде. Для записи логов используется класс Log. Подробнее о нём в отдельной статье.
Логи можно просматривать также через панель Android DDMS (Dalvik Debug Monitor Server) — запускается через кнопку 5: Android в нижней части студии. В Android DDMS вы можете просматривать логи только нужного процесса, если нажмёте на кнопку Only Show Logcat from Selected Process .
Точки останова (Breakpoints)
Точки останова позволяет приостановить выполнение программы на нужной строчке кода, проверить значение переменных, запустить выражение и продолжать выполнение кода строчка за строчкой. Позволяет выявить ошибки, которые не удаётся вычислить простым просмотром кода.
Откройте свой исходник, определите строку кода, в которой хотите поставить точку останова и щёлкните по ней. Строка окрасится в жёлтый цвет. Щёлкните в левой части редактора кода в серой области. В этом месте появится красный кружок (повторный щелчок уберёт его), а строка примет розовый цвет. Точку останова можно ставить не только для исполняемого оператора, но и на комментарии.
Запустите приложение в отладочном режиме. Когда выполнение программы дойдёт до установленной точки останова, то студия прекратит дальнейшее выполнение приложения, кружок станет ещё более красным и строка будет выделена. И затем вы можете попытаться выявить причину ошибки.
Для просмотра всех точек останова и их настроек щёлкните на кнопке View Breakpoints в левой части панели Debug . Появится отдельное диалоговое окно.
После того, как вы установили точки останова, щёлкните кнопку Rerun для повторного запуска программы. Когда выполнение кода дойдёт до установленной точки останова, студия выполнит паузу и подсветить строку кода. Панель Debug позволит проверить переменную и выполнить код шаг за шагом.
Для проверки переменных раскройте список в панели Variables. Если панель не видна, то щёлкните кнопку Restore Variables
Для вычисления выражения в текущей точки щёлкните кнопку Evaluate Expression
Для перехода на следующую строку кода без выполнения щёлкните кнопку Step Over .
Для перехода на первую строку кода внутри метода щёлкните кнопку Step Into .
Для перехода на следующую строку за пределами текущего метода щёлкните кнопку Step Out .
Чтобы продолжить работу приложения в нормальном режиме, нажмите кнопку Resume Program .
Отслеживание потребления памяти
Студия позволяет также отслеживать потребления памяти объектами и показывает, какие классы и потоки используют объекты.
Запустите студия в отладочном режиме, щёлкните 6: Android, чтобы открыть панель Android DDMS. Выберите вкладку Devices | logcat, выберите ваше устройство из выпадающего списка, выберите вашу программу по имени пакета из списка запущенных программ.
Щёлкните кнопку Start Allocation Tracking . Начинайте пользоваться программой.
Повторно нажмите на предыдущую кнопку Stop Allocation Tracking. Студия покажет объекты, выделенные системой для работы.
Android Device Monitor
Для анализа потребления памяти, сетевого трафика, поведения приложения при входящих звонках можно использовать графический инструмент Android Device Monitor. Щёлкните кнопку Monitor на панели инструментов. Android Device Monitor откроется в новом окне. Опытные программисты увидят знакомое окно, когда работали с Eclipse.
Скриншоты и видео
Вы можете делать скриншоты и видео работающего приложения.
Запустите приложение и откройте панель 6: Android. Щёлкните кнопку Screen Capture в левой части панели.
По такому же принципу можно сделать видеозапись через кнопку
Реклама
Знакомьтесь: Android Studio
Статья проплачена кошками — всемирно известными производителями котят.
Если статья вам понравилась, то можете поддержать проект.
Статья была начата, когда студия существовала в бета-версии. По мере развития среды разработки в статью будут добавляться новые материалы.
15 мая на конференции Google I/O 2013 объявили о новой среде разработки Android Studio. Основой для новой IDE стала платформа IntelliJ от компании JetBrains. Скачать новую среду разработки можно по адресу https://developer.android.com/studio/index.html.
Android Studio Arctic Fox (2020.3.1)
1 декабря 2020 года Гугл объявил о новой нумерации студии. Новая версия Arctic Fox будет заменой для версии 4.3.
Главная новинка в этой версии — Compose. Также обещана связь ADB с устройством через Wi-Fi.
Android Studio 4.2/4.1
4 мая 2021 года вышла версия 4.2, 12 октября 2020 года вышла версия 4.1. Главная новинка — Database Inspector, инструмент для работы с базами данных. Второе новшество — эмулятор можно запускать внутри студии. Стала шире интеграция с материальным дизайном. Остальное носит специфический характер и не слишком интересно для большинства.
Android Studio 4.0
28 мая 2020 года вышла версия 4.0 с множеством изменений. В список шаблонов вернули Google AdMob Ads Activity и Settings Activity.
Появился Motion Editor для управления анимациями в MotionLayout.
Переработали Layout Inspector.
Расширена поддержка Java 8.
Запись в блоге разработчиков
Android Studio 3.6
24 февраля 2020 года вышла новая версия 3.6 (28 февраля вышла версия 3.6.1). Очень много изменений, в том числе и внешних.
Android Developers Blog: Android Studio 3.6
Android Studio 3.5
В ноябре 2019 вышла версия 3.5.2. Все ждут выхода версии 4.0. А пока оптимизация по мелочи.
Android Studio 3.4
17 апреля 2019 года вышла версия 3.4.
Android Developers Blog: Android Studio 3.4
Android Studio 3.3.1 и 3.3.2
7 февраля вышла версия 3.3.1. 5 марта 2019 вышел финальный релиз студии версии 3.3.2. Исправлены баги.
Android Studio 3.3
14 января 2019 вышел финальный релиз студии версии 3.3.
- Navigation Editor
- New Project Wizard update (убрали шаблоны Google AdMod Ads Activity и Fragment+ViewModel)
- Delete Unused IDE Directories
- Multiple Emulator AVD instances
- Android 9 Pie Emulator System Images & Wi-Fi P2P
Android Studio 3.2
На конференции Google I/O 2018 в мае 2018 года представили предварительную версию 3.2 с новыми возможностями. 24 сентября 2018 вышел релиз.
- Поддержка Slice
- Новая тема MaterialComponents
- Миграция с Android Support Libraries на AndroidX
Добавлен новый шаблон Fragment+ViewModel.
Android Studio 3.1
26 марта 2018 вышла финальная версия 3.1. Очередной раз переделали Palette для компонентов.
Android Studio 3.0
17 мая 2017 года на Google IO объявили о выходе новой версии Android Studio 3.0 Canary 1.
После бесконечной череды альфа и бета-версий 25 октября 2017 вышла финальная версия.
Официально объявили о поддержке Kotlin. Добавлены и улучшены многие инструменты в составе студии. Появились новые шаблоны, поддержка Java 8 и многое другое.
Появилась новая вкладка Device File Explorer.
Google обзавёлся собственным Maven-репозиторием и новые версии собственных библиотек теперь доступны только из него.
По адресу https://dl.google.com/dl/android/maven2/index.html можно просмотреть существующие версии библиотек.
Android Studio 2.3
После долгого перерыва 2 марта 2017 года вышла версия 2.3.
Основные изменения.
- Поддержка формата WebP. В контекстном меню появилась команда конвертации в данный формат. А также обратный процесс.
- Добавлен новый макет ConstraintLayout. В шаблонах заменили примеры с RelativeLayout на данный макет
- Снова переработан Layout Editor — добавлен поиск и возможность настройки панели инструментов
- В окне свойств компонентов появилась возможность отметить любимые свойства звёздочкой, чтобы они всегда были на виду
- Окно выбора векторных значков обзавелось поиском, а также названиями под значками
- Появился новый шаблон Bottom Navigation Activity
- Можно копировать текст из эмулятора и вставлять в приложение на компьютере
- Появились новые утилиты командной строки, которые заменили некоторые старые утилиты
Android Studio 2.2
19 сентября 2016 вышла стабильная версия 2.2. Изменения колоссальные, можно было присвоить номер 3.0.
Основные изменения.
- Новый редактор разметки экрана Layout Editor с поддержкой ConstraintLayout
- Новый Layout Inspector, позволяющий оценить иерархию элементов макета
- Новый инструмент Assistant для интеграции Firebase в ваше приложение
- Новый инструмент Analyzer tool для анализа содержимого приложения
- Новый Espresso Test Recorder (beta) для создания UI-тестов при помощи записи ваших действий
- Окно Run window теперь содержит записи логов для текущего запущенного приложения
- Новые возможности в эмуляторе: новые виртуальные сенсоры и настройки сотовой связи
- Поддержка OpenJDK 8
- Поменяли значки и некоторые элементы меню
- Улучшен диалог создания нового класса
- Улучшен редактор Vector Asset Studio с поддержкой Adobe Photoshop Document (PSD)
- Улучшен Image Asset Studio
- Улучшен редактор тем
Android Studio 2.1.2
Шаблон Blank Activity переименовали в Basic Activity.
Android Studio 2.1
26 апреля вышла финальная версия за номером 2.1.
Появилась поддержка Java 8.
Android Studio 2.0
23 ноября 2015 объявили о выходе Android Studio 2.0 Preview. Финальная версия вышла 7 апреля 2016 года. Основные революционные изменения — переработанный эмулятор с сервисами Google, камерой, GPS, который работает намного быстрее и новая функция «Instant Run».
Скорость эмулятора ускорилась в 3 раза, чем предыдущая версия. А скорость передачи приложения в 10 раз быстрее, чем на реальное устройство.
Android Studio 1.5
19 ноября 2015 года вышла версия 1.5. Заметных изменений не видно, поправили баги, что-то там улучшили.
Android Studio 1.4
30 сентября 2015 года вышла версия 1.4 с большими изменениями.
Появился новый мастер Vector Asset Studio для создания векторных значков VectorDrawable и новый пункт меню Vector Asset.
Появился экспериментальный редактор тем для редактирования файла colors.xml, содержащий настройки цвета для Material Design. В дальнейшем редактор обещают доработать для сложных вещей. Доступ к редактору осуществляется через меню Tools | Android | Theme Editor.
Добавились новые шаблоны, включая поддержку Android Design Support Library. Общий внешний вид мастера выбора шаблона был перерисован под новый дизайн. Теперь можно выбрать шаблоны с плавающей кнопкой Floating action button (FAB) Blank Activity, с выдвижной шторкой Navigation Drawer Activity, активность с прокруткой Scrolling Activity.
Стандартный минимальный шаблон для начинающих получил название Empty Activity вместо прежнего Blank Activity.
Android Studio 1.3
Видимых изменений практическе не было.
v 1.2. Google AdMob Ads Activity
В версии 1.2 появился новый шаблон Google AdMob Ads Activity.
Также улучшили редактор кода. Например, если вы редактируете название открывающего тега, то закрывающий тег меняется автоматически. Также были немного переработаны некоторые некоторые детали интерфейса, добавлены новые вкладки.
Множественное выделение — нажмите клавиши Shift+Alt и выделяйте мышкой нужные участи кода.
v 0.5.6. Google Play Services Activity
В версии 0.5.6 появились новые шаблоны Google Play Services Activity, Navigation Drawer Activity, Tabbed Activity.
v0.5.4. Карты
Начиная с версии 0.5.4, в Android Studio появился новый шаблон с использованием Гуглокарты — Google Maps Activity.
Дополнительное чтение
Создание фрагментов в Android Studio
Советы для Android Studio
Реклама
Урок 1. Введение.
Добрый день!
Это урок-введение. Здесь мы пока ничего кодить не будем, я распишу причины, которые побудили меня создать этот сайт.
Я начал свое знакомство с разработкой под Android с примеров на официальном сайте. Половину того, чего делал — не понимал. Но какие-то знания оттуда вынес и немного почитал теории на том же ресурсе. На этом мое знакомство с Android завершилось ) Я не знал куда двигаться дальше. Про книги я почему-то не подумал, а зря …
Позже я наткнулся на статью «Five of the best Android development books». Интерес снова появился, стало понятно куда двигаться, я начал читать эти книги. Понял не все, но уже гораздо больше чем с первых примеров. Но если читать такие книги полностью с нуля, то многое будет не очевидно и непонятно.
Поэтому я хочу попытаться создать уроки по Android для начинающих, чтобы у читателя за спиной не оставалось непонятных ему тем. Я постараюсь максимально подробно все объяснять и делать различные примеры для большей наглядности. С каждым новым уроком буду вводить и использовать новые понятия и объекты, и использовать объекты из прошлых уроков для закрепления.
Каждый урок я стараюсь делать максимально независимым и обособленным, чтобы можно было зайти, посмотреть нужную тему и не просматривать кучу лишнего. Примеры стараюсь подбирать наиболее четко отображающие тему урока.
В отличие от некоторых авторов я не собираюсь научить вас программированию за «24 часа» или за «30 уроков». Мы все понимаем, что это невозможно ) Я не знаю, сколько у меня получится уроков. Думаю, что хватит около сотни, чтобы дать весь базис достаточно подробно. А потом еще сотня уйдет на различные продвинутые фишки. В общем тем, кто начинает изучать, скорее всего не придется много бегать по другим сайтам (кроме официального хелпа) за дополнительными знаниями. Здесь вы найдете много полезной, последовательной и изложенной простым языком информации.
Надо понимать, что мои уроки это не всегда руководство «как именно надо делать». Я могу чем-то пренебречь и что-то упустить, чтобы показать тему урока и не давать лишний материал. Поэтому прошу не считать все изложенное в уроках единственно правильным способом реализации.
Если у вас возникают проблемы с Android, то у сайта есть замечательный форум, который всегда рад помочь новичкам разобраться даже в самых простых вопросах. Правда, он защищен от спамеров контрольным вопросом и ответить на него, чтобы зарегиться, вы сможете только прочитав первые пять уроков. Это вынужденная защита. Зато, с момента введения этого вопроса, на форум не проник ни один спамер!
На данный момент уроки охватывают темы:
— создание экрана (в редакторе и программно)
— обработчики нажатия
— логи и всплывающие сообщения
— обычное меню, контекстное меню
— анимация View-компонентов
— создание и вызов Activity (+ возврат результата)
— Activity Lifecycle (состояния Activity)
— Intent, Intent Filter
— хранение данных (Preferences, SQLite)
— список и адаптеры
— диалоги
— Parcel, Parcelable
— Preferences при хранении настроек приложения
— работа с файлами
— Tab вкладки
— парсинг XML
— асинхронность (Handler, AsyncTask)
— сервисы
— Content Provider
— обработка касаний, мультитач
— фрагменты
— Action Bar, ActionMode
— виджеты
— ключи и подпись приложения
— ViewPager
— воспроизведение звука и видео
— запись звука
— работа с камерой
— сенсоры
— GPS
— Google Maps
— рисование
Я продолжаю читать книги и уроки будут появляться, пока я сам буду развиваться. В итоге, я думаю, мы придем к тому, что станем достаточно продвинутыми разработчиками, востребованными на рынке. В общем, как говорит один клоун из зомбоящика — «не переключайтесь» ) Будет интересно!
На следующем уроке мы установим и настроим среду разработки Android-приложений.
P.S.
Разработка ведется на Java. Также могут понадобиться знания SQL, XML и прочих смежных технологий. Считается, что вы знакомы с ними. Если нет, то что-нибудь базисное по Java надо будет прочесть.
Гугл периодически выпускает обновления Android и для среды разработки. Поэтому вполне возможно, что содержимое урока немного устарело и реальная картинка отличается от скринов. Если это отличие кардинально или примеры не работают, пишите об этом на форуме в ветке урока. Будем актуализировать. Если же отличие только в цвете фона приложения или размере шрифта, то это, конечно, не критично и на посыл урока не влияет.
Также замечено, что поведение кода на разных версиях системы может быть различным. Я не проверял работоспособность материалов уроков на всех возможных версиях, поэтому ваши результаты могут отличаться от моих.
P.P.S
Иногда звучат высказывания, что большинство уроков сделаны для Android 2.3, а сейчас уже вышел Android версии, например, 100500 и уроки устарели. Один чудик как-то вообще написал, что уроки на 90% состоят из deprecated методов. Очень я не люблю комментировать чушь, но для начинающих я выскажу свое мнение по поводу этого всего дилетантства.
Я не могу с каждым выходом новой версии андроида переделывать все уроки. Тем более что, переделывать то ничего и не надо. Подавляющее большинство уроков останется прежними и все будет отлично работать на любой версии. К тому же доля устройств на Android 2.Х еще пока достаточно велика, чтобы ею пренебречь. И вы в ваших приложениях будете минимальную версию указывать 2.2 или 2.3, чтобы не потерять целый сегмент пользователей. Так что я не понимаю, в чем смысл кипиша.
Да, есть такое, что с выходом новых версий, некоторые уроки действительно кардинально устаревают и их надо обновлять. Это, например, коснулось Урока 52, и я сделал его обновление в отдельном уроке. Но постоянно отслеживать и обновлять целый урок из-за того, что там теперь один метод (о ужас-ужас!!!) deprecated — это тяжко. Не забывайте, что я занимаюсь сайтом в свое свободное время. И я лучше потрачу его на написание новых материалов, чем на отслеживание и фикс устаревших методов.
Гуглохелп обычно для устаревших методов дает ссылку на новый метод. Так что если видите, что Eclipse ругается на устаревший метод, то просто ищете его в хелпе и смотрите, чем его заменили.
P.P.P.S
По Android Studio ситуация примерно та же. Не вижу смысла переходить на AS, т.к. главное в уроках — это код, а не среда разработки. Разве что, несколько первых уроков потом продублирую для AS
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Android Studio Debugging: Базовые понятия и возможности | by Artem Shevchenko
Часть первая, основы
Я уверен что 95% читателей этой публикации прекрасно знают что такое отладка приложения, и, говоря по простонародному, уже не раз дебажили свои приложения в поисках ошибки или проверки работы своей программы.
И все же краткое вступление с теорией будет. Поэтому если вы знаете что такое отладка, то пропустите этот раздел и листайте вниз, или сразу перейдите к второй части.
Отладка или debugging приложения — это процесс поиска и исправление ошибок или неправильного поведения кода.
Например: при получении ответа с сервера и его обработке внутри вашего приложения происходит непонятная ошибка и на экране выводится устаревшая информация вместо новой. Чтоб разобраться что происходит и найти ошибку мы можем при помощи отладки поставить выполнение программы на паузу в нужном нам месте и посмотреть содержимое наших объектов и переменных.
Именно для этого и нужна отладка: приостанавливать выполнение кода в нужном месте и изучении состояния приложения.
В этой статье я расскажу базовые вещи и возможности отладчика в Android Studio. В следующей статье я постараюсь рассказать о некоторых тонкостях и продвинутых возможностях работы с отладкой.
Как запустить отладку — Android Debugger
Запустить отладчик в Android Studio можно двумя способами:
Первый способ: Запустить приложение в режиме отладки. Стоит использовать если нужно отладить именно запуск приложения. Для отладки конкретного действия-экрана лучше использовать второй способ, так быстрее.
Нажать на иконку с жучком или клавиши (⌃+D) и выбрать в диалоге устройство на котором запустить отладку приложения.
Второй способ: Подключить Android Debugger к уже запущенному процессу. Удобно, потому что бывает нужно продебажить конкретный экран или нажатие на кнопку, а запускать каждый раз приложение в режиме отладки долго и неудобно.
Как остановить отладку
Остановить отладку можно здесь:
Верхняя панель действий, (⌘+F2)
Или здесь:
Вкладка Debug, обычно находится снизу Android Studio, (⌘+F2)
Breakpoint или точка остановки — специальный флаг для Android Debugger-a который означает “Останови выполнение программы в этом месте”.
Две точки остановки во время отладки приложения
На скриншоте выше видно две точки остановки. Интересно, что они сообщают некую информацию о себе: одна из них с галочкой а другая с крестиком.
Галочка значит что эта точки остановки активная и кода выполнение кода подойдет к этой строке выполнение программы будет остановлено.
Крестик обозначает что выполнение кода на этой строке невозможно (например у пустой строки или, как в примере выше, у ключевого слова)
Как сделать точку остановки — breakpoint
Для добавления точки остановки нужно кликнуть на серой области напротив строки с кодом или нажать ⌘+F8.
Выбор точки остановки — set breakpoint
Практически все современные Android приложения используют Kotlin и RxJava. И при типичном использовании этой связки языка и библиотеки при добавлении точки остановки иногда появляется такой выбор:
Android Studio предлагает нам выбрать где именно мы хотим добавить точку остановки — момент выполнения метода subscribe в Rx-цепочке или выполнение кода внутри лямбды, которую мы передаем в subscribe. А можно поставить точку остановки сразу для двух действий (All).
Примечание для новичков: Если вы хотите отладить действие, которое вы планируете выполнить внутри метода subscribe, и не поняли в примере выше где именно вам поставить точку остановки — вам нужно поставить ее внутри лямбда выражения.
Остановка выполнения приложения при достижении breakpoint-a. Синим цветом Android Studio подсвечивает на какой именно точке выполнение программы было остановлено.
Подсказки от Android Studio
Подсказки от Android Studio
Подсказки от Android Studio во время отладки — приятный бонус. В них отображается полезная информация, например значение локальных переменных, аргументов и объектов (для них выводится информация из метода toString() соответствующего объекта).
Стек вызова методов — Frames
Стек. Синим цветом подсвечивается текущий метод.
В вкладке Debugger во время остановки выполнения приложения выводится стек вызова методов.
Благодаря этому можно понять — откуда мы попали в текущий метод.
Желтым цветом подсвечиваются классы Android SDK или библиотек — там, где у нас нет доступа к исходному коду.
Вывод информации о текущем потоке
Формат вывода информации о методе такой:
- Название метода — methodThree
- Номер строки с точкой остановки— 22
- Название класса — DebugStateDemoObject
- package класса
Просмотр информации состояния объекта и переменных — Variables
Вывод состояния во время остановки
Помимо панели со стеком вызова методов в вкладе Debug также находится и панель с выводом текущего состояния и значениями локальных переменных.
На первой строке выводится информация об объекте, чей метод был вызван и остановлен для отладки. Интересно, что по двойному клику на это строчку можно будет увидеть дополнительную информацию о состоянии текущего класса.
На второй строке выводится информация о локальной переменой, в данном случае это еще и аргумент переданный в этот метод.
Изменение значения переменой “на лету”
Значение локальной переменной можно изменить нажав правой клавишей мышки -> Set value… или по нажатию на F2.
Для применения изменений нажмите Enter
Стек методов + состояние объекта
Стоит запомнить, что состояние объекта при переходе по стеку методов не меняется. То есть, при просмотре методов из стека в разделе с информацией о состоянии объекта и локальных переменных, он же Variables, будет показано самое последнее состояние объекта не зависимо от просматриваемого метода.
Для иллюстрации этого давайте проведем эксперимент. Итак у нас есть следующий код:
Давайте добавим точку остановки на 19 строку внутри метода methodThree() и запустим этот код в режиме отладки.
Но перед этим поясню что мы хотим уточнить: если значения объектов сохраняются в стек, то при переходе в стеке вызова методов внутри вкладки Debug значение поля counter будет меняться. Если состояние объекта не сохраняется, то counter всегда будет с его актуальным (последним) значением.
Обратите внимание на значение counter в вкладке VariablesИнтересующая нас панель управления — ряд кнопок слева
Во время отладки Android Debugger в Android Studio позволяет нам управлять процессом отладки.
Без знания этих инструментов процесс отладки будет сложным и запутанным, так что давайте познакомимся с этими возможностями поближе.
Продолжить выполнение программы
Когда во время отладки выполнение кода программы подходит к строке на которой установлен Breakpoint (точка остановки), выполнение программы приостанавливается. По нажатию на эту кнопку выполнение программы будет выполнятся дальше.
Приостановить выполнение программы
Есть возможность и просто приостановить приложение во время отладки поставив его на паузу. Сам этот режим, его цель и как он работает я, если честно, не очень понял. Я сделал эксперимент с бесконечным циклом, внутри которого инкрементяться 3 переменных типа Long, и в случайный момент делал паузу: выполнение кода останавливалось на строке с объявлением while(true), я даже видел значения переменных, но на этом все.
Остановка отладки
Саму отладку можно остановить по нажатию на кнопку стоп. В последнее время останавливается не только отладка но и приложение; грустно.
Просмотр и настройка breakpoints (точек остановок) в проекте
Эта возможность архи полезная: во первых здесь можно просмотреть все breakpoints в проекте. Во-вторых здесь можно отключить/включить выборочно нужные нам breakpoints. Мы еще вернемся к возможностям этой функции позже, в следующей статье.
Так выглядит окно с просмотром всех breakpoints на проекте
Приглушить все breakpoints
А еще можно приглушить (Mute) все наши точки остановки по нажатию на эту кнопку. Интересно что во время отладки по нажатию на эту кнопку точки остановки действительно не отрабатывают, но у меня после отключения этой возможности точки оставались “приглушенными” и дальше. Может быть баг Android Studio а может и эмулятора — я этого не понял и выглядит это странно. Если кто-то мне подскажет что происходит я буду очень рад!
Получение dump-а потоков приложения
Есть возможность получить dump с состоянием всех потоков в процессе и даже вывод стектрейса с местом выполнения кода. Выглядит это так:
Этот режим будет полезен при отладке сложных, многопоточных приложений.
Настройка отображения данных и UI вкладки Debug
Первая иконка может восстановить разметку вкладки Debug в первоначальное состояние (если чото сдвинули мышкой неудачно)
Вторая кнопка откроет меню в котором можно настроить отображение информации.
Третья кнопка предлагает закрепить текущую вкладку в разделе Debug а четвертая кнопка, та что крестик, закроет вкладку соотвественно.
В момент срабатывания точки остановки выполнение кода приостанавливается и мы можем узнать состояние наших объектов и переменных. Но иногда одной точки остановки может быть недостаточно, и для основательного исследования работы нашего кода нам понадобится шаг за шагом выполнять какое-то действие и смотреть что к чему.
Для этого мы можем воспользоваться возможностью двигаться по коду, выполняя нужный нам фрагмент за фрагментом.
Давайте разберемся с этим!
Перейти к текущей точке остановки
По нажатию на эту кнопку курсор и фокус будет перемещены на текущую точку остановки. Удобно если потерялся.
Переход к следующей строке
Переход к следующей строке кода внутри текущего метода, не заходя в вызываемый метод (если он вызывается).
Переход дальше + принудительно
Переход в вызываемый метод к его первой строке.
Красная стрелка — тоже самое, но делает это принудительное, если по какой то причине просто перейти нельзя.
Выход из текущего метода
Выход из текущего метода на следующую строку кода
Выполнить до курсора
А еще можно выполнить код до той строки, на которой находится курсор. Курсор перед этим можно перемещать до куда нам нужно. Очен здоровская возможность!
Создайте свое первое приложение | Разработчики Android
В этом разделе описывается, как создать простое приложение для Android. Сначала вы узнаете, как создать
«Привет мир!» проект с Android Studio и запустите его. Затем вы создаете новый интерфейс для
приложение, которое принимает вводимые пользователем данные и переключается на новый экран в приложении для его отображения.
Прежде чем вы начнете, вам нужно понять две фундаментальные концепции.
Приложения для Android: как они обеспечивают несколько точек входа и как адаптируются к разным устройствам.
Приложения предоставляют несколько точек входа
Приложения Android создаются как комбинация компонентов, которые можно вызывать по отдельности. Для
Например, действие — это тип компонента приложения, который предоставляет пользовательский интерфейс (UI).
«Основное» действие начинается, когда пользователь касается значка вашего приложения. Вы также можете направить пользователя
к действию из другого места, например из уведомления или даже из другого приложения.
Другие компоненты, такие как WorkManager , позволяют
приложение для выполнения фоновых задач без пользовательского интерфейса.
После создания своего первого приложения вы можете узнать больше о других компонентах приложения на
Основы приложения.
Приложения адаптируются к разным устройствам
Android позволяет предоставлять разные ресурсы для разных устройств. Например, вы
может создавать разные макеты для разных размеров экрана. Система определяет, какой макет
использовать в зависимости от размера экрана текущего устройства.
Если для какой-либо из функций вашего приложения требуется определенное оборудование, например камера, вы можете запросить на
время выполнения независимо от того, имеет ли устройство это оборудование или нет, а затем отключите соответствующий
функции, если это не так.Вы можете указать, что вашему приложению требуется определенное оборудование, чтобы
Google Play не позволит установить приложение на устройства без них.
После того, как вы создадите свое первое приложение, узнайте больше о конфигурациях устройства на странице
Обзор совместимости устройств.
Куда идти дальше
Имея в виду эти две основные концепции, у вас есть два варианта. Если вы предпочитаете оставаться в основном
документации, которая позволяет легко перейти к другим темам, чтобы узнать больше о конкретных
аспекты создания приложения, вы можете перейти к следующему уроку, чтобы создать свое первое приложение.Однако, если вам нравится следовать пошаговым руководствам, которые объясняют каждый шаг от начала до
конец, затем рассмотрим основы Android в Kotlin
курс.
Запустите приложение | Разработчики Android
На предыдущем уроке вы создали
Приложение для Android с надписью «Hello, World!» Теперь вы можете запустить приложение на реальном
устройство или эмулятор.
Запуск на реальном устройстве
Настройте свое устройство следующим образом:
- Подключите устройство к машине разработки с помощью кабеля USB.если ты
разработан для Windows, вам может потребоваться
установите соответствующий драйвер USB для вашего устройства. - Выполните следующие шаги, чтобы включить отладку USB в
Окно параметров разработчика :- Откройте приложение Settings .
- Если ваше устройство использует Android v8.0 или выше, выберите System .
В противном случае переходите к следующему шагу. - Прокрутите вниз и выберите О телефоне .
- Прокрутите вниз и семь раз коснитесь Номер сборки .
- Вернитесь к предыдущему экрану, прокрутите вниз и коснитесь
Опции разработчика . - В окне параметров разработчика прокрутите вниз, чтобы найти и включить
Отладка по USB .
Запустите приложение на своем устройстве следующим образом:
- В Android Studio выберите свое приложение из конфигураций запуска / отладки.
раскрывающееся меню на панели инструментов. - На панели инструментов выберите устройство, на котором вы хотите запустить приложение, из
раскрывающееся меню целевого устройства.
Рисунок 1. Раскрывающееся меню целевого устройства
Щелкните Выполнить .
Android Studio устанавливает ваше приложение на подключенное устройство и запускает его. Ты
теперь смотрим «Hello, World!» отображается в приложении на вашем устройстве.
Чтобы начать разработку своего приложения, перейдите к следующему
урок.
Запуск на эмуляторе
Запустите приложение на эмуляторе следующим образом:
- В Android Studio создайте виртуальное устройство Android (AVD)
который эмулятор может использовать для установки и запуска вашего приложения. - На панели инструментов выберите свое приложение в раскрывающемся списке конфигураций запуска / отладки.
меню. В раскрывающемся меню целевого устройства выберите AVD, который вы хотите запустить.
ваше приложение включено.Рисунок 2. Раскрывающееся меню Целевое устройство
Нажмите Выполните
.Android Studio устанавливает приложение на AVD и запускает эмулятор. Ты сейчас
см. «Привет, мир!» отображается в приложении.
Чтобы начать разработку своего приложения, перейдите к следующему
урок.
Построить простой пользовательский интерфейс | Разработчики Android
В этом уроке вы узнаете, как использовать
Редактор макетов Android Studio для создания макета, который
включает текстовое поле и кнопку. Это подготовит следующий урок, где вы узнаете, как сделать
приложение отправляет содержимое текстового поля другому действию при нажатии кнопки.
Рисунок 1. Скриншот окончательного макета
Пользовательский интерфейс (UI) для приложения Android построен как иерархия из макетов и
виджетов . Макеты
ViewGroup
объектов, контейнеров
которые управляют расположением их дочерних представлений на экране. Виджеты
Просмотр
объектов, компонентов пользовательского интерфейса, таких как
кнопки и текстовые поля.
Рисунок 2. Иллюстрация того, как образуются объекты ViewGroup
веток в макете и содержат Просмотр
объектов.
Android предоставляет словарь XML для классов ViewGroup
и View
, поэтому
большая часть вашего пользовательского интерфейса определена в файлах XML. Однако вместо того, чтобы научить вас писать XML, этот урок
показывает, как создать макет с помощью редактора макетов Android Studio. Редактор макета пишет
XML для вас, когда вы перетаскиваете представления для создания макета.
В этом уроке предполагается, что вы используете
Android Studio v3.0 или выше и что вы выполнили
создать урок по проекту Android.
Откройте редактор макета
Для начала настройте свое рабочее пространство следующим образом:
- В окне проекта откройте приложение > res> layout> activity_main.xml .
- Чтобы освободить место для редактора компоновки, скройте окно Project . Для этого выберите
View> Tool Windows> Project , или просто щелкните
Project в левой части экрана Android Studio. - Если ваш редактор показывает источник XML, щелкните вкладку Design в правом верхнем углу окна.
- Щелкните ( Select Design Surface ) и выберите Blueprint .
- Нажмите
( Параметры просмотра ) на панели инструментов редактора макета и убедитесь, что
Показать все ограничения отмечен флажком. - Убедитесь, что автоподключение выключено. Всплывающая подсказка на панели инструментов отображается
( Включить автоподключение к родительскому ), когда автоподключение выключено. - Щелкните ( Поля по умолчанию ) на панели инструментов и выберите
16 . При необходимости вы можете настроить поля для каждого вида позже. - Щелкните ( Device for Preview ) на панели инструментов и выберите
5.5, 1440 × 2560, 560 dpi (Pixel XL) .
Ваш редактор макетов теперь выглядит, как показано на рисунке 3.
Рисунок 3. Редактор макета, показывающий activity_main.xml
Для получения дополнительной информации,
см. Введение в редактор макетов.
Панель Component Tree в нижнем левом углу показывает иерархию представлений макета.В этом случае корневым представлением является ConstraintLayout
, который содержит только один
TextView
объект.
ConstraintLayout
— это макет, который определяет положение для каждого представления на основе
ограничения для одноуровневых представлений и родительского макета. Таким образом можно создавать как простые, так и
сложные макеты с плоской иерархией видов. Этот тип макета позволяет избежать вложенных макетов.
Вложенный макет, который представляет собой макет внутри макета, как показано на рисунке 2, может увеличить время
требуется для рисования пользовательского интерфейса.
Рис. 4. Иллюстрация двух изображений, расположенных внутри
ConstraintLayout
Например, вы можете объявить следующий макет, показанный на рисунке 4:
- Вид A отображается на расстоянии 16 dp от верха родительского макета.
- Вид A появляется на 16 dp слева от родительского макета.
- Вид B появляется на 16 dp справа от вида A.
- Вид B совмещен с видом A сверху.
В следующих разделах вы создадите макет, аналогичный макету на рисунке 4.
Добавить текстовое поле
Рис. 5. Текстовое поле ограничено верхней и левой частью
родительский макет
Чтобы добавить текстовое поле, выполните следующие действия:
- Сначала вам нужно удалить то, что уже есть в макете. Щелкните TextView в
Дерево компонентов и нажмите клавишу Удалить . - На панели Палитра щелкните Текст , чтобы отобразить доступные текстовые элементы управления.
- Перетащите Plain Text в редактор дизайна и поместите его в верхнюю часть макета. Этот
это виджетEditText
, который
принимает обычный текстовый ввод. - Щелкните вид в редакторе дизайна. Теперь вы можете видеть квадратные ручки для изменения размера представления на
каждый угол и круглые якоря зависимости с каждой стороны. Для лучшего контроля вы можете захотеть
, чтобы увеличить масштаб редактора. Для этого используйте кнопки Zoom на панели инструментов редактора макета. - Щелкните и удерживайте привязку на верхней стороне, перетащите ее вверх, пока она не зафиксируется в верхней части макета,
а затем отпустите.Это ограничение: оно ограничивает представление в пределах поля по умолчанию, которое было
набор. В этом случае вы устанавливаете его на 16 dp от верхнего края макета. - Используйте тот же процесс, чтобы создать ограничение с левой стороны вида на левую сторону
расположение.
Результат должен выглядеть, как показано на рисунке 5.
Добавить кнопку
Рисунок 6. Кнопка ограничена правой стороной текстового поля.
и его базовый уровень
- На панели Палитра щелкните Кнопки .
- Перетащите виджет Button в редактор дизайна и поместите его рядом с правой стороной.
- Создайте ограничение с левой стороны кнопки до правой стороны текстового поля.
- Чтобы ограничить виды горизонтальным выравниванием, создайте ограничение между текстом
исходные. Для этого щелкните кнопку правой кнопкой мыши и выберите Показать базовую линию
.
Якорь базовой линии появится внутри кнопки. Щелкните и удерживайте эту привязку, а затем перетащите ее на
привязка базовой линии, которая появляется в соседнем текстовом поле.
Результат должен выглядеть, как показано на рисунке 6.
Примечание: Вы также можете использовать верхнюю или нижнюю кромку для создания горизонтального
выравнивание. Однако изображение кнопки включает отступы вокруг нее, поэтому визуальное выравнивание неверно.
если создан таким образом.
Изменить строки пользовательского интерфейса
Для предварительного просмотра пользовательского интерфейса щелкните ( Select Design Surface ).
на панели инструментов и выберите Дизайн . Обратите внимание, что для ввода текста и метки кнопки заданы значения по умолчанию.
Чтобы изменить строки пользовательского интерфейса, выполните следующие действия:
- Откройте окно Project , а затем откройте приложение > res> values> strings.xml .
Это строка ресурсов
файл, в котором вы можете указать все свои строки пользовательского интерфейса. Это позволяет вам управлять всем своим пользовательским интерфейсом
строки в одном месте, что упрощает их поиск, обновление и локализацию. - Щелкните Открыть редактор вверху окна. Это открывает
Редактор переводов,
который предоставляет простой интерфейс для добавления и редактирования строк по умолчанию.Это также поможет вам сохранить все
ваших переведенных строк организовано. Нажмите
( Добавить ключ ), чтобы создать
новая строка как «текст подсказки» для текстового поля. В этот момент открывается окно, показанное на рисунке 7.Рисунок 7. Диалог добавления новой строки
В диалоговом окне Добавить ключ выполните следующие действия:
- Введите «edit_message» в поле Key .
- Введите «Введите сообщение» в поле Значение по умолчанию .
- Щелкните ОК .
- Добавьте еще один ключ с именем «button_send» со значением «Отправить».
Теперь вы можете установить эти строки для каждого вида. Чтобы вернуться к файлу макета, щелкните
activity_main.xml на панели вкладок. Затем добавьте следующие строки:
- Щелкните текстовое поле в макете. Если окно Атрибуты еще не отображается на
справа щелкните Атрибуты на правой боковой панели. - Найдите свойство текста , для которого в настоящее время установлено значение «Имя», и удалите значение.
- Найдите свойство подсказки и нажмите
( Выберите ресурс ), который должен
справа от текстового поля. В появившемся диалоговом окне дважды щелкните edit_message из
список. - Щелкните кнопку в макете и найдите его свойство text , которое в настоящее время установлено
на «кнопку». Затем щелкните
( Выберите ресурс ) и выберите
отправка кнопки .
Сделать размер текстового поля гибким
Чтобы создать макет, который реагирует на разные размеры экрана, вам нужно сделать текстовое поле
растянуть, чтобы заполнить все горизонтальное пространство, которое остается после учета кнопки и полей.
Прежде чем продолжить, щелкните
( Выберите поверхность дизайна )
на панели инструментов и выберите Blueprint .
Чтобы сделать текстовое поле гибким, выполните следующие действия:
Рисунок 8. Результат выбора Создать горизонтальную цепочку
Рисунок 9. Щелкните, чтобы изменить ширину на Ограничения соответствия
Рис. 10. Текстовое поле теперь растягивается, чтобы заполнить оставшееся пространство
Выберите оба представления. Для этого щелкните один, удерживайте Shift , затем щелкните другой, а затем
щелкните правой кнопкой мыши любой из них и выберите Chains> Create Horizontal Chain . Затем появится макет
как показано на рисунке 8.Цепь
это двунаправленное ограничение между двумя или более представлениями, которые
позволяет размещать связанные виды в унисон.- Нажмите кнопку и откройте окно Атрибуты . Затем используйте виджет ограничений , чтобы установить правое поле на 16 dp.
Щелкните текстовое поле, чтобы просмотреть его атрибуты. Затем дважды щелкните индикатор ширины, чтобы установить его.
к неровной линии ( Match Constraints ), как показано выноской 1 на рисунке 9.Ограничения совпадения означает, что ширина расширяется, чтобы соответствовать определению горизонтали.
ограничения и поля.Таким образом, текстовое поле растягивается, чтобы заполнить горизонтальное пространство, которое
остается после кнопки и учитываются все поля.
Теперь макет готов, как показано на рисунке 10.
Если ваш макет получился не таким, как ожидалось, нажмите См. Окончательный макет XML ниже, чтобы увидеть
как должен выглядеть ваш XML. Сравните это с тем, что вы видите на вкладке Code . Если твой
атрибуты появляются в другом порядке, это нормально.
См. Окончательный макет XML
xml version = "1.0 "encoding =" utf-8 "?><Кнопка android: id = "@ + id / button" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginEnd = "16dp" android: layout_marginStart = "16dp" android: text = "@ string / button_send" app: layout_constraintBaseline_toBaselineOf = "@ + id / editText" app: layout_constraintEnd_toEndOf = "родительский" приложение: layout_constraintHorizontal_bias = "0.5 " app: layout_constraintStart_toEndOf = "@ + id / editText" />
Для получения дополнительной информации о цепях и обо всем остальном, что вы можете делать с
ConstraintLayout
, читать
Создайте отзывчивый пользовательский интерфейс с помощью ConstraintLayout.
Запустите приложение
Если ваше приложение уже установлено на устройстве из
предыдущий урок, просто
нажмите ( Применить изменения )
на панели инструментов, чтобы обновить приложение с новым макетом.Или нажмите Запустить приложение
для установки и запуска приложения.
Кнопка по-прежнему ничего не делает. Чтобы создать другое действие, которое начинается при нажатии кнопки,
переходите к следующему уроку.
Настроить редактор — Flutter
Вы можете создавать приложения с Flutter, используя любой текстовый редактор в сочетании с нашим
инструменты командной строки. Однако мы рекомендуем использовать один из наших редакторов.
плагины для еще лучшего опыта.
Эти плагины предоставляют вам автозавершение кода, синтаксис
выделение, помощь в редактировании виджетов, поддержка запуска и отладки и многое другое.
Следуйте инструкциям ниже, чтобы добавить плагин редактора для Android Studio,
IntelliJ, VS Code или Emacs. Если вы хотите использовать другой редактор,
все в порядке, переходите к следующему шагу: тест-драйв.
Установить Android Studio
Android Studio предлагает полную интегрированную среду IDE для Flutter.
В качестве альтернативы вы также можете использовать IntelliJ:
Установите плагины Flutter и Dart
Инструкции по установке зависят от платформы.
Mac
Используйте следующие инструкции для macos:
- Запустите Android Studio.
- Открыть настройки плагина ( Настройки> Плагины с
v3.6.3.0 или новее). - Выберите плагин Flutter и
нажмите Установить . - Нажмите Да , когда будет предложено установить подключаемый модуль Dart.
- Нажмите Перезагрузить , когда будет предложено.
Linux или Windows
Используйте следующие инструкции для Linux или WIndows:
- Откройте настройки плагина ( Файл> Настройки> Плагины ).
- Выберите Marketplace , выберите плагин Flutter и нажмите
Установить .
Установить VS Code
VS Code — это легкий редактор с поддержкой выполнения и отладки приложений Flutter.
Установите плагины Flutter и Dart
- Запустить VS Code.
- Вызвать Вид> Палитра команд… .
- Введите «установить» и выберите Extensions: Install Extensions .
- Введите «flutter» в поле поиска расширений, выберите в списке Flutter ,
и нажмите Установить . Это также установит необходимый плагин Dart.
Проверьте настройку с помощью Flutter Doctor
- Вызвать Вид> Палитра команд… .
- Введите «доктор» и выберите Flutter: запустите Flutter Doctor .
- Проверьте вывод на панели ВЫХОД на наличие проблем.Обязательно выберите Flutter из раскрывающегося списка в различных параметрах вывода.
Установите Emacs
Emacs — легкий редактор с поддержкой Flutter и Dart.
- Emacs, последняя стабильная версия
Установите пакет lsp-dart
Для получения информации о том, как установить и использовать пакет, см. Документацию lsp-dart.
Блог разработчиков Android
: Android Studio 4.1
Обновления компонентов дизайна материалов в шаблонах проектов
Обновления включают:
- MDC : проекты зависят от
com.google.android.material: материал
в build.gradle. Базовые темы приложений используютTheme.MaterialComponents. *
родителей и переопределяют обновленный цвет MDC и атрибуты «on». - Цветовые ресурсы : Цветовые ресурсы в
colors.xml
используют буквальные имена (например,purple_500
вместоcolorPrimary
). - Ресурсы темы : ресурсы темы находятся в
themes.xml
(вместоstyles.xml
) и используют тему.
имен. - Темная тема : базовые темы приложений используют
DayNight
родителей и разделены между res / values и res / values-night. - Атрибуты темы : ресурсы цвета упоминаются как атрибуты темы (например,
? Attr / colorPrimary
) в макетах и стилях, чтобы избежать жестко заданных цветов.
Разработка
Инспектор базы данных
Мы хотели упростить проверку, запрос и изменение баз данных вашего приложения с помощью нового инспектора баз данных.Для начала разверните свое приложение на устройстве с API уровня 26 или выше и выберите View> Tool Windows> Database Inspector в строке меню. Независимо от того, использует ли ваше приложение библиотеку Jetpack Room или версию SQLite для платформы Android напрямую, теперь вы можете легко проверять базы данных и таблицы в своем запущенном приложении или выполнять пользовательские запросы.
Поскольку Android Studio поддерживает активное соединение, пока вы проверяете свое приложение, вы также можете изменять значения с помощью инспектора базы данных и видеть эти изменения в своем запущенном приложении.Если вы используете библиотеку сохраняемости Room, Android Studio также размещает кнопки запуска рядом с каждым запросом в редакторе кода, чтобы помочь вам быстро выполнять запросы, которые вы определяете в аннотациях @Query. Учить больше
Проверяйте, запрашивайте и изменяйте базы данных вашего приложения с помощью Database Inspector
Запуск эмулятора Android прямо в Android Studio
Теперь вы можете запустить эмулятор Android прямо в Android Studio. Используйте эту функцию для экономии места на экране, для быстрой навигации между эмулятором и окном редактора с помощью горячих клавиш, а также для организации рабочего процесса IDE и эмулятора в одном окне приложения.Вы можете управлять снимками и обычными действиями эмулятора, такими как вращение и создание снимков экрана из Studio, но для доступа к полному набору параметров по-прежнему требуется запуск стабильного эмулятора. Вы можете отказаться от использования этой функции, перейдя в File → Settings → Tools → Emulator → Launch in Tool Window.
Запустите эмулятор Android в Android Studio
Кинжал Навигационная поддержка
Dagger — популярная библиотека для внедрения зависимостей на Android.Android Studio упрощает переход между кодом, относящимся к Dagger, за счет предоставления новых действий с полями и расширенной поддержки в окне «Поиск использования». Например, щелкнув действие с желобом рядом с методом, который использует данный тип, вы перейдете к провайдеру этого типа. И наоборот, щелкнув действие с желобом, вы перейдете туда, где тип используется в качестве зависимости. Android Studio также поддерживает действия навигации для зависимостей, определенных с помощью библиотеки Jetpack Hilt. Учить больше.
Перемещение между кодом, связанным с Dagger, с помощью действий с желобом
Используйте модели TensorFlow Lite
Разработчики Android используют машинное обучение, чтобы создавать инновационные и полезные приложения. TensorFlow Lite — популярная библиотека для написания моделей мобильного машинного обучения, и мы хотели упростить импорт этих моделей в приложения для Android. Подобно привязке представлений, Android Studio генерирует простые в использовании классы, поэтому вы можете запускать свою модель с меньшим количеством кода и большей безопасностью типов.Текущая реализация привязки моделей машинного обучения поддерживает модели классификации изображений и передачи стилей при условии, что они дополнены метаданными.
Чтобы просмотреть сведения об импортированной модели и получить инструкции по ее использованию в приложении, дважды щелкните файл модели .tflite
в своем проекте, чтобы открыть страницу средства просмотра модели. Учить больше.
Просмотр метаданных модели TensorFlow Lite в Android Studio 4.1
Сборка и тестирование
Эмулятор
Android — опора складных шарниров
Android Studio
Помимо недавно добавленной поддержки тестирования сотовой связи 5G, мы добавили поддержку складных устройств в эмуляторе Android.С помощью эмулятора Android 30.0.26 и более поздних версий вы можете настраивать складные устройства с различными конструкциями и конфигурациями складывания. Когда складное устройство настроено, эмулятор опубликует обновления датчика угла поворота и изменения положения, чтобы вы могли проверить, как ваше приложение реагирует на эти форм-факторы. См. Сообщение в блоге «Разработка для Android 11 с помощью эмулятора Android», чтобы узнать больше.
Применить изменения обновлений
Более быстрые сборки помогают разработчикам легче и быстрее вносить изменения в свои приложения.Чтобы помочь вам работать более продуктивно при итерации приложения, мы внесли несколько улучшений в функцию «Применить изменения» для устройств под управлением Android 11 или более поздних версий.
Мы вложили значительные средства в оптимизацию скорости итераций, разработав метод развертывания и сохранения изменений на устройстве без установки приложения. После первоначального развертывания последующие развертывания на устройствах Android 11 с использованием либо «Применить изменения кода», либо «Применить изменения и перезапустить действие» теперь выполняются значительно быстрее. Мы также добавили поддержку дополнительных изменений кода в Применить изменения.Теперь, если вы добавите метод, вы можете развернуть эти изменения в работающем приложении, щелкнув «Применить изменения кода» или «Применить изменения и перезапустить действие».
Экспорт зависимостей C / C ++ из AAR
В подключаемый модуль Android Gradle 4.0 добавлена возможность импорта пакетов Prefab в зависимости AAR. Мы хотели расширить возможности этой функции для поддержки совместного использования собственных библиотек. AGP версии 4.1 позволяет экспортировать библиотеки из внешней собственной сборки в AAR для проекта библиотеки Android.Чтобы экспортировать собственные библиотеки, добавьте следующее в блок android файла проекта библиотеки build.gradle
:
buildFeatures { prefabPublishing true } prefab { моя библиотека { заголовки "src / main / cpp / mylibrary / include" } myotherlibrary { заголовки "src / main / cpp / myotherlibrary / include" } }
Символика для собственных отчетов о сбоях
Когда в машинном коде происходит сбой или ANR, система создает трассировку стека, которая представляет собой моментальный снимок последовательности вложенных функций, вызванных в вашей программе до момента сбоя.Эти снимки могут помочь вам идентифицировать и исправить любые проблемы в источнике, но сначала они должны быть обозначены символами, чтобы преобразовать машинные адреса обратно в удобочитаемые имена функций.
Если ваше приложение или игра разрабатываются с использованием собственного кода, например C ++, теперь вы можете загружать файлы отладочных символов в Play Console для каждой версии вашего приложения. Play Console использует эти файлы символов отладки для обозначения трассировки стека вашего приложения, что упрощает анализ сбоев и ошибок ANR. Чтобы включить символы отладки в пакет приложений, добавьте следующую строку в сборку проекта .gradle
файл:
android.buildTypes.release.ndk.debugSymbolLevel = 'SYMBOL_TABLE'
Оптимизировать
Улучшения пользовательского интерфейса System Trace
В Android Studio 4.1 мы переработали System Trace — инструмент оптимизации, который позволяет в реальном времени отслеживать, как ваше приложение использует системные ресурсы. Мы упростили выбор трассировки с помощью режима выбора поля, добавили новую вкладку анализа и добавили дополнительные данные рендеринга кадров, чтобы помочь вам исследовать проблемы рендеринга в пользовательском интерфейсе вашего приложения.Учить больше.
Выбор рамки : в разделе «Потоки» теперь вы можете перетащить указатель мыши, чтобы выполнить выделение прямоугольником прямоугольной области, которую можно увеличить, нажав кнопку «Масштабировать к выделенному» в правом верхнем углу (или используйте сочетание клавиш M). . Когда вы перетаскиваете похожие потоки рядом друг с другом, вы можете выбрать несколько потоков, чтобы проверить их все сразу.
Используйте выделение прямоугольником, чтобы упростить выделение трасс.
Вкладка «Сводка» : На новой вкладке «Сводка» на панели «Анализ» отображаются:
- Совокупная статистика для всех наступлений определенного события, например, количество появлений и минимальная / максимальная продолжительность.
- Отследить статистику событий для выбранного события.
- Данные о распределении состояний потока.
- Наиболее длительные вхождения выбранного события трассировки.
Просмотр совокупной статистики на вкладке «Сводка»
Отображение данных : в разделе «Отображение» новые временные шкалы для SurfaceFlinger и VSYNC помогают исследовать проблемы отрисовки в пользовательском интерфейсе вашего приложения.
Автономные профилировщики
Теперь можно получить доступ к профилировщикам Android Studio в отдельном окне из основного окна Android Studio.Это полезно при оптимизации игр для Android, созданных с помощью других инструментов, таких как Unity или Visual Studio.
Чтобы запустить автономные профилировщики, сделайте следующее:
- Убедитесь, что профилировщики в Android Studio еще не запущены в вашей системе.
- Перейдите в каталог установки и перейдите в каталог bin:
Windows / Linux: <папка установки-студии> \ bin
macOS : <папка установки-студии> / Contents / bin
- В зависимости от вашей ОС запустите профилировщик
.exe
илиprofiler.sh
Автономный профилировщик позволит вам подключиться к эмулятору Android или любым подключенным устройствам.
Оптимизируйте свое приложение с помощью автономных профилировщиков Android Studio
Профилировщик встроенной памяти
Отслеживание использования собственной памяти важно для разработчиков игр и других разработчиков, использующих C ++, чтобы понять, как оптимизировать потребление памяти их приложением. Профилировщик памяти Android Studio теперь включает профилировщик встроенной памяти для приложений, развернутых на физических устройствах под управлением Android 10 или новее.Профилировщик собственной памяти отслеживает выделение / освобождение объектов в машинном коде за определенный период времени и предоставляет информацию об общих выделениях и оставшемся размере системной кучи.
Чтобы начать запись, щелкните Записать собственные выделения в верхней части окна «Профилировщик памяти»:
Просмотр распределения собственной памяти с помощью профилировщика собственной памяти
Напомним, что Android Studio 4.1 включает следующие новые улучшения и функции:
Типовой проект
- Обновления компонентов дизайна материалов
Разработка
- Инспектор базы данных
- Запуск эмулятора Android прямо в Android Studio
- Поддержка навигации Dagger
- Используйте модели TensorFlow Lite
Сборка и тестирование
- Эмулятор Android — Поддержка складных шарниров
- Применить изменения обновления
- Экспорт зависимостей C / C ++ из AAR
- Символика для собственных отчетов о сбоях
Оптимизировать
- Улучшения пользовательского интерфейса системной трассировки
- Автономные профилировщики
- Профилировщик встроенной памяти
Эти материалы не спонсируются и не связаны с Unity Technologies или ее аффилированными лицами.«Unity» является товарным знаком или зарегистрированным товарным знаком Unity Technologies или ее дочерних компаний в США и других странах.
Автор: Скотт Свартоут, менеджер по продукту
Сегодня мы рады выпустить стабильную версию Android Studio 4.1 с набором функций, предназначенных для распространенных вариантов использования редактирования, отладки и оптимизации. Основной темой этого выпуска было повышение производительности при использовании библиотек Android Jetpack, набора библиотек Android, помогающих разработчикам следовать передовым методам и быстрее писать код.На основании ваших отзывов мы внесли ряд улучшений в редактирование кода с интеграцией IDE для популярных библиотек Android.
Некоторые особенности Android Studio 4.1 включают новый инспектор базы данных для запроса базы данных вашего приложения, поддержку навигации по проектам, в которых используется Dagger или Hilt для внедрения зависимостей, а также улучшенная поддержка машинного обучения на устройстве с поддержкой моделей TensorFlow Lite в проектах Android. Мы также обновили «Применить изменения», чтобы ускорить развертывание.Основываясь на ваших отзывах, мы внесли несколько изменений, чтобы помочь разработчикам игр с новым встроенным профилировщиком памяти и автономными инструментами профилирования.
Качество продукции продолжает оставаться в центре внимания нашей команды, и мы много работали над отслеживанием ошибок и проблем с производительностью. Мы слышали от многих разработчиков, что им нравится повышенное внимание к повышению производительности и надежности, поэтому мы рады сообщить, что в течение этого цикла выпуска мы исправили 2370 ошибок и закрыли 275 общедоступных проблем. Мы по-прежнему стремимся поддерживать высокое качество, поскольку знаем, что это ключ к продуктивности вашего разработчика.
Спасибо тем, кто дал свой ранний отзыв в предварительных выпусках. Ваш отзыв помог нам доработать и улучшить функции Android Studio 4.1. Если вы готовы к следующему стабильному выпуску и хотите использовать новый набор функций повышения производительности, Android Studio 4.1 готова к загрузке, чтобы вы могли начать работу.
Ниже приведен полный список новых функций в Android Studio 4.1, организованный по основным направлениям разработки.
Конструкция
Обновления компонентов Material Design
Шаблоны Android Studio в диалоговом окне создания нового проекта теперь используют компоненты дизайна материалов (MDC) и по умолчанию соответствуют обновленным рекомендациям по темам и стилям.Эти изменения упростят использование рекомендованных шаблонов стилей материалов и поддержат современные функции пользовательского интерфейса, такие как темные темы.
Обновления компонентов дизайна материалов в шаблонах проектов
Обновления включают:
- MDC : проекты зависят от
com.google.android.material: material
в build.gradle. Базовые темы приложений используютTheme.MaterialComponents. *
родителей и переопределяют обновленный цвет MDC и атрибуты «on». - Цветовые ресурсы : Цветовые ресурсы
цветов.xml
используйте буквальные имена (например,purple_500
вместоcolorPrimary
). - Ресурсы темы : ресурсы темы находятся в
themes.xml
(вместоstyles.xml
) и используют именаTheme.
. - Темная тема : базовые темы приложений используют
DayNight
родителей и разделены между res / values и res / values-night. - Атрибуты темы : ресурсы цвета упоминаются как атрибуты темы (например,
? Attr / colorPrimary
) в макетах и стилях, чтобы избежать жестко заданных цветов.
Разработка
Инспектор базы данных
Мы хотели упростить проверку, запрос и изменение баз данных вашего приложения с помощью нового инспектора баз данных. Для начала разверните свое приложение на устройстве с API уровня 26 или выше и выберите View> Tool Windows> Database Inspector в строке меню. Независимо от того, использует ли ваше приложение библиотеку Jetpack Room или версию SQLite для платформы Android напрямую, теперь вы можете легко проверять базы данных и таблицы в своем запущенном приложении или выполнять пользовательские запросы.
Поскольку Android Studio поддерживает активное соединение, пока вы проверяете свое приложение, вы также можете изменять значения с помощью инспектора базы данных и видеть эти изменения в своем запущенном приложении. Если вы используете библиотеку сохраняемости Room, Android Studio также размещает кнопки запуска рядом с каждым запросом в редакторе кода, чтобы помочь вам быстро выполнять запросы, которые вы определяете в аннотациях @Query. Учить больше
Проверяйте, запрашивайте и изменяйте базы данных вашего приложения с помощью Database Inspector
Запуск эмулятора Android прямо в Android Studio
Теперь вы можете запустить эмулятор Android прямо в Android Studio.Используйте эту функцию для экономии места на экране, для быстрой навигации между эмулятором и окном редактора с помощью горячих клавиш, а также для организации рабочего процесса IDE и эмулятора в одном окне приложения. Вы можете управлять снимками и обычными действиями эмулятора, такими как вращение и создание снимков экрана из Studio, но для доступа к полному набору параметров по-прежнему требуется запуск стабильного эмулятора. Вы можете отказаться от использования этой функции, перейдя в File → Settings → Tools → Emulator → Launch in Tool Window.
Запустите эмулятор Android в Android Studio
Кинжал Навигационная поддержка
Dagger — популярная библиотека для внедрения зависимостей на Android. Android Studio упрощает переход между кодом, относящимся к Dagger, за счет предоставления новых действий с полями и расширенной поддержки в окне «Поиск использования». Например, щелкнув действие с желобом рядом с методом, который использует данный тип, вы перейдете к провайдеру этого типа. И наоборот, щелкнув действие с желобом, вы перейдете туда, где тип используется в качестве зависимости.Android Studio также поддерживает действия навигации для зависимостей, определенных с помощью библиотеки Jetpack Hilt. Учить больше.
Перемещение между кодом, связанным с Dagger, с помощью действий с желобом
Используйте модели TensorFlow Lite
Разработчики Android используют машинное обучение, чтобы создавать инновационные и полезные приложения. TensorFlow Lite — популярная библиотека для написания моделей мобильного машинного обучения, и мы хотели упростить импорт этих моделей в приложения для Android.Подобно привязке представлений, Android Studio генерирует простые в использовании классы, поэтому вы можете запускать свою модель с меньшим количеством кода и большей безопасностью типов. Текущая реализация привязки моделей машинного обучения поддерживает модели классификации изображений и передачи стилей при условии, что они дополнены метаданными.
Чтобы просмотреть сведения об импортированной модели и получить инструкции по ее использованию в приложении, дважды щелкните файл модели .tflite
в своем проекте, чтобы открыть страницу средства просмотра модели. Учить больше.
Просмотр метаданных модели TensorFlow Lite в Android Studio 4.1
Сборка и тестирование
Эмулятор
Android — опора складных шарниров
Android Studio
Помимо недавно добавленной поддержки тестирования сотовой связи 5G, мы добавили поддержку складных устройств в эмуляторе Android. С помощью эмулятора Android 30.0.26 и более поздних версий вы можете настраивать складные устройства с различными конструкциями и конфигурациями складывания. Когда складное устройство настроено, эмулятор опубликует обновления датчика угла поворота и изменения положения, чтобы вы могли проверить, как ваше приложение реагирует на эти форм-факторы.См. Сообщение в блоге «Разработка для Android 11 с помощью эмулятора Android», чтобы узнать больше.
Применить изменения обновлений
Более быстрые сборки помогают разработчикам легче и быстрее вносить изменения в свои приложения. Чтобы помочь вам работать более продуктивно при итерации приложения, мы внесли несколько улучшений в функцию «Применить изменения» для устройств под управлением Android 11 или более поздних версий.
Мы вложили значительные средства в оптимизацию скорости итераций, разработав метод развертывания и сохранения изменений на устройстве без установки приложения.После первоначального развертывания последующие развертывания на устройствах Android 11 с использованием либо «Применить изменения кода», либо «Применить изменения и перезапустить действие» теперь выполняются значительно быстрее. Мы также добавили поддержку дополнительных изменений кода в Применить изменения. Теперь, если вы добавите метод, вы можете развернуть эти изменения в работающем приложении, щелкнув «Применить изменения кода» или «Применить изменения и перезапустить действие».
Экспорт зависимостей C / C ++ из AAR
В подключаемый модуль Android Gradle 4.0 добавлена возможность импорта пакетов Prefab в зависимости AAR.Мы хотели расширить возможности этой функции для поддержки совместного использования собственных библиотек. AGP версии 4.1 позволяет экспортировать библиотеки из внешней собственной сборки в AAR для проекта библиотеки Android. Чтобы экспортировать собственные библиотеки, добавьте следующее в блок android файла проекта библиотеки build.gradle
:
buildFeatures { prefabPublishing true } prefab { моя библиотека { заголовки "src / main / cpp / mylibrary / include" } myotherlibrary { заголовки "src / main / cpp / myotherlibrary / include" } }
Символика для собственных отчетов о сбоях
Когда в машинном коде происходит сбой или ANR, система создает трассировку стека, которая представляет собой моментальный снимок последовательности вложенных функций, вызванных в вашей программе до момента сбоя.Эти снимки могут помочь вам идентифицировать и исправить любые проблемы в источнике, но сначала они должны быть обозначены символами, чтобы преобразовать машинные адреса обратно в удобочитаемые имена функций.
Если ваше приложение или игра разрабатываются с использованием собственного кода, например C ++, теперь вы можете загружать файлы отладочных символов в Play Console для каждой версии вашего приложения. Play Console использует эти файлы символов отладки для обозначения трассировки стека вашего приложения, что упрощает анализ сбоев и ошибок ANR. Чтобы включить символы отладки в пакет приложений, добавьте следующую строку в сборку проекта .gradle
файл:
android.buildTypes.release.ndk.debugSymbolLevel = 'SYMBOL_TABLE'
Оптимизировать
Улучшения пользовательского интерфейса System Trace
В Android Studio 4.1 мы переработали System Trace — инструмент оптимизации, который позволяет в реальном времени отслеживать, как ваше приложение использует системные ресурсы. Мы упростили выбор трассировки с помощью режима выбора поля, добавили новую вкладку анализа и добавили дополнительные данные рендеринга кадров, чтобы помочь вам исследовать проблемы рендеринга в пользовательском интерфейсе вашего приложения.Учить больше.
Выбор рамки : в разделе «Потоки» теперь вы можете перетащить указатель мыши, чтобы выполнить выделение прямоугольником прямоугольной области, которую можно увеличить, нажав кнопку «Масштабировать к выделенному» в правом верхнем углу (или используйте сочетание клавиш M). . Когда вы перетаскиваете похожие потоки рядом друг с другом, вы можете выбрать несколько потоков, чтобы проверить их все сразу.
Используйте выделение прямоугольником, чтобы упростить выделение трасс.
Вкладка «Сводка» : На новой вкладке «Сводка» на панели «Анализ» отображаются:
- Совокупная статистика для всех наступлений определенного события, например, количество появлений и минимальная / максимальная продолжительность.
- Отследить статистику событий для выбранного события.
- Данные о распределении состояний потока.
- Наиболее длительные вхождения выбранного события трассировки.
Просмотр совокупной статистики на вкладке «Сводка»
Отображение данных : в разделе «Отображение» новые временные шкалы для SurfaceFlinger и VSYNC помогают исследовать проблемы отрисовки в пользовательском интерфейсе вашего приложения.
Автономные профилировщики
Теперь можно получить доступ к профилировщикам Android Studio в отдельном окне из основного окна Android Studio.Это полезно при оптимизации игр для Android, созданных с помощью других инструментов, таких как Unity или Visual Studio.
Чтобы запустить автономные профилировщики, сделайте следующее:
- Убедитесь, что профилировщики в Android Studio еще не запущены в вашей системе.
- Перейдите в каталог установки и перейдите в каталог bin:
Windows / Linux: <папка установки-студии> \ bin
macOS : <папка установки-студии> / Contents / bin
- В зависимости от вашей ОС запустите профилировщик
.exe
илиprofiler.sh
Автономный профилировщик позволит вам подключиться к эмулятору Android или любым подключенным устройствам.
Оптимизируйте свое приложение с помощью автономных профилировщиков Android Studio
Профилировщик встроенной памяти
Отслеживание использования собственной памяти важно для разработчиков игр и других разработчиков, использующих C ++, чтобы понять, как оптимизировать потребление памяти их приложением. Профилировщик памяти Android Studio теперь включает профилировщик встроенной памяти для приложений, развернутых на физических устройствах под управлением Android 10 или новее.Профилировщик собственной памяти отслеживает выделение / освобождение объектов в машинном коде за определенный период времени и предоставляет информацию об общих выделениях и оставшемся размере системной кучи.
Чтобы начать запись, щелкните Записать собственные выделения в верхней части окна «Профилировщик памяти»:
Просмотр распределения собственной памяти с помощью профилировщика собственной памяти
Напомним, что Android Studio 4.1 включает следующие новые улучшения и функции:
Типовой проект
- Обновления компонентов дизайна материалов
Разработка
- Инспектор базы данных
- Запуск эмулятора Android прямо в Android Studio
- Поддержка навигации Dagger
- Используйте модели TensorFlow Lite
Сборка и тестирование
- Эмулятор Android — Поддержка складных шарниров
- Применить изменения обновления
- Экспорт зависимостей C / C ++ из AAR
- Символика для собственных отчетов о сбоях
Оптимизировать
- Улучшения пользовательского интерфейса системной трассировки
- Автономные профилировщики
- Профилировщик встроенной памяти
Эти материалы не спонсируются и не связаны с Unity Technologies или ее аффилированными лицами.«Unity» является товарным знаком или зарегистрированным товарным знаком Unity Technologies или ее дочерних компаний в США и других странах.
Установка и настройка Android Studio в Windows
Android Studio — это официальная IDE (интегрированная среда разработки) для разработки приложений Android, основанная на программном обеспечении IntelliJ IDEA компании JetBrains. Android Studio предоставляет множество отличных функций, которые повышают производительность при создании приложений для Android, например:
- Смешанная среда, в которой можно разрабатывать для всех устройств Android
- Применить изменения для отправки изменений кода и ресурсов в работающее приложение без перезапуска приложения
- Гибкая система сборки на основе Gradle
- Быстрый и многофункциональный эмулятор
- Интеграция с GitHub и шаблоном кода, которая поможет вам разработать общие функции приложений и импортировать образец кода
- Обширные инструменты и фреймворки для тестирования
- Поддержка C ++ и NDK
- Встроенная поддержка Google Cloud Platform, упрощающая интеграцию Google Cloud Messaging и App Engine, а также многое другое.
Системные требования
- Microsoft Windows 7/8/10 (32-разрядная или 64-разрядная)
- Минимум 4 ГБ ОЗУ, рекомендуется 8 ГБ ОЗУ (плюс 1 ГБ для эмулятора Android)
- Доступно 2 ГБ минимум дискового пространства, рекомендуется 4 ГБ (500 МБ для IDE плюс 1,5 ГБ для Android SDK и образа системы эмулятора)
- Минимальное разрешение экрана 1280 x 800
Руководство по установке
Шаг 1: Перейдите по адресу this ссылка , чтобы получить исполняемый файл Android Studio или zip-файл.
Шаг 2: Нажмите кнопку Download Android Studio .
Установите флажок «Я прочитал и согласен с приведенными выше положениями и условиями», а затем нажмите кнопку загрузки.
Нажмите кнопку «Сохранить файл» в появившемся окне подсказки, и файл начнет загрузку.
Шаг 3: После завершения загрузки откройте файл из загрузок и запустите его. Появится следующее диалоговое окно.
Нажмите «Далее». В следующем запросе будет запрошен путь для установки. Выберите путь и нажмите «Далее».
Шаг 4: Начнется установка, и после ее завершения она будет такой, как на изображении, показанном ниже.
Нажмите «Далее».
Шаг 5: После нажатия « Finish » будет задан вопрос, нужно ли импортировать предыдущие настройки [если студия Android была установлена ранее] или нет.Лучше выбрать вариант «Не импортировать настройки».
Нажмите кнопку ОК .
Шаг 6: Это запустит Android Studio.
Тем временем он будет искать доступные компоненты SDK.
Шаг 7: После того, как он обнаружит компоненты SDK, он будет перенаправлен в диалоговое окно приветствия.
Щелкните Далее .
Выберите «Стандартный» и нажмите «Далее».Теперь выберите тему, будь то тема Light или Dark . Светлая тема называется IntelliJ , а темная тема — Darcula . Выбирайте по мере необходимости.
Нажмите кнопку Далее .
Шаг 8: Теперь пора загрузить компоненты SDK.
Нажмите «Готово». Компоненты начнут загружаться, пусть завершится.
Android Studio успешно настроена.Пришло время запускать и создавать приложения. Нажмите кнопку «Готово», чтобы запустить его.
Шаг 9: Щелкните Запустите новый проект Android Studio , чтобы создать новое приложение.
Чтобы запустить свое первое приложение для Android в Android Studio, вы можете обратиться к Запуск вашего первого приложения для Android.
Хотите более динамичную и конкурентную среду для изучения основ Android?
Щелкните здесь, чтобы перейти к уникальному руководству, составленному нашими экспертами с целью мгновенно подготовить вашу отрасль!
Добавьте Firebase в свой проект Android
Предварительные требования
Установить или обновить Android Studio
до последней версии.Убедитесь, что ваш проект соответствует этим требованиям:
- Целевой уровень API 16 (Jelly Bean) или
позже - Использует Gradle 4.1 или новее
- Использует
Jetpack (AndroidX),
что включает в себя выполнение следующих требований к версии:-
com.android.tools.build:gradle
v3.2.1 или более поздняя версия -
compileSdkVersion
28 или новее
-
- Целевой уровень API 16 (Jelly Bean) или
Настройте физическое устройство или воспользуйтесь
эмулятор для
запустите ваше приложение.
Обратите внимание, что SDK Firebase, зависящие от Google Play
сервисам требуется устройство или
эмулятор для установки сервисов Google Play.Войдите в Firebase, используя свой Google
учетная запись.
Если у вас еще нет проекта Android и вы просто хотите попробовать Firebase
продукта, вы можете загрузить один из наших примеров быстрого запуска.
Вы можете подключить свое приложение Android к Firebase, используя одно из следующих
варианты:
- Опция 1 : (рекомендуется) Используйте
Рабочий процесс настройки консоли Firebase. - Вариант 2 : Используйте Android Studio Firebase
Помощник (может потребоваться дополнительная настройка).
Вариант 1 : добавить Firebase с помощью консоли Firebase
Добавление Firebase в ваше приложение включает задачи как в консоли Firebase, так и в
в вашем открытом проекте Android (например, вы загружаете файлы конфигурации Firebase
с консоли, а затем переместите их в свой проект Android).
Шаг 1 : Создайте проект Firebase
Прежде чем вы сможете добавить Firebase в свое приложение для Android, вам необходимо создать Firebase
проект для подключения к вашему Android-приложению.Посещение
Изучите проекты Firebase, чтобы узнать больше о
Проекты Firebase.
Создать проект Firebase
В консоли Firebase нажмите Добавить проект , затем
выберите или введите Название проекта .Если у вас есть существующий проект Google Cloud, вы можете выбрать его из
раскрывающееся меню, чтобы добавить ресурсы Firebase в этот проект.(Необязательно) Если вы создаете новый проект, вы можете редактировать
ID проекта .Firebase автоматически присваивает уникальный идентификатор вашему проекту Firebase.
Посещение
Чтобы изучить, ознакомьтесь с проектами Firebase
о том, как Firebase использует идентификатор проекта.После того, как Firebase выделит ресурсы для вашего
Проект Firebase, вы не можете изменить свой идентификатор проекта.
Чтобы использовать конкретный идентификатор, вы должны отредактировать свой идентификатор проекта во время этого
шаг настройки.Щелкните Продолжить .
(необязательно) Настройте Google Analytics для своего проекта, что позволит вам
оптимальная работа с любым из следующих продуктов Firebase:При появлении запроса выберите использование существующего
Аккаунт Google Analytics
или создать новую учетную запись.
Если вы решили создать новую учетную запись, выберите свой
Местоположение отчета Google Analytics, затем примите данные.
настройки совместного использования и условия Google Analytics для вашего проекта.Вы всегда можете настроить Google Analytics позже в
Интеграции
вкладка ваших настроек Настройки проекта .Нажмите Создать проект (или Добавить Firebase , если вы используете
существующий проект Google Cloud).
Firebase автоматически выделяет ресурсы для вашего проекта Firebase. Когда
процесс завершится, вы попадете на страницу обзора вашей Firebase
проект в консоли Firebase.
Шаг 2 : Зарегистрируйте приложение в Firebase
Чтобы использовать Firebase в своем приложении для Android, вам необходимо зарегистрировать свое приложение на своем
Проект Firebase. Регистрацию вашего приложения часто называют «добавлением» вашего приложения к вашему
проект.
Примечание: Посетите Общие сведения о проектах Firebase
чтобы узнать больше о передовых методах и рекомендациях по добавлению приложений в
Проект Firebase, в том числе о том, как обрабатывать несколько вариантов сборки.
Зайдите в консоль Firebase.
В центре страницы обзора проекта щелкните значок Android
(plat_android)
или Добавьте приложение , чтобы запустить рабочий процесс настройки.Введите имя пакета вашего приложения в поле Имя пакета Android .
Что такое пакет и где его найти?
Упаковка
название
однозначно идентифицирует ваше приложение на устройстве и в магазине Google Play.Имя пакета часто называют идентификатором приложения .
Найдите имя пакета вашего приложения в файле Gradle вашего модуля (уровня приложения),
обычноapp / build.gradle
(пример имени пакета:
com.yourcompany.yourproject
).Имейте в виду, что значение имени пакета чувствительно к регистру и не может быть
изменилось для этого приложения Firebase Android после его регистрации в вашем
Проект Firebase.
Обязательно введите имя пакета, которым является ваше приложение.
на самом деле использую. Значение имени пакета чувствительно к регистру и не может быть
изменилось для этого приложения Firebase Android после его регистрации в вашем
Проект Firebase.(Необязательно) Введите другую информацию о приложении:
Имя приложения и Сертификат подписи отладки SHA-1 .Как выглядят ник приложения и
Сертификат подписи отладки SHA-1 используется в Firebase?Нажмите Зарегистрируйте приложение .
Шаг 3 : Добавьте файл конфигурации Firebase
Добавьте файл конфигурации Firebase Android в свое приложение:
Нажмите Загрузите google-services.json , чтобы получить Firebase Android
config (google-services.json
).Переместите файл конфигурации в каталог модуля (уровня приложения) вашего приложения.
Что вам нужно знать об этом файле конфигурации?
Конфигурационный файл Firebase содержит уникальные, но не секретные идентификаторы для
ваш проект.Чтобы узнать больше об этом файле конфигурации, посетите
Понять Firebase
Проекты.Вы можете скачать конфигурацию Firebase
файл
снова в любое время.Убедитесь, что к имени файла конфигурации не добавлены дополнительные символы,
как(2)
.
Чтобы включить продукты Firebase в своем приложении, добавьте google-services
плагин
в ваши файлы Gradle.В файле Gradle корневого уровня (уровня проекта) (
build.gradle
), добавить
rules, чтобы включить плагин Google Services Gradle. Убедитесь, что у вас есть
Репозиторий Google Maven также.buildscript { репозитории { // Убедитесь, что у вас есть следующая строка (если нет, добавьте ее): google () // репозиторий Google Maven } dependencies { // ... // Добавьте следующую строку: classpath 'com.google.gms: google-services: 4.3.8' // подключаемый модуль служб Google } } allprojects { // ... репозитории { // Убедитесь, что у вас есть следующая строка (если нет, добавьте ее): google () // репозиторий Google Maven //... } }
В вашем модуле (уровне приложения) файл Gradle (обычно
app / build.gradle
),
примените плагин Google Services Gradle:применить плагин: 'com.android.application' // Добавьте следующую строку: применить плагин: 'com.google.gms.google-services' // плагин служб Google android { // ... }
Шаг 4 : Добавьте SDK Firebase в свое приложение
Использование
Firebase Android BoM, объявить
зависимости для
Продукты Firebase, которые вам нужны
для использования в вашем приложении.Объявите их в своем
Модуль (уровень приложения) Файл Gradle
(обычноapp / build.gradle
).Аналитика включена
Ява
dependencies { // ... // Импортируем BoM Firebase платформа реализации ('com.google.firebase: firebase-bom: 28.0.1') // При использовании BoM вы не указываете версии в зависимостях библиотеки Firebase // Объявить зависимость для Firebase SDK для Google Analytics реализация 'ком.google.firebase: firebase-analytics ' // Объявите зависимости для любых других желаемых продуктов Firebase // Например, объявить зависимости для Firebase Authentication и Cloud Firestore реализация 'com.google.firebase: firebase-auth' реализация 'com.google.firebase: firebase-firestore' }
Котлин + KTX
dependencies { // ... // Импортируем BoM Firebase платформа реализации ('com.google.firebase: firebase-bom: 28.0.1') // При использовании BoM вы не указываете версии в зависимостях библиотеки Firebase // Объявить зависимость для Firebase SDK для Google Analytics реализация 'ком.google.firebase: firebase-analytics-ktx ' // Объявите зависимости для любых других желаемых продуктов Firebase // Например, объявить зависимости для Firebase Authentication и Cloud Firestore реализация 'com.google.firebase: firebase-auth-ktx' реализация 'com.google.firebase: firebase-firestore-ktx' }
Используя
Firebase Android BoM,
ваше приложение всегда будет использовать совместимые версии Firebase Android
библиотеки.Аналитика отключена
Ява
dependencies { //... // Импортируем BoM Firebase платформа реализации ('com.google.firebase: firebase-bom: 28.0.1') // При использовании BoM вы не указываете версии в зависимостях библиотеки Firebase // Объявить зависимости для желаемых продуктов Firebase // Например, объявить зависимости для Firebase Authentication и Cloud Firestore реализация 'com.google.firebase: firebase-auth' реализация 'com.google.firebase: firebase-firestore' }
Котлин + KTX
dependencies { //... // Импортируем BoM Firebase платформа реализации ('com.google.firebase: firebase-bom: 28.0.1') // При использовании BoM вы не указываете версии в зависимостях библиотеки Firebase // Объявить зависимости для желаемых продуктов Firebase // Например, объявить зависимости для Firebase Authentication и Cloud Firestore реализация 'com.google.firebase: firebase-auth-ktx' реализация 'com.google.firebase: firebase-firestore-ktx' }
Используя
Firebase Android BoM,
ваше приложение всегда будет использовать совместимые версии Firebase Android
библиотеки.Синхронизируйте приложение, чтобы убедиться, что все зависимости имеют необходимые версии.
Получение сбоя сборки при вызове настраиваемой поддержки и включение
обессахаривание? Вот как это исправить.Для сборок
Gradle, в которых используется плагин Android Gradle (AGP) v4.2 или более ранней версии, необходимо
включить поддержку Java 8. В противном случае эти Android-проекты получат сборку
сбой при добавлении Firebase SDK.Чтобы исправить эту ошибку сборки, вы можете выбрать один из двух вариантов:
- Добавьте перечисленные
compileOptions
из сообщения об ошибке в свой
app-levelbuild.gradle
файл. - Увеличьте значение
minSdkVersion
для вашего проекта Android до 26 или выше.
Подробнее об этой ошибке сборки см.
этот FAQ.- Добавьте перечисленные
Вот и все! Вы можете пропустить вперед, чтобы ознакомиться с рекомендуемыми
следующие шаги.
Если у вас возникли проблемы с настройкой, посетите
Устранение неполадок Android и часто задаваемые вопросы.
Вариант 2 : добавить Firebase с помощью Firebase Assistant
Регистры Firebase Assistant
ваше приложение с проектом Firebase и добавляет необходимые файлы Firebase, плагины,
и зависимости от вашего проекта Android — все из Android Studio!
Откройте свой проект Android в Android Studio, затем убедитесь, что вы
с использованием последних версий Android Studio и Firebase Assistant:- Windows / Linux: Справка> Проверить обновления
- macOS: Android Studio> Проверить наличие обновлений
Откройте Firebase Assistant: Инструменты> Firebase .
На панели Assistant выберите продукт Firebase, который нужно добавить в приложение.
Разверните его раздел, затем щелкните ссылку учебника.
(например, Analytics> Зарегистрировать событие Analytics ).Нажмите Подключиться к Firebase , чтобы подключить свой проект Android к Firebase.
Что делает этот рабочий процесс?
Этот рабочий процесс автоматически создает новое приложение Firebase для Android, используя
ваше приложение
имя пакета.Вы можете создать это новое приложение Firebase для Android в любом существующем
Проект Firebase или новый проект.Вот несколько советов по настройке проекта Firebase:
Посетить
Понять проекты Firebase
чтобы узнать больше о передовых методах и рекомендациях по добавлению
приложений в проект Firebase, в том числе о том, как обрабатывать несколько сборок
варианты.Если вы создаете новый проект, настоятельно рекомендуем вам настроить
Google Analytics для вашего проекта, который позволяет вам
оптимальный опыт использования многих продуктов Firebase.
Этот рабочий процесс также добавляет Android вашего проекта Firebase.
файл конфигурации (google-services.json
) в модуль
(на уровне приложения) каталог вашего приложения.Примечание. Конфигурационный файл Firebase содержит уникальные, но не секретные
идентификаторы вашего проекта.
Посетить Общие сведения о Firebase
Проекты для изучения
подробнее об этом файле конфигурации.
Нажмите кнопку, чтобы добавить желаемый продукт Firebase (например,
Добавьте аналитику в свое приложение ().
Синхронизируйте приложение, чтобы убедиться, что все зависимости имеют необходимые версии.
На панели Assistant следуйте оставшимся инструкциям по настройке для вашего
выбран продукт Firebase.Добавьте столько других продуктов Firebase, сколько хотите, через Firebase
Помощник!
Вы используете Котлин?
Можно использовать альтернативу
Расширения Kotlin (KTX)
библиотеки, которые позволяют писать красивый и идиоматичный код Kotlin.
Хотите более простой способ управления версиями библиотек?
Вы можете использовать
Firebase Android BoM для управления
версии вашей библиотеки Firebase и убедитесь, что ваше приложение всегда использует
совместимые версии библиотек.
Вот и все! Обязательно ознакомьтесь с рекомендуемыми
следующие шаги.
Если у вас возникли проблемы с настройкой, посетите
Устранение неполадок Android и часто задаваемые вопросы.
Доступные библиотеки
В этом разделе перечислены продукты Firebase, поддерживаемые для Android и их Gradle.
зависимости.Узнайте больше об этих библиотеках Firebase для Android:
Обратите внимание, что при использовании Firebase Android BoM,
вы не указываете отдельные версии библиотеки при объявлении библиотеки Firebase
зависимости в build.gradle
.
Библиотека Firebase для Android firebase-core
больше не
нужный. Этот SDK включает Firebase SDK для Google Analytics.
Теперь, чтобы использовать Analytics или продукт, который рекомендует добавить Analytics
(см. таблицу ниже), вам необходимо явно объявить
Зависимость от аналитики:
ком.google.firebase: firebase-analytics
или
com.google.firebase: firebase-analytics-ktx
.
Следующие шаги
Добавьте в приложение службы Firebase:
Подробнее о Firebase:
.