Андроид студио как пользоваться: Как пользоваться Android Studio | Losst

Содержание

Комфортная работа с 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.

Итог

Так или иначе, не все перечисленные пункты обязательны к применению. Старайтесь решать проблемы по мере их обнаружения.

Время- самый ценный ресурс. Надеюсь, этот материал поможет Вам более продуктивно его расходовать.

Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.

Для того, чтобы тестировать приложения, нам понадобится Android Virtual Device (AVD). Это эмулятор Android-смартфона, на который мы сможем устанавливать созданные нами приложения, и запускать их там. Давайте его создадим.


 

Урок обновлен 04.06.2017

На прошлом уроке мы установили среду разработки и Android SDK.

Теперь наконец-то мы можем создать наше первое приложение и посмотреть, как оно работает.

Чтобы создать приложение, нам нужно в Android Studio создать проект. При создании проекта, в нем создается модуль. В этом модуле мы рисуем экраны приложения и пишем код. И при запуске этого модуля мы получаем готовое приложение. Поэтому модуль по сути и является приложением. А проект — контейнер для модуля.

Т.е. в самом простом случае структура проекта такова:

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

В этом случае: один проект = одно Android-приложение (один модуль).

 

Но в одном проекте может быть несколько модулей. Да и проектов можно создать несколько.

Здесь в первом проекте созданы два модуля, а во втором проекте – три модуля.

При запуске какого-либо проекта необходимо будет указать, какой именно модуль вы хотите запустить. И каждый модуль является отдельным Android-приложением.

Т.е. в этом случае: один проект = несколько Android-приложений (несколько модулей).

 

Пока не будем вдаваться в детали, какая из предложенных схем лучше и удобнее. Для прохождения уроков можно создать один проект, и в нем создавать модули для каждого урока. Либо можно создавать отдельный проект, например, на каждые 10 уроков. Можно вообще создавать отдельный проект на каждый урок.

Я думаю, что мы начнем с варианта: один проект под все уроки. А со временем, как освоитесь, сами решите, какой вариант вам удобнее.

 

Давайте создадим проект. Открываем Android Studio. Ярлык для запуска должен быть в меню пуск. Либо вы можете открыть папку, куда устанавливали Android Studio на прошлом уроке. В подпапке bin должен быть EXE-файл.

 

Открылась среда разработки. Жмем Start a new Android Studio project.

 

Появилось окно создания проекта. Давайте заполнять.

 

Application name – имя проекта. Оно будет отображаться в списке проектов при открытии Android Studio. Напишем здесь Android lessons (т.е. Android уроки).

Company Domain – имя сайта, пишем startandroid.ru.

Package name – это понятие из Java, подробно можно посмотреть здесь. Вкратце – это префикс для имени классов нашего приложения. Как видите, пакет автоматически составился из имени сайта и имени проекта. Его всегда можно отредактировать вручную нажав на ссылку edit справа.

Project location – папка на компе, где будут находиться все файлы проекта. Мы на прошлом уроке создавали папку android, куда установили Android Studio и SDK. Там же создайте папку AndroidStudioProjects – в этой папке будем хранить все проекты Android Studio. И в ней создайте папку Androidlessons для нашего текущего проекта.

Скорее всего сейчас ничего не понятно. Это нормально, не волнуйтесь. В каждом уроке я буду подсказывать, что заполнять в этих полях, и со временем понимание придет.

Жмем Next

 

Визард спрашивает под какую платформу будем кодить и Minimum SDK (минимальная версия Android, на которой можно будет запустить приложение). Оставляем все как есть.

Жмем Next

 

Визард может подгрузить необходимые ему компоненты.

Жмем Next

 

 

Далее выберите Empty Activity.

Жмем Next

 

Здесь ничего не меняем. Пока что нам нет необходимости знать, зачем все это нужно.

Жмем Finish.

 

Проект создается

 

Далее открывается студия. После открытия, она может показывать подсказки.

Если они вам не нужны, выключайте чекбокс. 

Жмем Close

 

Студия открылась

Но снизу виден прогресс бар. Это означает, что еще выполняются какие то действия, и надо подождать.

 

И в итоге проект открывается

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

 

В левой части мы видим слово app – это модуль. По умолчанию при создании проекта создается модуль app. Нам он не интересен, т.к. мы будем создавать свои модули. Но пусть он остается, удалять его я вам не советую. Тот визард, который мы только что прошли при создании проекта, в основном касался как раз этого модуля.

 

Итак, проект создан. Теперь создадим в проекте свой модуль. Повторюсь, что почти для каждого урока мы будем создавать модуль в этом проекте. Сейчас создадим модуль (приложение) для этого текущего урока. Эта процедура будет частично похожа на создание проекта, но с небольшими отличиями.

Чтобы создать модуль – в меню выбираем File -> New -> New module

Тип модуля выбираем Phone and Tablet Application

Жмем Next

 

Заполняем поля

Application/Library name – непосредственно имя приложения, которое будет отображаться в списке приложений в смартфоне. Пишем тут FirstProject.

Module name – это название модуля. Т.е. это название будет отображаться слева в списке модулей, там, где сейчас есть app. Давайте придумаем шаблон для названия модулей.

Например: p<номер урока(000)><номер проекта в уроке(0)>.

На номер урока выделим три цифры, на номер проекта – одну. Также, будем добавлять название приложения — FirstProject. И все это напишем маленькими буквами и без пробелов. Получится такое имя модуля: p0031firstproject.

Package name – имя пакета отредактируем вручную, нажав edit справа. Оставим там ru.startandroid и добавим точку и имя модуля.

Minimum SDK оставляйте без изменений.

Жмем Next

 

Далее выберите Empty Activity.

 Жмем Next

 

Здесь ничего не меняем

 Жмем Finish и ждем.

 

Через какое-то время модуль будет создан и мы увидим его в списке слева. Это p0031firstproject — значение, которое мы указали в поле Module name.

Можно раскрыть этот модуль и посмотреть его содержимое.

Вкратце пройдемся по интересующим нас элементам

Файл AndroidManifest.xml – манифест или конфиг-файл приложения

В папке java и ее подпапках будет весь, написанный нами, код приложения

Папка res используется для файлов-ресурсов различного типа.

 

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

 

Давайте наконец-то запустим наше первое приложение! Для этого надо выбрать соответствующий ему модуль в выпадающем списке сверху

И жмем (чуть правее списка) кнопку с зеленым треугольником (либо комбинацию Shift+F10).

 

Чтобы запустить приложение, нужно какое-нить реальное Android-устройство или эмулятор.

У нас пока не на чем запускать приложение. Можете подключить шнуром реальное устройство, и оно здесь появится (если не возникнет проблем с драйверами или настройками устройства).

Либо можно создать эмулятор. Жмем Create New Virtual Device

Здесь можно выбрать форм-фактор устройства. Оставляйте то, что выбрано по умолчанию.

Жмем Next

 

Далее переходите на вкладку x86 Images и там должен быть образ, в названии которого нет слова Download. Т.е. он уже загружен и мы можем его использовать.

В данном случае на эмулятор будет установлен Android версии 7.1.1. Если вам нужна другая версия, то загружайте ее и используйте.

Жмем Next

 

Далее нам предлагают указать название эмулятора и поменять его настройки. Оставляем все как есть 

 Жмем Finish

 

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

Жмем Ok

 

Через какое-то время (вплоть до нескольких минут) появится эмулятор

 

 

И в нем начнет запускаться Android

 

И в итоге запустится наше приложение

Название в заголовке — FirstProject. Именно его мы указывали при создании приложения.

Т.е. вы создали и запустили ваше первое приложение, с чем вас и поздравляю) Впереди сотни таких приложений и запусков.

 

Если эмулятор не показал ваше приложение, то убедитесь, что Android Studio «видит» этот эмулятор. Для этого снизу слева нажмите вкладку Android Monitor

И в списке устройств чуть выше должен быть виден эмулятор Nexus_5X_API_25

Если эмулятор есть в списке, а приложение не отобразилось, то попробуйте снова запустить приложение, нажав зеленый треугольник (Shift+F10).

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

 

 

Этот урок был обновлен в июне 2017. А многие последующие уроки были написаны аж в 2011-2012. Поэтому скриншоты в них могут отличаться от ваших. Это нормально.

Также, должен предупредить, что я делал и тестировал первые уроки под Android версии 2.3.3. Это указано в начале уроков. Но это вовсе не означает, что уроки уже безнадежно устарели и читать их смысла нет никакого. Код под 2.3.3 и 7.1.1 в подавляющем большинстве случаев абсолютно один и тот же. В новых версиях Android добавляются новые компоненты, а прошлые обычно остаются без изменений и достаточно редко меняются или объявляются устаревшими.

 

P.S.

Если у вас открыт проект и вы хотите снова увидеть стартовое окно Android Studio, в меню выберите File > Close Project.

Вы увидите стартовое окно, слева будет список ваших проектов.

 

P.S.S.

Если у вас имя пользователя русскими буквами, то могут возникнуть проблемы. Как их решить, можно прочесть на форуме в ветке этого урока.

Если строка выше не помогла, то попробуйте еще такое решение.

 

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


Присоединяйтесь к нам в Telegram:

— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование 

— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме 


Тестирование Android Studio: запуск приложения на телефоне

Статья содержит ответы на вопросы, как правильно провести Android Studio тестирование на реальном устройстве, какие при этом используются настройки и команды для разных девайсов.

Тестирование Android Studio: запуск приложения на телефоне

Разработка мобильного приложения предполагает процесс тестирования на работающем гаджете. Для Android Studio отладка на реальном устройстве возможна несколькими способами. Это можно сделать при помощи:

  • эмулятора;
  • сетевого подключения TCP,IP;
  • USB.

Чтобы провести Android Studio отладка по USB, подключаются соответствующие драйвера. Они первыми установятся автоматически после запуска на ПК.

Android предлагает разработчикам редактирование языка программирования (Java, C++, Kotlin), является компилятором создания АРК-файлов. Включает дополнительные инструменты:

  • Android Device Monitor;
  • AVD Manager;
  • ADB и др. 

android studio запуск приложения на телефоне

Что означает ADB для Android studio

Android Debug Bridge или adb – утилита командной строки. С ее помощью проводится Android Studio тестирование на реальном устройстве:

  • копируются файлы на смартфон и обратно;
  • удаляются приложения;
  • выполняются опции резервного копирования;
  • восстановление приложений на устройствах.

Работает на модели клиент-сервер. Утилита размещается на компьютере в каталогах на диске С.

Adb устанавливается также через Wi-Fi. Для этого обеспечивается подключение устройств к одному Wi-Fi, иначе они не смогут распознать друг друга. Опция разрешает Android Studio запуск приложения на телефоне с операционной системой Android.

Android Debug Bridge – консольное приложение для использования в тестовой среде на мобильных гаджетах. Специализированные команды помогают взаимодействовать с устройствами по специализированным функциям.

android studio отладка по usb

Настройка Android-устройства для тестирования с ADB

После установки Android Studio на устройство применяется инструментарий SDK. Далее в настройках приспособления проводятся изменения, которые отличаются из-за разных моделей гаджета, производителя и версии программного обеспечения. Действия, как в Андроид Студио подключить устройство, сводятся к обобщенным этапам:

  1. Перейти в настройках телефона или планшета Android в раздел «Об устройстве»;
  2. Нажать на дисплее семь раз по номеру билда;
  3. В части «Опции разработчика» активируется функция «Отладка по USB».

android studio отладка на реальном устройстве

    Android требует, чтобы приложение Android Studio получило разрешение прописать USB. Утилита располагает опциями:

    • формировать отчеты, в которых указываются произошедшие ошибки;
    • управлять разрешениями на доступ к устройству;
    • тестировать процессы игры и приложения;
    • определять подключенные к ПК устройства, которые готовы к работе с ADB.

    android studio тестирование на реальном устройстве

    Настройка ADB на Windows

    Настройка ADB под Windows прописывается с любой директории ПК. Для использования функций на компьютере устанавливается SDK. Вес установочного пакета составляет 9 Мб. Он поддерживает все версии Windows. Инструмент автоматически устанавливает драйвера, которые необходимы для тестирования на устройстве. Набор для разработки программного обеспечения выпускается компанией Google. Отправляет команды терминала из внешних источников на телефон. Запуск происходит в Андроид Студио на телефоне с помощью Run App. После этого открывается окно выбора устройства, и запускается приложение.

    android studio как запустить проект на телефоне

    Проверяем настройки ADB для тестирования

    Проверка настроек проводится с помощью командной строки Windows. После запуска в поле для ввода поиска программ и файлов набирается строка «adb devices». В программе отразится перечень устройств, которые подключены к компьютеру. Если на экране появится непустой список, значит, настройки подключены правильно, и ADB работает в режиме реального времени.

    Тестирование приложения с помощью реального устройства

    Для тестирования:

    1. В Android Studio открывается приложение;
    2. Нажимается треугольник зеленого цвета;
    3. В раскрывшемся окне выбирается название телефона.

    запуск кода в андроид студио на телефоне

      Инструментарий SDK устанавливает и запускает программу каждый раз при компиляции. Система показывает диалоговое окно с вопросом о необходимости приема ключей.

      Что делать, если Android Studio не видит телефон Samsung? Настроить приложение, чтобы оно обнаружило устройство, использовать утилиту adb. Указанные способы рассказывают о Android Studio, показывают, как запустить проект на телефоне.

      Android Studio: особенности, достоинства и недостатки

      Установка Android Studio. Создание проекта. Файлы проекта. Визуальный редактор. XML. Использование GRADLE. Сборка и отладка. ADV Manager. SDK Manager. Упаковка APK. Отзывы о программе.

      Android Studio – программа, являющаяся средой разработки приложений для мобильной платформы Android. Прямой конкурент самой популярной утилиты для создания софта под Android – Eclipse.

      Android Studio превосходит конкурента по многим параметрам, к которым можно отнести:

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

      Во время создания приложений и утилит для операционной системы Android, пользователь программного обеспечения может наблюдать за изменениями в проекте, в режиме реального времени.

      Android Studio – универсальная среда разработки, так как позволяет оптимизировать работу будущих приложения для работы не только на смартфонах, но и на планшета, портативных ПК, которые работают на основе рассматриваемой операционной системы.

      Особенности Android Studio

      В программу встроен эмулятор, позволяющий проверить корректную работу приложения на устройствах с разными экранами, с различными соотношениями сторон. Особенно актуальной эта функция стала после входа в тренды смартфонов, в которых установлены экраны с соотношением сторон 18:9.

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

      Среда разработки для приложений Android Studio последней версии стала по настоящему удобной даже для начинающих разработчиков. В программе реализованы все современные средства для упаковки кода, его маркировки. Востребованная многими создателями ПО функция Drag-n-Drop, облегчающая перенос компонентов в среду разработки непосредственно.

      Локализация приложений становится существенно проще с функцией SDK, которая также входит в перечень достоинств Android Studio.

      Связь с целевой аудиторией приложения после его релиза поможет реализовать инструмент от компании Google – Google Cloud Messaging.

      Достоинства утилиты

      • среда разработки поддерживает работу с несколькими языками программирования, к которым относятся самые популярные – C/C++, Java.
      • редактор кода, с которым удобно работать;
      • позволяет разрабатывать приложения не только для смартфонов/планшетов, а и для портативных ПК, приставок для телевизоров Android TV, устройств Android Wear, новомодных мобильных устройств с необычным соотношением сторон экрана;
      • тестирование корректности работы новых игр, утилит, их производительности на той или иной системе, происходит непосредственно в эмуляторе;
      • рефакторинг уже готового кода;
      • достаточно большая библиотека с готовыми шаблонами и компонентами для разработки ПО;
      • разработка приложения для Android N – самой последней версии операционной системы;
      • предварительная проверка уже созданного приложения на предмет ошибок в нем;
      • большой набор средств инструментов для тестирования каждого элемента приложения, игры;
      • для неопытных/начинающих разработчиков специально создано руководство по использованию Android Studio, размещенное на официальном сайте утилиты.

      Недостатки/спорные моменты

      Несмотря на наличие встроенного Android-эмулятора в самой среде разработки, с тестированием новоразработанного приложения могут возникнуть трудности. Так, для его запуска необходима достаточно внушительная по производительности аппаратная основа ПК, на котором планируется тестирование.

      Еще один недостаток — это невозможность написать серверные проекты на языке Java для ПК, Android устройств.

      Выводы

      ПО для разработки утилит и приложения на Android действительно создает приятное первое впечатление. Android Studio оценит как опытный разработчик, так и начинающий, только осваивающий азы. Богатый набор инструментов, гибкость в разработке, возможности тестирования, поддержка нескольких языков программирования и встроенный эмулятор делают утилиту одной из лучших в своей нише.

      Даже если вы уже определились с программой, в которой планируете разрабатывать свои новые проекты, попробуйте Android Studio.

      Вероятно, простота, совмещенная с широкими возможностями сделают свое дело. Кроме этого, работая именно с этим ПО, вы открываете для себя возможность создания приложений под самую новую платформу: Android N.

      что вы можете сделать с помощью этой программы

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

      Android Studio играет ключевую роль в разработке приложений для Android. Сегодня мы расскажем вам все, что нужно знать об этой программе и какую важность она имеет.

      Что такое Android Studio?

      Android Studio: что вы можете сделать с помощью этой программы

      Android Studio – это среда разработки, программное обеспечение, в котором есть инструменты и сервисы для создания новых Android приложений. Многие из существующих операционных систем имеют такую среду разработки.

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

      Те, кто хочет использовать Android Studio, могут загрузить его на свой компьютер под управлением Windows, MacOS, ChromeOS или Linux, чтобы иметь возможность работать над своим приложением. Данный инструмент поддерживается всеми популярными ОС, поэтому ни один разработчик не столкнется с проблемами доступа к этой среде.

      Как скачать Android Studio

      Android Studio: что вы можете сделать с помощью этой программы

      Те, кто заинтересован в использовании этой среды разработки, могут скачать и установить ее на своем компьютере. Кроме того, загрузка всегда бесплатна, что несомненно, является плюсом для тех, кто хочет использовать этот инструмент на своем компьютере.

      Скачать Android Studio можно по этой ссылке.

      После того, как вы скачаете файл, вам нужно будет открыть его на компьютере. Установка очень проста и похожа на установку любой другой программы на компьютер. На странице загрузки мы можем найти все версии для разных операционных систем.

      Что вы можете сделать с Android Studio

      Android Studio: что вы можете сделать с помощью этой программы

      Android Studio разработана таким образом, чтобы мы могли выполнять несколько действий, все из которых связаны с созданием приложений для Android. Вот почему многие видят в этой программе важный инструмент для разработчиков. Мы можем использовать его для разных вещей:

      1. Создание приложения. Это основная цель, предлагаемая этим программным обеспечением, поскольку, благодаря простому и наглядному интерфейсу, пользователи могут создавать свои собственные приложения. Кроме того, в зависимости от типа приложения предоставляются дизайны и интерфейсы, помогающие в его разработке.
      2. Используйте его в качестве эмулятора Android. Android Studio имеет эмулятор, который мы можем использовать для тестирования функций операционной системы или созданных приложений, чтобы увидеть, есть ли что-то для изменения или все работает, как и ожидалось.
      3. Анализ других приложений. Хорошая функция, особенно для тех, кто заинтересован в изучении дизайна приложений. Одной из доступных функций также является анализ или использование работы других разработчиков, поскольку мы можем использовать приложения с открытым исходным кодом, чтобы узнать о том, как они были разработаны или использовать часть их кода в своем собственном проекте.

      На этом все, теперь вы знаете, что это за программа и для чего предназначен инструмент Android Studio.

      Урок 4. Визуальный редактор Android Studio

      Окно редактора кода достаточно динамичное место – именно здесь вы и проведёте бОльшую часть времени при создании приложений. Чуть ранее, при создании вашего первого проекта, Android Studio сгенерировал простенький пользовательский интерфейс приложения. Пользовательский интерфейс в Android Studio можно создавать как с помощью кода на языке Java, так и с помощью визуального редактора. Однако, после того как вы накидаете примерный внешний вид приложения (кнопки, чекбоксы, текстовые поля) вам потребуется взаимодействие с ним и вот тут-то уже без программирования никуда.

       
      По мере нашего с вами обучения, мы будем уходить в сторону от создания пользовательского интерфейса, используя визуальный редактор. Вместо этого мы будем собственноручно прорисовывать пиксели и изображение. Тем не менее, сейчас мы воспользуемся встроенным визуальным редактором Android Studio. Приступим:

      • В обозревателе проекта найдите папку “layout” – там будет находиться файл “activity_main.xml” (на скриншоте внизу):
      • Двойным щелчком открывайте этот файл. После небольшой загрузки вы увидите что-то очень похожее на следующий скриншот. На данном скриншоте мы видим полное отображение того, что содержится в нашем коде. Как вы можете заметить – всё, что только что было текстом теперь можно разбить на несколько частей. Давайте разберёмся с этим:

      Под цифрой 1 на данном скриншоте находится область, именуемая “Palette”. Здесь вы можете выбрать один из элементов/компонентов и перетащить его область 2. Область 2 – это визуальное представление пользовательского интерфейса вашего приложения на устройстве. Под цифрой 3 – “Component Tree” – эта область поможет вам не запутаться в структуре интерфейса в том случае, когда интерфейс уже разросся компонентами. Под цифрой 4 – панель свойств – “Properties”. Здесь вы сможете изменять свойства выбранного элемента, например, цвет или название. Обратим внимание на вкладки под цифрой 5: “Design” и “Text”. Вкладка “Design” у вас сейчас открыта. Теперь можете переключиться на вкладку “Text”. Не стоит пугаться при её виде – здесь находится сгенерированный код eXtensible Markup Language (расширяемый язык разметки XML). На данный момент вам не стоит с ним особо иметь дело. По мере создания вашего первого приложения, при разработке которого мы будем пользоваться элементами/компонентами из вкладки “Palette”, время от времени можно будет заглядывать сюда, тем самым приоткрывая понемногу завесу тайны данной вкладки.

      Теперь разберём некоторые элементы/компоненты пользовательского интерфейса, которые нам предлагает Android Studio и которыми мы будем пользоваться в ближайшее время:

      • TextView: Кликните на надпись “Hello World” (предварительно переключившись обратно на вкладку “Design”). То, что вы сейчас выбрали и есть виджет, именуемый TextView. TextViews могут быть как маленькими так и большими (то что нужно для нашей игры!). Давайте перетащим еще один TextView на виртуальное устройство. По мере перетаскивание обратите внимание на то, как Android Studio графически показывает разное положение элемента(скриншот ниже):

      Отпустите левую кнопку мыши после того, как решите, где будет находиться ваш элемент. Теперь можем поиграть с его свойствами. В области “Properties” кликните по “View all properties”. Можете поменять значения “textSize” на 50 и нажать Enter, тем самым увеличив размер текста.

       

      • ImageView: Виджет ImageView используется для отображения изображения. Из области “Palette” выберите ImageView и перетащите в любое место на виртуальное устройство. Далее откроется окно с выбором изображения. Выберите “Ic_launcher” (позже мы разберём, как закидывать в проект свои изображения). Можете поиграть со свойствами данного ImageView. После этого удалите его.
      • ButtonView: Это кнопки. Можете также перетащить “Button” на виртуальное устройство и поиграть с их свойствами. После чего удалите.

      Теперь, когда мы знакомы с некоторой частью компонентов, можем приступить к созданию Меню нашей первой игры.

      Android Studio — советы и хитрости

      Если вы никогда ранее не использовали Android Studio и не знакомы с интерфейсом IntelliJ IDEA , эта статья дает советы для повышения производительности, которые помогут вам начать работу с некоторыми из наиболее распространенных задач.

      Функции производительности

      Android Studio включает в себя ряд функций, которые помогут вам быть более продуктивным в вашем коде. В этом разделе коснемся некоторых ключевых функций, которые помогут вам работать быстро и эффективно.

      Smart Rendering

      Используя умный рендеринг, Android отображает ссылки для быстрого исправления ошибок рендеринга. Например, если вы добавите кнопку для макета без указания атрибутов ширины и высоты, Android Studio отображает сообщение рендеринга с предложением автоматически добавлять все недостающие атрибуты. Щелчок по сообщению добавляет недостающие атрибуты к  макету.

      Визуализация растрового изображения в отладчике

      Во время отладки, теперь вы можете щелкнуть правой кнопкой мыши на растровых переменных в вашем приложении и вызвать View Bitmap. Это позволит получить связанные данные из отлаживаемого процесса и отобразит растровое изображение в отладчике.

      Bitmap rendering in the debuggerРисунок 1. Визуализация растрового изображения в отладчике Android Studio

      Фильтры в окне вывода сообщений

      При проверке результатов сборки приложения, вы можете фильтровать сообщения по типу, чтобы быстро найти нужные.

      Filter Build MessagesРисунок 2. Фильтры в окне вывода сообщений

       Установка иерархии Activity

      При создании новой Activity в визарде можно выбрать для нее родительскую Activity. Установка иерархии автоматически определяет кнопку Вверх, которая появляется при просмотре  в Панели действий (Action Bar) дочерней Activity, что избавляет от необходимости вручную прописывать кнопку Вверх в файле menu.xml.

      Создание макетов

      Android Studio предлагает расширенный редактор макетов, который позволяет добавлять виджеты в макет простым перетаскиванием и обеспечивает предпросмотр макетов при редактировании XML.

      При редактировании в текстовом представлении можно предварительно просмотреть макет на устройствах, открыв область Preview, доступную в правой части окна редактора. В области Preview Вы можете изменить предварительный просмотр, выбирая различные варианты наверху области просмотра, например,  модель андроид-устройства, тему оформления, версию платформы и т.д. Чтобы предварительно просмотреть отображение макета на многих устройствах одновременно, выберите Preview All Screen Sizes из выпадающего списка.

      Preview All Screen Sizes Android StudioРисунок 3. Предварительный просмотр всех экранов

      Вы можете переключиться в графическое представление макета в редакторе, нажав Дизайн в нижней части окна. При редактировании в режиме проектирования, вы можете показать и скрыть доступные для перетаскивания виджеты путем нажатия палитру на левой стороне окна. При выборе Design на правой стороне окна выводится панель с иерархией макета и список свойств для каждого View в макете.

       Работа с IntelliJ IDEA

      Приводим список некоторых приемов редактирования кода, которые вы можете использовать при создании приложений в Android Studio.

      Для получения полной пользовательской документации для интерфейса IDEA IntelliJ (на котором базируется Android Studio), обратитесь к документации IntelliJ IDEA .

      Alt + Enter комбинация клавиш

      Используйте комбинацию клавиш Alt + Enter для быстрого исправления ошибок, таких как пропущенный импорт или значение переменной, отсутствующие ссылки и т.д.  IntelliJ IDE по возможности исправит ошибки, или предложит наиболее подходящее решение.

      Ctrl + D комбинация клавиш

      Комбинация Ctrl + D позволяет быстро дублировать строку или фрагмент кода. Просто выделите нужный вам код и нажмите Ctrl + D.

      Меню навигации

      В случае, если вы не знакомы с API класса, меню Navigate позволяет перейти непосредственно к методу класса или имени поля, без необходимости поиска отдельных классов.

      Идентификация областей кода

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

      Внешние аннотации

      Создавайте аннотации в коде или во внешнем файле аннотаций. Android Studio IDE сохраняет ссылки и проверяет соответствие, например, установку типа данных строки как NOT NULL.

      Использование XML и SQL

      Android Studio IDE позволяет работать с разными языками, встроенными в исходный код, в частности с XML и SQL. Поддерживается синтаксис, подсветка ошибок и подсказки по коду встроенного языка, проверка значений регулярных выражений и проверка XML и SQL операторов.

      Сворачивание кода

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

      Предварительный просмотр изображений и цвета

      При ссылке в коде на изображения и иконки появляется значок (в натуральную величину на разных плотностях) на полях кода, предоставляющий возможность предварительного просмотра, чтобы помочь вам проверить эталонное изображение или значок. Нажатие F1 в предварительном просмотре изображения  или значка отображает подробную информацию ресурсов, например DP параметр.

      Быстрая документация F1

      Вы можете теперь осмотреть атрибуты темы, используя View > Quick Documentation (F1), видеть иерархию наследования темы и значения решения для различных атрибутов.

      Если Вы вызываете View> Quick Documentation (обычно связываемый с F1) на атрибуте темы android:textAppearanceLarge, Вы будете видеть иерархию наследования темы и разрешенные значения для различных атрибутов, которые втянуты.

       

      Подключите устройство Android к Android Studio

      В этом руководстве объясняется, как подключить устройство Android к Android Studio, с пошаговыми инструкциями.

      Пояснение

      Создавать приложения в Android Studio очень просто. А как насчет запуска и тестирования? Android Studio предоставляет нам способ очень легко и быстро запускать приложения на мобильных устройствах Android. Если у вас нет устройства Android, не волнуйтесь, у Android Studio есть эмулятор для вас, он создает виртуальное устройство Android, поэтому вы можете запускать приложения и отправлять текстовые сообщения, даже не имея смартфона Android.На этот раз я покажу вам, как подключить устройство Android к Android Studio. Поскольку ничто не заменит запуск ваших приложений на аппаратных устройствах.

      Обязательно

      Для этого необходимы следующие условия:

      Шаг 1) Включить отладку по USB

      Самый первый шаг — включить отладку по USB на вашем устройстве Android. Для этого выполните следующие шаги

      • На телефоне (или планшете) перейдите в Настройки => О телефоне
      • Нажмите Build Number 7 раз, после 7-го раза будет сказано . Теперь вы разработчик .

      Step 1: USB debugging

      Шаг 1. Отладка по USB

      • Вы заметите, что Опции разработчика теперь доступны.

      Step 2: USB debugging

      Шаг 2: Отладка USB

      • Перейдите в опцию разработчика и включите отладку USB

      Step 3: USB debugging

      Шаг 3: Отладка USB

      Щелкните ОК.

      Step 4: USB debugging

      Шаг 4: Отладка USB

      Шаг 2. Установите драйвер USB

      Следующим шагом будет установка драйвера USB для вашего устройства Android.Для этого следуйте инструкциям производителя вашего устройства. Например, я использую Android-смартфон Huawei, поэтому я только что загрузил USB-драйвер Huawei с их официального сайта. Если ваше устройство использует драйвер Google USB, вы можете загрузить его по этой ссылке http://developer.android.com/sdk/win-usb.html. После установки его нужно обновить. Убедитесь, что ваше устройство подключено через USB-кабель. Перейдите в Панель управления => Диспетчер устройств , затем найдите и щелкните правой кнопкой мыши свое устройство Android и выберите Обновить программное обеспечение драйвера.

      Примечание. Убедитесь, что ваше устройство Android не находится в спящем режиме при подключении через USB-кабель.

      Шаг 3. Запустите приложение

      Нет, вы можете запустить свое приложение для Android. Щелкните приложение правой кнопкой мыши и выберите Выполнить . Или просто выберите опцию запуска из меню панели инструментов, показанного ниже.

      Android Studio screen

      Экран Android Studio

      Появится окно Select Deployment Target , и появится список доступных устройств.Выберите свое устройство и нажмите ОК . Android Studio запустит ваше приложение на вашем Android-устройстве.

      Deployment target

      Цель развертывания

      Щелкните Используйте тот же выбор для будущих запусков , если вы хотите сохранить этот параметр для последующих приложений.

      Список литературы

      Официальные инструкции по установке OEM-драйвера Android

      Драйвер Samsung Android USB для Windows

      LG Android USB-драйверы


      просмотров публикаций:
      219481

      .

      Как установить приложение на телефон android с помощью студии Android?

      Переполнение стека

      1. Около
      2. Товары

      3. Для команд
      1. Переполнение стека
        Общественные вопросы и ответы

      2. Переполнение стека для команд
        Где разработчики и технологи делятся частными знаниями с коллегами

      3. Вакансии
        Программирование и связанные с ним технические возможности карьерного роста

      4. Талант
        Нанимайте технических специалистов и создавайте свой бренд работодателя

      5. Реклама
        Обратитесь к разработчикам и технологам со всего мира

      6. О компании

      .

      Android Studio 0.8.1 — как использовать Facebook SDK?

      Переполнение стека

      1. Около
      2. Товары

      3. Для команд
      1. Переполнение стека
        Общественные вопросы и ответы

      2. Переполнение стека для команд
        Где разработчики и технологи делятся частными знаниями с коллегами

      3. Вакансии
        Программирование и связанные с ним технические возможности карьерного роста

      4. Талант
        Нанимайте технических специалистов и создавайте свой бренд работодателя

      5. Реклама
        Обратитесь к разработчикам и технологам со всего мира

      6. О компании

      .

      Android Studio и IntelliJ — Flutter

      меню

      Flutter logo

      • Документы
        • Начать

          • 1. Установить
          • 2. Настройте редактор.
          • 3. Тест-драйв.
          • 4. Напишите свое первое приложение.
          • 5. Узнать больше
          • С другой платформы?

            • Flutter для разработчиков Android
            • Flutter для разработчиков iOS
            • Flutter для разработчиков на React Native
            • Flutter для веб-разработчиков
            • Flutter для Xamarin.Разработчики форм
            • Введение в декларативный интерфейс
          • Обзор языка Dart
          • Создание веб-приложения
        • Образцы и руководства

          • Галерея Flutter [запущенное приложение]
          • Галерея Flutter [репо]
          • Примеры приложений на GitHub
          • Кулинарная книга
          • Codelabs
          • Учебники
        • Развитие

          • Пользовательский интерфейс

            • Введение в виджеты
            • Макеты зданий

              • Макеты во Flutter
              • Руководство
              • Создание адаптивных приложений
              • Понимание ограничений [НОВОЕ]
              • Ограничения коробки
            • Добавление интерактивности
            • Активы и изображения
            • Навигация и маршрутизация
            • Анимации

              • Введение
              • Обзор
              • Руководство
              • Неявная анимация
              • Анимация героев
              • Поэтапная анимация
            • Расширенный интерфейс

              • Щепки
              • Жесты
              • Заставки
            • Каталог виджетов
          • Данные и бэкэнд

            • Государственное управление

              • Введение
              • Мыслите декларативно
              • Эфемерное и состояние приложения
              • Простое управление состоянием приложения
              • Параметры
            • Сеть и http
            • JSON и сериализация
            • Firebase
          • Доступность и интернационализация

            • Доступность
            • Интернационализация
          • Интеграция платформы

            • Взаимодействие C и C ++
            • Web FAQ
            • Написание кода для конкретной платформы
            • Поддержка Apple Watch
          • Пакеты и плагины

            • Использование пакетов
            • Разработка пакетов и плагинов
            • Программа Flutter Favorites
            • Фоновые процессы
            • Обновление плагина Android
            • Сайт пакета
          • Добавить Flutter в существующее приложение

            • Введение
            • Добавление в приложение для Android

              • Настройка проекта
              • Добавить один экран Flutter
              • Добавить фрагмент флаттера
              • Настройка плагина
            • Добавление в приложение для iOS

              • Настройка проекта
              • Добавить один экран Flutter
            • Отладка и горячая перезагрузка
            • Последовательность загрузки и производительность
          • Тоже

      .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *