Разное

Андроид студио как пользоваться: Android Studio: как пользоваться — начало работы и настройка

Содержание

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


Итог

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

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

новые инструменты работы с макетами, улучшенное профилирование и анализ билдов

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

Android Studio 4.0 включают в себя новый Motion Editor, помогающий оживить ваши приложения, Build Analyzer для изучения причин замедления сборки и Java 8, которую можно использовать независимо от минимального уровня API вашего приложения. CPU Profiler был перелопачен, чтобы сделать рабочий процесс более интуитивно понятным и для простого параллельного анализа активности потока. Layout Inspector теперь отдаёт живые данные c UI приложения, а значит, вы можете легко отлаживать именно то, что отображается на устройстве.

Разбор от команды Android Developers

Редактор движения объектов (MotionLayout)

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

Использование этого API стало проще благодаря новому Motion Editor – мощному интерфейсу для создания, редактирования и предварительного просмотра. Больше не нужно создавать и изменять сложные XML-файлы – Motion Editor делает это за нас, при этом поддерживая редактирование constraint-наборов, переходов, кейфреймов и атрибутов вьюшек. Чтобы увидеть код, создаваемый редактором, нужно совершить всего один клик.

И ещё небольшое улучшение для разработчиков, уже использующих ConstraintLayout – новая версия может легко преобразовать их в MotionLayout.

Процесс работы редактирования движения иконки

Инспектор макетов (Layout Inspector)

С помощью нового Layout Inspector отладка UI становится намного понятнее. Мы получаем доступ к постоянно обновляемым данным и информацию о том, как расходуются ресурсы.

Скриншот процесса работы с Layout Inspector

Чтобы использовать Layout Inspector, в главном меню нужно выбрать

View > Tool Windows > Layout Inspector. При развёртывании на устройстве под управлением API 29 или выше у нас есть доступ к дополнительным функциям: динамической иерархии макетов, обновляемой при изменении представления, подробным атрибутам вьюхи и 3D-модели UI запущенного приложения.

Валидация макетов (Layout Validation)

Интерфейс Layout Validation

Когда вы разрабатываете код под несколько форм-факторов, размеров экрана и разрешений, следует убедиться, что работа корректно отображается на любом экране. С помощью окна Layout Validation можно просматривать макеты на разных экранах и конфигурациях одновременно. Чтобы начать работу, перейдите на вкладку Layout Validation в правом верхнем углу IDE.

Обновленный CPU Profiler

Обновленный интерфейс CPU Profiler

CPU profiler предоставляет большой объем информации о потоковой активности и трассировке приложения. В четвёртой версии записи CPU отделены от основной временной шкалы и организованы в удобные для анализа группы. Группы можно перемешать вверх и вниз или перетаскивать отдельные элементы внутри групп для дополнительной настройки.

Работа с группами в CPU Profiler

Для облегчения параллельного анализа теперь можно просмотреть все активити на шкале Thread Activity (включая методы, функции и события) и попробовать новую навигацию – можно масштабировать и панорамировать при помощи клавиш W, S, A и D.

Переработан UI трассировки. Теперь легче выявить более загруженные потоки и сосредоточиться на просмотре данных. Качество CPU profiler значительно выросло – снизилось число ошибок, о которых сообщали пользователи с Android Studio 3.6. Больше об улучшениях профайлера – в официальном хелпе.

Функции интеллектуального редактора

Улучшенное автодополнение в редакторе

R8, представленный в Android Gradle plugin 3.4.0, добавил синтаксического сахара, сжатия, обфускации и оптимизации, что привело к заметному улучшению производительности сборки.

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

Обновление платформы IntelliJ IDEA

Обновлено ядро среды разработки Android. Следом за ним обновились и версии IntelliJ IDEA 2019.3 и 2019.3.3. Эти улучшения в основном направлены на улучшение производительности.

Живые шаблоны

Live templates – это удобная функция IntelliJ, позволяющая вставлять общие конструкции в код набирая ключевые слова. Android Studio теперь также умеет работать с шаблонами: введите Toast, нажмите Tab и вставится шаблонный код для Toast. Полный список шаблонов находится в Editor > Live Templates в Settings (или Preferences).

Поддержка Clangd для C++

Для разработчиков, пишущих на плюсах, совершили переход на clangd в качестве основного механизма анализа языка, навигации по коду, автодополнения, проверки и отображения ошибок/предупреждений.

Чтобы настроить Clangd или Clang-Tidy, зайдите в диалог Settings (или Preferences) и переместитесь в Languages & Frameworks > C/C++ > Clangd or Clang-Tidy.

Плагин Gradle 4.0 включает в себя поддержку Android Studio’s Build Analyzer (независимо от минимального уровня API вашего приложения) и создание зависимостей между динамическими модулями функций. Полный список обновлений смотрите в примечаниях к релизу.

Анализатор сборки (Build Analyzer)

Интерфес Build Analyzer

Build Analyzer помогает понять и устранить узкие места в сборке, выделяя плагины и задачи, которые ответственны за общее время сборки, а также предлагая шаги по смягчению «симптомов».

Java 8 и десахаризация в D8/R8

Предыдущие версии Android Gradle поддерживали различные языковые функции Java 8 для всех уровней API с помощью процесса, называемого десахаризацией. В Android-студия 4.0 движок был расширен для поддержки API языка Java, независимо от minSdkVersion. Это означает, что теперь вы можете использовать стандартные языковые API, которые ранее были доступны только в последних версиях Android (например, java.util.stream, java.util.function и java.time).

Feature-on-feature зависимости

Схема зависимостей свойств

При использовании плагина Gradle 4.0.0 и выше теперь можно указать, что модуль Dynamic Feature зависит от другого модуля. Возможность определить эту взаимосвязь гарантирует, что ваше приложение будет иметь необходимые модули для разблокировки дополнительных функциональных возможностей, а это приведёт к меньшему количеству запросов и более простой структуре приложения. Например, функция :video может зависеть от функции :camera. Если пользователь хочет разблокировать возможность записи видео, ваше приложение автоматически при запросе :video загрузит модуль :camera.

Новые опции для включения или отключения из сборки

Gradle имеет встроенную поддержку современных библиотек, таких как data binding, view binding, build features и BuildConfig classes. Однако не все библиотеки и функции могут понадобиться в проекте. Как показано ниже, в версии 4.0 можно отключить ненужные функции сборки – это поможет оптимизировать производительность сборки для крупных проектов.

android {
    // The default value for each feature is shown below.
    // You can change the value to override the default behavior.
    buildFeatures {
        // Determines whether to support View Binding.
        // Note that the viewBinding.enabled property is now deprecated.
        viewBinding = false
        // Determines whether to support Data Binding.
        // Note that the dataBinding.enabled property is now deprecated.
        dataBinding = false
        . ..
    }
}
    

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

Поддержка файлов Kotlin DSL

Студия теперь имеет встроенную поддержку файлов сценариев сборки Kotlin DSL (*.kts). Сценарии сборки Kotlin предлагают полный набор быстрых исправлений и поддерживаются Project Structure dialog. Разработчики собираются в долгосрочной перспективе поддерживать эту фичу, что позволит создать более простой в использовании DSL.

Метаданные зависимостей

При создании приложения Gradle включает метаданные, описывающие зависимости компилируемых библиотек. При загрузке приложения Play Console проверяет эти метаданные, получая информацию об известных проблемах с SDK и зависимостями, используемыми в приложении, а в некоторых случаях предоставляет обратную связь для решения этих проблем.

Эти данные сжимаются, шифруются ключом подписи Google Play и сохраняются в блоке подписи вашего релиза. Если вы не хотите делиться этой информацией, можно легко отказаться от нее, включив следующий блок в файл build.gradle:

build.gradle
android {
    dependenciesInfo {
        // Отключение метаданных о зависимостях при построении APKs.
        includeInApk = false
        // Отключение метаданных о зависимостях при построении Android App Bundles.
        includeInBundle = false
    }
}
    

Загрузите Android Studio 4.0 с официальной страницы. Если вы используете предыдущую версию Android Studio, вы можете просто обновиться до последнего релиза.

Как и любые разработчики, гугловцы любят и ценят отзывы (хорошие и плохие) о том, что вам нравится/не нравится, а также о функционале, который вы хотели бы видеть. Если вы обнаружите баг – смело отправляйте сообщение о проблеме.

Где находится apk файл в android studio

Где скачать и как пользоваться Android Studio

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

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

Где можно скачать бесплатно?

Скачать Android Studio последней версии можно с сайта официального разработчика – developer.android.com. Программа работает на базе Windows ОС. Русский язык отсутствует.

Либо напрямую с нашего проекта:

Установка Android Studio

  1. Запустите .exe файл, увидите на экране классическое диалоговое окно инсталлятора.
  2. Выберите путь, по которому Андроид Студио и Android SDK будут установлены на компьютер. Делать выбор стоит в пользу локальных дисков, на них больше пространства.
  3. Далее происходит процесс установки. Приложения 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-приложений.

Где андроид-студия строит мой файл .apk?

Я перестраивал свой проект с нуля, поэтому с ним было много проблем. На данный момент все работает отлично, за исключением того, что когда я пытаюсь запустить приложение, я получаю сообщение «Локальный путь не существует»., где локальный путь указывает на путь: AndroidStudioProjects\MyProject\MyProject..\build\production\MyProject.apk, и это действительно так, нет файла .apk в этом месте или даже где-либо еще в файловой системе проекта.

Тем не менее, я могу создать приложение без проблем, и запуск gradlew packageDebug дает мне сообщение » построить успешное«, поэтому нужно создавать .apks. Мой вопрос: куда они идут, или если они не сгенерированы, почему бы и нет?

Где путь сборки каждого модуля? Я несколько смущен, потому что параметры Project Structure- > Facets- > Android- > Compiler, Project Structure- > Modules- > Paths- > Compiler Output, build.gradle и MyProject. iml, похоже, имеют какое-то отношение к построить путь, но я не совсем понимаю, как они связаны

edit: Я знаю, где это должно быть, но это не так, поэтому я хочу знать, как изменить путь сборки

edit 2: По какой-то причине запуск сборки gradlew создает файлы .apks, но не создает и не запускает изнутри программу

edit 3: Здесь мой вывод сборки gradlew, обратите внимание, что он успешно работает:

Где android studio строит мой .apk файл?

Я уже с нуля пересобираю свой проект, поэтому с этим у меня много проблем. На данный момент все замечательно работает, за исключением того, что когда я пытаюсь запустить app, я получаю сообщение ‘Local path doesn’t exist.’, где в path указан локальный путь: AndroidStudioProjects\MyProject\MyProject..\build\production\MyProject.apk, и достаточно верно, в том месте файла нет .apk файла, или вообще нигде в файловой системе проекта.

Однако я могу построить app без проблем, и запуская gradlew packageDebug мне выдает сообщение ‘build successful ‘, поэтому . apks должны быть сгенерированы. Мой вопрос, куда они собираются, или если они не генерируются, почему нет?

Где задается build path каждого модуля? Я несколько запутался потому что настройки Project Structure->Facets->Android->Compiler , Project Structure->Modules->Paths->Compiler Output, build.gradle, и MyProject.iml все вроде как имеют что-то общего с build path, но я не совсем понимаю как они соотносятся

edit: Я знаю где это должно быть, но это not there поэтому хочу узнать как изменить build path

edit 2: Почему-то запуская gradlew build делает create .apks, но не билдит или запуская изнутри программы

edit 3: Вот мой вывод билда gradlew, обратите внимание что он билдит успешно:

Использование Android Studio — Руководство к игре 0

Android Studio — это интегрированная среда разработки (IDE) для разработки приложений для Android на основе IntelliJ. Он компилирует ваш код в apk, который затем устанавливается на контроллер робота: либо на Control Hub, либо на легальный телефон Android.

Загрузка Android Studio

Если вы уже загрузили Android Studio, вы можете перейти к следующему шагу — настройке SDK.

Шаги для загрузки и настройки Android Studio:

  1. Убедитесь, что ваша система соответствует необходимым требованиям

  2. Установите последнюю версию Android Studio с https://developer.android.com/studio/index.html

  3. Запустите исполняемый файл, следуйте инструкциям мастера установки и используйте все рекомендованные комплекты разработки

Настройка SDK

Теперь, когда у вас установлена ​​Android Studio, вы захотите использовать SDK текущего сезона (комплект для разработки программного обеспечения), где вы будете создавать код своей команды.

Загрузка SDK

Каждый сезон SDK публично публикуется в репозитории GitHub. SDK текущего сезона можно найти в репозитории FtcRobotController.

Загрузка ZIP-архива
  1. Когда вы находитесь в хранилище, нажмите зеленую кнопку «Код». Затем выберите «Скачать ZIP».

  2. Затем сохраните его в нужное место на вашем компьютере.

  3. После сохранения извлеките содержимое ZIP-архива и поместите его в любое желаемое место. Вы должны увидеть содержимое SDK внутри папки.

Использование рабочего стола GitHub
  1. Установить рабочий стол GitHub

  2. Откройте репозиторий SDK в браузере.

  3. Нажмите зеленую кнопку «код», а затем выберите «Открыть с помощью GitHub Desktop».

  4. Клонировать проект.

Из командной строки
  1. Установить git

  2. Откройте терминал (возможно, bash) в нужном месте ресурса.

  3. Использовать клон $ git https://github.com/FIRST-Tech-Challenge/FtcRobotController.git

Открытие SDK в Android Studio

  1. Откройте Android Studio. Если у вас открыт другой проект, закройте его.

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

  3. Выберите «Импорт проекта». Перейдите туда, где на вашем компьютере сохранен SDK. Выберите каталог с логотипом Android.

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

  5. Подождите, пока Gradle завершит сборку. По умолчанию этот индикатор должен располагаться внизу окна.

Макет

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

Создание классов

Первое, на что следует обратить внимание в представлении проекта, — это раскрывающийся список с названием проекта. Если вы отпустите его, вы увидите все файлы и каталоги Gradle. Перейдите в папку TeamCode. В папке teamcode вы увидите пакет org.firstinspires.ftc.teamcode .

Здесь вы создадите свой код для робота. Чтобы создать новый класс Java, щелкните пакет правой кнопкой мыши, выберите «Создать», а затем выберите «Класс Java».

Кроме того, вы можете выбрать опцию «Пакет», если вы хотите создать подпапку для целей организации. Затем вы можете создавать классы в этих пакетах.

Терминал

и Logcat

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

Полезную информацию об использовании logcat можно найти здесь.

Примечание

Вы можете создать свою программу через командную строку через локальный терминал. Нажмите на вкладку терминала и введите gradlew :TeamCode:clean :TeamCode:build . Это удалит ранее скомпилированные файлы и создаст ваш модуль TeamCode.

Установка вашей программы

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

Рядом с ним вы увидите раскрывающийся список устройств. Когда вы подключаете контроллер робота к компьютеру (используя правильный кабель), через некоторое время устройство должно появиться в раскрывающемся списке. Затем нажмите кнопку воспроизведения, и ваша программа будет установлена ​​на устройство.

Совет

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

adb shell am start -n com.qualcomm.ftcrobotcontroller/org.firstinspires.ftc.robotcontroller.internal.PermissionValidatorWrapper

для удаленного запуска приложения Robot Controller.

Если у вас возникнут какие-либо проблемы с этим процессом, обратитесь к официальной документации REV. Некоторые полезные страницы с сайта REV:

  • Поиск и устранение неисправностей системы управления

  • Беспроводное развертывание кода

Если вы все еще застряли, вы можете обратиться за помощью в FTC Discord.

Грейдл

Gradle — это инструмент сборки для разработки программного обеспечения. В рамках FTC он используется для создания и управления зависимостями для вашего проекта.

Когда вы обновляете любой из ваших файлов Gradle, вам нужно будет выполнить синхронизацию Gradle, которая синхронизирует ваш проект с изменениями и перестраивает его. В вашем build.common.gradle вы найдете информацию о том, как создается ваше приложение контроллера робота.

Восстановление

Вы можете легко перестроить свой проект с помощью раскрывающегося списка сборки.

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

Недействительный и перезапустить

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

Самый распространенный способ исправить эти ошибки — сделать недействительным и перезапустить. В раскрывающемся списке файлов для этого будет опция, а затем вы выберете Invalidate and Restart. Это очистит кеш и перезапустит вашу Android Studio, которая затем должна выполнить перестройку Gradle.

Добавление зависимостей

Если вы хотите добавить зависимости в свой проект, вы можете сделать это в файле build.gradle в каталоге TeamCode.

Внизу файла должен быть блок зависимостей.

 // Включить общие определения из приведенного выше.
применить из: '../build. common.gradle'
применить из: '../build.dependencies.gradle'
зависимости {
     проект реализации(':FtcRobotController')
     файлы annotationProcessor('lib/OpModeAnnotationProcessor.jar')
}
 

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

Затем вы добавляете строку в блок зависимостей для реализации зависимости. Обычно это делается с помощью реализации 'com.package.name' .

 зависимостей {
    проект реализации(':FtcRobotController')
    файлы annotationProcessor('lib/OpModeAnnotationProcessor.jar')
    реализация 'com.package.name:name:version'
}
 

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

Наконец, выполните синхронизацию Gradle.

Обновление до Java 8

По умолчанию для SDK установлена ​​версия Java 7. Также поддерживается Java 8. Возможно, вы захотите обновить версию Java с 7 до 8, если хотите использовать такие функции, как лямбда-выражения или дженерики. Некоторые библиотеки также могут потребовать от вас изменить версию Java.

Чтобы выполнить обновление до Java 8, перейдите к своему 9Файл 0083 build.common.gradle . Прокрутите вниз, пока не найдете этот блок:

 compileOptions {
    исходная совместимость JavaVersion.VERSION_1_7
    целевая совместимость JavaVersion.VERSION_1_7
}
 

Измените 7 на 8 , например:

 compileOptions {
    исходная совместимость JavaVersion.VERSION_1_8
    целевая совместимость JavaVersion.VERSION_1_8
}
 

Затем выполните синхронизацию Gradle.

Мост отладки Android

Примечание

В macOS, Linux или с помощью PowerShell вам придется изменить все команды, начинающиеся с adb , на ./adb , если вы находитесь в каталоге platform-tools .

Логкэт

Logcat чрезвычайно полезен для отладки проблем с вашим кодом во время выполнения или для выяснения того, что пошло не так. Например, если в вашем приложении происходит сбой, и вы открываете журнал и видите 5000 строк одной и той же ошибки, вероятно, в вашем коде присутствует бесконечная рекурсия!

Чтобы использовать logcat, подключите свое устройство (или подключитесь через ADB). Затем выберите приложение, для которого вы хотите просмотреть журналы. Ваше окно должно выглядеть так.

Если у вас есть проблема, которую вы не понимаете, вы можете сделать снимок экрана журнала или выбрать и скопировать ошибку и задать вопрос в дискорде FTC.

Беспроводная связь

Android Debug Bridge (ADB) — это инструмент командной строки, который обеспечивает беспроводную связь между контроллером робота (телефоном или Control Hub).

ADB должен поставляться с инструментами платформы в Android Studio. Перейдите к файлу local.properties в корне вашего проекта, и вы должны увидеть путь к Android SDK на вашем компьютере, например C:\Users\Woodie\AppData\Local\Android\Sdk . Затем перейдите к platform-tools , и там должно быть приложение под названием adb. Чтобы использовать его, откройте интерфейс командной строки (например, PowerShell или командную строку) и запустите adb devices или ./adb devices .

Дополнительную информацию об ADB можно найти на странице разработчиков.

Настройка АБР
  1. Убедитесь, что на вашем устройстве включена отладка по USB и оно находится в режиме разработчика.

  2. Убедитесь, что у вас установлен ADB. Если нет, следуйте инструкциям по этой ссылке

Примечание

Вы можете использовать logcat через ADB с помощью команды adb logcat . Это чрезвычайно полезно для отладки, поскольку позволяет просматривать журналы по беспроводной сети, что экономит время. Помните, logcat — это лучший способ отладки программного обеспечения.

Добавить ADB в ПУТЬ

Добавление переменных в PATH:

  • Windows

  • Linux/Unix (Баш)

  • macOS (зш)

Если вы хотите использовать ADB из любого каталога, добавьте его в PATH. Следуйте онлайн-руководству по добавлению в PATH и установите PATH в каталог platform-tools . Как только вы это сделаете, вы сможете запускать команды ADB из любой точки вашей системы.

Беспроводное подключение к телефону
  1. Подключите телефон контроллера робота к компьютеру.

  2. Запустите команду adb devices в каталоге platform-tools и посмотрите, появится ли телефон.

  3. Запустите adb usb , а затем adb tcpip 5555 . Затем вы можете отключить телефон.

  4. Подключитесь к той же сети Wi-Fi, на которой находится или находится устройство. Прямая сеть WiFi, созданная телефоном, должна называться «TEAMNUMBER-RC» или что-то вроде этого. Он может включать дополнительные буквы, если у вас есть несколько устройств в команде. Обратитесь к RS01 в ​​Руководстве к игре, часть 1, для получения дополнительной информации о схеме именования сети.

  5. Подключитесь к телефону с помощью adb connect 192. 168.49.1:5555 . Если это не сработает, перепроверьте IP-адрес телефона и повторите попытку с этим IP-адресом, если он отличается.

Беспроводное подключение к концентратору управления
  1. Подключитесь к точке доступа Wi-Fi, размещенной на Control Hub. Точка доступа должна называться «TEAMNUMBER-RC» или что-то вроде этого. Он может включать дополнительные буквы, если у вас есть несколько устройств в команде. Обратитесь к RS01 в ​​Руководстве к игре, часть 1, для получения дополнительной информации о схеме именования сети.

  2. После подключения к сети Control Hub вам просто нужно подключиться к нему с помощью adb connect 192.168.43.1:5555 .

После установления соединения оно должно появиться в раскрывающемся списке устройств в Android Studio.

Конфигурация беспроводной сети

Вы можете настроить конфигурацию на станции водителя или контроллере робота, как обычно. Однако вы также можете создать действительный XML-файл конфигурации в TeamCode/src/main/res/xml 9. 0084 . Вы можете найти файлы конфигурации в папке /sdcard/FIRST в виде XML-файла с тем же именем, что и у конфигурации.

Чтобы получить эти XML-файлы по беспроводной сети, вы можете использовать adb pull /sdcard/FIRST/config.xml /full/qualified/path/res/xml .

Если действительный XML-файл конфигурации находится в формате res/xml , он будет отображаться как конфигурация, которую вы можете использовать для робота при отправке его в контроллер робота или в концентратор управления.

Диспетчер SDK

Вы можете найти диспетчер SDK в правом верхнем углу Android Studio.

Принятие лицензий

Если вы получаете предупреждение о том, что лицензии не принимаются, выполните следующие действия:

  1. Перейдите в диспетчер SDK и в раздел «Платформы SDK».

  2. Выберите версию с уровнем API, указанным в предупреждении.

  3. Нажмите «Применить» и дождитесь установки компонентов.

  4. После завершения нажмите «Готово», затем «ОК». Подождите, пока Android Studio проиндексирует, если это так.

  5. Перезапустите Android Studio.

Установка инструментов SDK

Чтобы установить любые инструменты SDK, такие как инструменты платформы или инструменты сборки, откройте диспетчер SDK и перейдите в Инструменты SDK. Выберите инструменты, которые вы хотите установить, и установите их так же, как для платформ SDK.

Контроль версий

Контроль версий — чрезвычайно полезный инструмент. Это позволяет просматривать (и возвращаться) к предыдущим версиям кода, упрощает совместную работу, имеет несколько версий кода, которые можно объединить вместе, и т. д.

Что касается систем контроля версий, мы настоятельно рекомендуем git, особенно при использовании с графическим интерфейсом, таким как встроенные в Android Studio инструменты VCS или Github Desktop. Хотя руководство по git выходит за рамки Руководства по игре 0, вот некоторые ресурсы git:

  • Официальное руководство по git

  • Коллекция ресурсов GitHub

  • Руководство GitHub по установке git

  • Рабочий стол GitHub, графический интерфейс git

  • Документация по интеграции Android Studio/IntelliJ с git

Android Studio и IntelliJ | Флаттер

Содержание
  • Установка и настройка
    • Обновление плагинов
  • Создание проектов
    • Создание нового проекта
    • Создание нового проекта из существующего исходного кода
  • Редактирование кода и проблемы с просмотром
  • Запуск и отладка
    • Выбор цели
    • Запустить приложение без точек останова
    • Запустить приложение с точками останова
  • Цикл разработки быстрого редактирования и обновления
    • Показать данные производительности
  • Советы по редактированию кода Flutter
    • Подсказки и быстрые исправления
      • Обертка с новым вспомогательным виджетом
      • Обернуть список виджетов с помощью нового помощника по виджетам
      • Преобразование ребенка в помощь детям
    • Живые шаблоны
    • Сочетания клавиш
    • Горячая перезагрузка по сравнению с горячим перезапуском
  • Редактирование кода Android в Android Studio с полной поддержкой IDE
  • Редактирование кода Android в IntelliJ IDEA
  • Советы и рекомендации
  • Устранение неполадок
    • Известные проблемы и отзывы
  • Android Studio и IntelliJ
  • Код Visual Studio

Установка и настройка

Следуйте указаниям Настройка редактора инструкции по установке плагинов Dart и Flutter.

Обновление плагинов

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

Чтобы проверить наличие обновлений вручную:

  1. Откройте настройки ( Android Studio > Проверить наличие обновлений на macOS, Справка > Проверить наличие обновлений в Linux).
  2. Если в списке есть dart или flutter , обновите их.

Создание проектов

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

Создание нового проекта

Чтобы создать новый проект Flutter из шаблона начального приложения Flutter:

  1. В среде IDE щелкните Новый проект из приветствия или File > New > Project в главном окне IDE.
  2. Укажите путь Flutter SDK и нажмите Далее .
  3. Введите желаемое имя проекта , Описание и Местоположение проекта .
  4. Если вы можете опубликовать это приложение, установите домен компании.
  5. Нажмите Готово .
Установка домена компании

При создании нового приложения некоторые плагины Flutter IDE запрашивают название организации в обратном доменном порядке, что-то вроде com.example . Наряду с названием приложения, это используется в качестве имени пакета для Android и идентификатора пакета для iOS. когда приложение выйдет. Если вы думаете, что когда-нибудь выпустите это приложение, лучше указать их сейчас. Их нельзя изменить после того, как приложение выпущен. Название вашей организации должно быть уникальным.

Создание нового проекта из существующего исходного кода

Чтобы создать новый проект Flutter, содержащий существующий исходный код Flutter файлы:

  1. В среде IDE щелкните Создать новый проект в Окно приветствия или Файл > Создать > Проект из главного окна IDE.

    Важно: Использовать вместо Новый > Проект из существующих источников вариант для проектов Flutter.

  2. Выберите в меню Flutter и нажмите Next .
  3. В разделе Расположение проекта введите или перейдите к, каталог, содержащий ваш существующие файлы исходного кода Flutter.
  4. Нажмите Готово .

Редактирование кода и просмотр проблем

Подключаемый модуль Flutter выполняет анализ кода, который позволяет следующее:

  • Подсветка синтаксиса.
  • Завершение кода на основе расширенного анализа типов.
  • Переход к объявлениям типов ( Навигация > Объявление ), и поиск использований типов ( Edit > Find > Find Usages ).
  • Просмотр всех текущих проблем с исходным кодом ( View > Tool Windows > Dart Analysis ). Любые проблемы анализа отображаются на панели Dart Analysis:

Запуск и отладка

Примечание: Вы можете отлаживать свое приложение несколькими способами.

  • Использование DevTools, набора инструментов для отладки и профилирования инструменты, работающие в браузере и включите инспектор Flutter . DevTools заменяет предыдущее профилирование на основе браузера. инструмент, обсерватория.
  • Использование встроенной отладки Android Studio (или IntelliJ) функции, такие как возможность установки точек останова.
  • Использование инспектора Flutter, доступного непосредственно в Android Studio и IntelliJ.

Приведенные ниже инструкции описывают функции, доступные в Android Студия и IntelliJ. Информацию о запуске DevTools см. см. Запуск DevTools из Android Studio в Документы DevTools.

Запуск и отладка управляются с главной панели инструментов:

Выбор цели

Когда проект Flutter открыт в IDE, вы должны увидеть набор Специальные кнопки Flutter в правой части панели инструментов.

Примечание: Если кнопки «Выполнить» и «Отладка» отключены и в списке нет целей, Flutter не смог обнаружить ни одного подключенного iOS или Android-устройства или симуляторы. Вам нужно подключить устройство или запустить симулятор, чтобы продолжить.

  1. Найдите кнопку раскрывающегося списка «Выбор цели флаттера» . Это показывает список доступных целей.
  2. Выберите цель, на которой вы хотите запустить свое приложение. Когда вы подключаете устройства или запускаете симуляторы, появляются дополнительные записи.

Запустить приложение без точек останова

  1. Щелкните значок Play на панели инструментов или вызовите Run > Run . На нижней панели Run отображаются выходные данные журналов.

Запустить приложение с точками останова

  1. При желании установите точки останова в исходном коде.
  2. Щелкните значок Debug на панели инструментов или вызовите Run > Debug .
    • Нижняя панель Debugger показывает кадры стека и переменные.
    • На нижней панели консоли отображаются подробные выходные данные журналов.
    • Отладка основана на конфигурации запуска по умолчанию. Чтобы настроить это, нажмите кнопку раскрывающегося списка справа. селектора устройств и выберите Редактировать конфигурацию .

Цикл разработки с быстрым редактированием и обновлением

Flutter предлагает лучший в своем классе цикл разработки, позволяющий увидеть эффект ваши изменения практически мгновенно благодаря функции Stateful Hot Reload . Подробнее см. в разделе «Горячая перезагрузка».

Показать данные о производительности

Примечание: Чтобы изучить проблемы с производительностью во Flutter, см. Просмотр временной шкалы.

Для просмотра данных о производительности, включая перестроение виджета информация, запустите приложение в Режим отладки , а затем открыть окно инструмента «Производительность» с помощью Вид > Окна инструментов > Производительность флаттера .

Чтобы просмотреть статистику о том, какие виджеты перестраиваются и как часто, нажмите Показать информацию о перестроении виджета на панели Производительность . Точное количество перестроений для этого кадра отображается во втором колонка справа. При большом количестве перестроек желтый индикатор отображается круг. Крайний правый столбец показывает, сколько раз виджет был перестроен с момента входа на текущий экран. Для виджетов, которые не перестроены, отображается сплошной серый кружок. В противном случае отображается серый вращающийся круг.

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

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

Этот инструмент может помочь вам отладить как минимум четыре распространенные проблемы с производительностью:

  1. Весь экран (или большие его части) построены одним StatefulWidget, вызывающий ненужное создание пользовательского интерфейса. Разделить UI в более мелкие виджеты с меньшими функциями build() .

  2. Закадровые виджеты перестраиваются. Это может случиться, например, когда ListView вложен в высокий столбец, выходящий за пределы экрана. Или когда RepaintBoundary не установлен для списка, который расширяет за кадром, что приводит к перерисовке всего списка.

  3. Функция build() для AnimatedBuilder рисует поддерево, которое не нужно анимировать, вызывая ненужные перестроения статических объекты.

  4. Виджет «Непрозрачность» слишком высоко расположен в дереве виджетов. Или анимация непрозрачности создается путем непосредственного манипулирования свойство opacity виджета Opacity, в результате чего сам виджет и его поддерево для перестроения.

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

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

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

Советы по редактированию кода Flutter

Если у вас есть дополнительные советы, которыми мы хотели бы поделиться, дайте нам знать!

Подсказки и быстрые исправления

Подсказки — это изменения кода, связанные с определенным идентификатором кода. Некоторые из них доступны, когда курсор находится на Идентификатор флаттер-виджета, обозначенный значком желтой лампочки. Ассистент можно вызвать, щелкнув лампочку или используя кнопку сочетание клавиш ( Alt + Введите в Linux и Windows, Опция + Возврат в macOS), как показано здесь:

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

Обернуть с помощью нового виджета

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

Оберните список виджетов с помощью нового помощника по виджетам

Аналогичен помощи выше, но для переноса существующего списка виджеты, а не отдельные виджеты.

Преобразовать дочерний в дочерний помощник

Изменяет дочерний аргумент на дочерний аргумент, и заключает значение аргумента в список.

Живые шаблоны

Живые шаблоны можно использовать для ускорения ввода типовых структур кода. Они вызываются путем ввода их префикса, а затем выбора его в коде. окно завершения:

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

  • Префикс stless : Создайте новый подкласс StatelessWidget .
  • Префикс stful : Создайте новый подкласс StatefulWidget и связанный с ним подкласс State.
  • Prefix stanim : Создайте новый подкласс StatefulWidget и его связанный подкласс State, включая поле, инициализированное с помощью Контроллер анимации .

Вы также можете определить пользовательские шаблоны в Настройки > Редактор > Живые шаблоны .

Сочетания клавиш

Горячая перезагрузка

В Linux (раскладка клавиатуры по умолчанию для XWin ) и Windows сочетания клавиш Контроль + Альт + ; и Управление + Обратная косая черта .

В macOS (раскладка клавиатуры Mac OS X 10.5+, копия ) сочетания клавиш Команда + Опция и Команда + Обратная косая черта .

Раскладки клавиатуры можно изменить в настройках/настройках IDE: выберите Keymap , затем введите flutter в поле поиска в правом верхнем углу. Щелкните правой кнопкой мыши привязку, которую вы хотите изменить, и Добавить сочетание клавиш .

Горячая перезагрузка по сравнению с горячим перезапуском

Горячая перезагрузка работает путем внедрения обновленных файлов исходного кода в работающий Дарт ВМ (виртуальная машина). Сюда входит не только добавление новых классов, но также добавление методов и полей к существующим классам, и изменение существующих функций. Однако некоторые типы изменений кода не могут быть перезагружены в горячем режиме:

  • Инициализаторы глобальных переменных
  • Инициализаторы статического поля
  • Метод main() приложения

Для этих изменений вы можете полностью перезапустить приложение, без необходимости завершать сеанс отладки. Чтобы выполнить горячий перезапуск, не нажимайте кнопку «Стоп», просто повторно нажмите кнопку «Выполнить» (если выполняется сеанс) или кнопку «Отладка» (если в сеансе отладки) или щелкните «горячий кнопка перезагрузки.

Редактирование кода Android в Android Studio с полной поддержкой IDE

При открытии корневого каталога проекта Flutter не отображаются все файлы Android. файлы в IDE. Приложения Flutter содержат подкаталог с именем android . если ты откройте этот подкаталог как отдельный проект в Android Studio, IDE сможет полностью поддерживать редактирование и рефакторинг всех файлов Android (например, Gradle-скрипты).

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

  • В «представлении проекта» вы должны увидеть подкаталог непосредственно под корень вашего флаттер-приложения с именем android . Щелкните правой кнопкой мыши на нем, затем выберите Flutter > Открыть модуль Android в Android Studio .
  • ИЛИ, вы можете открыть любой из файлов в подкаталоге android для редактирование. Затем вы должны увидеть баннер «Команды Flutter» в верхней части окна. редактор со ссылкой Открыть для редактирования в Android Studio . Щелкните эту ссылку.

Для обоих вариантов Android Studio позволяет использовать отдельные окна или заменить существующее окно новым проектом при открытии второго проект. Любой вариант подходит.

Если у вас еще не открыт проект Flutter в студии Android, вы можете открыть файлы Android как отдельный проект с самого начала:

  1. Нажмите Откройте существующий проект Android Studio на приветствии экран-заставка или Файл > Открыть , если Android Studio уже открыта.
  2. Откройте подкаталог android непосредственно в корневом каталоге приложения флаттера. Например, если проект называется flutter_app , откройте flutter_app/android .

Если вы еще не запускали свое приложение Flutter, вы можете увидеть, как Android Studio сообщает о ошибка сборки при открытии проекта android . Запустите флаттер-паб, получите в корневой каталог приложения и перестройте проект, выбрав Build > Make . починить это.

Редактирование кода Android в IntelliJ IDEA

Чтобы разрешить редактирование кода Android в IntelliJ IDEA, необходимо настроить расположение Android SDK:

  1. В Preferences > Plugins включите Поддержка Android , если вы еще нет.
  2. Щелкните правой кнопкой мыши папку android в представлении «Проект» и выберите «Открыть». Настройки модуля .
  3. На вкладке Sources найдите Language level 9.поле 0525 и выберите уровень 8 или выше.
  4. На вкладке Dependencies найдите поле Module SDK , и выберите Android SDK. Если SDK не указан, щелкните New . и укажите расположение Android SDK. Обязательно выберите Android SDK, соответствующий тому, который используется Флаттер (как сообщает флаттер доктор ).
  5. Щелкните OK .

Советы и рекомендации

  • Шпаргалка Flutter IDE, MacOS версии
  • Шпаргалка по Flutter IDE, версия для Windows и Linux

Устранение неполадок

Известные проблемы и отзывы

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

Все известные ошибки отслеживаются в средствах отслеживания проблем:

  • Плагин Flutter: средство отслеживания проблем GitHub
  • Плагин Dart
  • : JetBrains YouTrack

Мы приветствуем отзывы, как об ошибках/проблемах, так и о запросах новых функций. До подачи новых выпусков:

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

При регистрации новых выпусков включите вывод flutter doctor .

Android Studio Краткое руководство | Codecademy

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

Основы интерфейса

Когда вы открываете проект в Android Studio, вы увидите экран, подобный следующему:

Рисунок A. Главное окно

Вот чему соответствует каждая выделенная область.

  • А-1. На панели проектов перечислены все файлы, включенные в ваш Android-проект.

Однако в первую очередь вы сосредоточитесь на коде, расположенном в приложении > java > {com}.{example}.{appname} каталог. В общем, вы можете игнорировать остальные папки и файлы, используемые в основном для тестирования и настройки приложения (более сложная тема).

Дважды щелкните любую папку или файл, чтобы открыть его содержимое.

  • А-2. Вкладки файлов указывают каждый «открытый» файл.

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

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

  • А-3. Элементы управления запуском помогают «запустить» приложение, выбрать целевое устройство/эмулятор и многое другое.

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

  • А-4. Область редактирования — это место, где выполняется основная часть вашей работы. Ваш текущий открытый файл занимает эту область.

Resource Manager

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

Эти файлы могут включать чертежи интерфейса (макеты XML), изображения, шрифты и многое другое.

И ваши данные могут включать текстовые строки (например, название приложения), стили XML, размеры (например, те, которые используются для ширины, высоты, размера текста) и многое другое.

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

Рисунок B. Диспетчер ресурсов

Щелкнув вкладку, выделенную зеленым цветом , можно открыть и свернуть диспетчер ресурсов .

Красная область указывает на различные категории ресурсов, к которым вы можете получить доступ через менеджер (Drawables, Colors, Strings и т. д.).

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

Совет: Двойной щелчок по любому ресурсу, указанному в диспетчере, откроет соответствующий файл в области редактирования.

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

Редактор макетов

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

  • Визуальный
  • Текст
  • Текст + предварительный просмотр

По умолчанию Android Studio открывает редактор макетов в режиме Visual , как показано ниже (чтобы просмотреть редактор макетов в том виде, в котором вы его видите, сверните панели «Проект» и/или «Диспетчер ресурсов», чтобы освободить место):

Рисунок C. Редактор визуального макета

Вы можете переключаться между Visual , Text и Text + Preview , щелкнув значки , выделенные красным .

  • С-1. Палитра компонентов поможет вам найти и выбрать компоненты макета Android (представления и группы представлений) для использования в ваших проектах.

Совет: Щелкните и перетащите компонент на предварительный просмотр макета ( C-4 ), чтобы добавить его в проект.

  • С-2. Дерево компонентов представляет отношения между родительскими и дочерними компонентами в вашем макете и помогает вам быстро сосредоточиться на конкретном компоненте, когда ваш макет становится сложным.

Совет: Щелкните любой компонент в дереве, чтобы выделить его в предварительном просмотре компоновки ( C-4 ).

  • С-3. Эта панель управления поможет вам изменить параметры предварительного просмотра, такие как «портрет» или «пейзаж», размер экрана и многое другое.

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

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

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

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

Раздел Назначение
Заявлено Ваш макет присваивает значение этим атрибутам, неназначенные атрибуты здесь не отображаются
.
Компоновка Этот раздел соответствует атрибутам, которые помогают позиционировать выбранный компонент
внутри его родителя.
Общий Это , предложенные Android Studio в качестве атрибутов, которые вы, вероятно, отредактируете для выбранного компонента
, например. атрибут text для TextView , src атрибут для
ImageView и т. д.
Все В этом разделе представлены все возможные атрибуты, которые ваш макет может предоставить для выбранных 9Компонент 0637.


Если вы хотите напрямую редактировать основной XML-контент, используйте переключатели (выделены красным, чтобы переключиться на Текст или Текст + Предварительный просмотр режим:

Рисунок D. Текст + предварительный просмотр редактора макета

После того, как вы переключились, например, на режим Text + Preview , по адресу D-1 , вы можете редактировать непосредственно файл макета XML. Изменения, внесенные в D-1 , будут отражены в D-2 , который также является активным предварительным просмотром макета.

Logcat

Панель Logcat обеспечивает доступ к системным сообщениям, распечатываемым вашим запущенным приложением, и каждому внутреннему компоненту, от которого оно зависит:

Рисунок E. Открытая панель Logcat

По умолчанию панель Logcat открывается после первого запуска приложения, но вы можете свернуть и открыть панель в любое время, щелкнув вкладку ее заголовка (выделена красным).

  • E-1. В этом раскрывающемся списке указывается источник сообщений журнала (эмулятор или устройство)
  • Е-2. Раскрывающийся список E-2 фильтрует сообщения журнала в зависимости от того, какое приложение их распечатало (по умолчанию журнал представляет собой общедоступный файл, в который любое приложение может записывать и читать)
  • Е-3. Используйте элементы управления на E-3 , чтобы изменить срочность представленных сообщений журнала ( Verbose представляет все сообщений, Ошибка представляет только сообщения об ошибках)
  • Е-4. Если вы знаете искомое сообщение, введите ключевое слово в это поле, чтобы отфильтровать сообщения, содержащие это ключевое слово
  • Е-5. Сообщения об ошибках отображаются красным цветом, что помогает вам идентифицировать их при чтении журналов

Ярлыки навигации

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

Искать все

Самый эффективный способ найти что-либо в Android Studio — открыть окно «Искать все»:

Рисунок F. Окно «Поиск по всем»

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

Используйте клавиши со стрелками (, , , ) и введите (или возврат ↩ ), чтобы выбрать и открыть нужный файл.

Go-To Source

При редактировании файла (кода или ресурса) нам часто нужно «перейти» к тому месту, где мы изначально определили переменную, тип класса или идентификатор ресурса. Выполняя щелчок «Перейти к источнику», мы можем открыть исходное объявление местоположения любого элемента:

Рисунок G. Переход к источнику (идентификатор макета) указывает на исходный файл макета

В области редактирования ( A-4 ), удерживайте клавишу CTRL в Windows / Linux (или клавишу CMD в OS X) и щелкните любой тип переменной или имя переменной, чтобы перейти к месту, где она была определена.

Вот что это позволяет вам делать:

  1. Перейти прямо к файлу макета, щелкнув его идентификатор ресурса
  2. Перейдите к определению класса, щелкнув тип объекта
  3. Отобразите рисуемый объект на экране, щелкнув его идентификатор ресурса
  4. И многое другое!

Ярлыки кодирования

Когда вы кодируете, Android Studio из кожи вон лезет, чтобы уменьшить количество раз, когда ваши бедные пальцы должны молотить по клавиатуре. Эти советы помогут вам быстрее создавать код и компоненты макета.

Автозаполнение

Многие интегрированные платформы разработки предлагали автозаполнение (дополнение кода) до того, как это стало модным. При работе со строго типизированным языком, таким как Java, эти платформы думают на один или два шага впереди программиста, чтобы предлагать ярлыки по мере того, как они печатают:

Рисунок H. Автодополнение кода для View.OnClickListener

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

  • Windows + Linux: CTRL + Пробел
  • ОС Х: CMD + Пробел

Существует также версия fancier , которая соответствует ожидаемым типам на 100%:

  • Windows + Linux: CTRL + Shift + Пробел
  • OS X: CMD + Shift + Пробел

После появления всплывающего меню автозаполнения используйте клавиши со стрелками (, , , ) в сочетании с TAB , чтобы вставить фрагмент кода с автозаполнением.

Создание общего кода

Android Studio может помочь вам создать общие шаблоны кода (конструкторы, геттеры, сеттеры и т. д.) с помощью интерфейса «укажи и щелкни»; они называют эту функцию «генерацией кода». Вот пример Android Studio, создающий конструктор для класса Question.java :

Рисунок I. Создание конструктора с помощью генерации кода

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

Чтобы начать генерацию кода, используйте следующую комбинацию клавиш, когда область редактирования ( A-4 ) находится в фокусе:

  • Windows + Linux: ALT + Вставка
  • OS X: CMD + N

Откроется всплывающее окно «Создать», в котором можно перемещаться с помощью клавиш со стрелками (, , , ). Нажмите return ↩ , чтобы выбрать элемент, который вы хотите сгенерировать (например, конструктор), затем следуйте инструкциям на экране.

Существует два типа комментариев: Строковые комментарии и Блочные комментарии .

 
 

// Это строчный комментарий

int myVariable = 5;

/*

* Это блочный комментарий!

*/

Чтобы превратить любую строку кода в Line Comment , поместите курсор ввода на обозначенную строку и используйте следующую комбинацию клавиш:

  • Windows + Linux: CTRL + / /
  • OS X: CMD + /

Это работает и в обратном порядке! Превратите комментарий строки в обычный фрагмент кода, повторив сочетание клавиш в строке комментария.

Для создания блочного комментария используйте следующую комбинацию клавиш:

  • Windows + Linux: CTRL + Shift + /
  • OS X: CMD + Shift + /

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

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

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