Системные требования андроид студио: что это за программа, системные требования
Комфортная работа с 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: запуск приложения на телефоне
Статья содержит ответы на вопросы, как правильно провести Android Studio тестирование на реальном устройстве, какие при этом используются настройки и команды для разных девайсов.
Разработка мобильного приложения предполагает процесс тестирования на работающем гаджете. Для Android Studio отладка на реальном устройстве возможна несколькими способами. Это можно сделать при помощи:
- эмулятора;
- сетевого подключения TCP,IP;
- USB.
Чтобы провести Android Studio отладка по USB, подключаются соответствующие драйвера. Они первыми установятся автоматически после запуска на ПК.
Android предлагает разработчикам редактирование языка программирования (Java, C++, Kotlin), является компилятором создания АРК-файлов. Включает дополнительные инструменты:
- Android Device Monitor;
- AVD Manager;
- ADB и др.
Что означает ADB для Android studio
Android Debug Bridge или adb – утилита командной строки. С ее помощью проводится Android Studio тестирование на реальном устройстве:
- копируются файлы на смартфон и обратно;
- удаляются приложения;
- выполняются опции резервного копирования;
- восстановление приложений на устройствах.
Работает на модели клиент-сервер. Утилита размещается на компьютере в каталогах на диске С.
Adb устанавливается также через Wi-Fi. Для этого обеспечивается подключение устройств к одному Wi-Fi, иначе они не смогут распознать друг друга. Опция разрешает Android Studio запуск приложения на телефоне с операционной системой Android.
Android Debug Bridge – консольное приложение для использования в тестовой среде на мобильных гаджетах. Специализированные команды помогают взаимодействовать с устройствами по специализированным функциям.
Настройка Android-устройства для тестирования с ADB
После установки Android Studio на устройство применяется инструментарий SDK. Далее в настройках приспособления проводятся изменения, которые отличаются из-за разных моделей гаджета, производителя и версии программного обеспечения. Действия, как в Андроид Студио подключить устройство, сводятся к обобщенным этапам:
- Перейти в настройках телефона или планшета Android в раздел «Об устройстве»;
- Нажать на дисплее семь раз по номеру билда;
- В части «Опции разработчика» активируется функция «Отладка по USB».
Android требует, чтобы приложение Android Studio получило разрешение прописать USB. Утилита располагает опциями:
- формировать отчеты, в которых указываются произошедшие ошибки;
- управлять разрешениями на доступ к устройству;
- тестировать процессы игры и приложения;
- определять подключенные к ПК устройства, которые готовы к работе с ADB.
Настройка ADB на Windows
Настройка ADB под Windows прописывается с любой директории ПК. Для использования функций на компьютере устанавливается SDK. Вес установочного пакета составляет 9 Мб. Он поддерживает все версии Windows. Инструмент автоматически устанавливает драйвера, которые необходимы для тестирования на устройстве. Набор для разработки программного обеспечения выпускается компанией Google. Отправляет команды терминала из внешних источников на телефон. Запуск происходит в Андроид Студио на телефоне с помощью Run App. После этого открывается окно выбора устройства, и запускается приложение.
Проверяем настройки ADB для тестирования
Проверка настроек проводится с помощью командной строки Windows. После запуска в поле для ввода поиска программ и файлов набирается строка «adb devices». В программе отразится перечень устройств, которые подключены к компьютеру. Если на экране появится непустой список, значит, настройки подключены правильно, и ADB работает в режиме реального времени.
Тестирование приложения с помощью реального устройства
Для тестирования:
- В Android Studio открывается приложение;
- Нажимается треугольник зеленого цвета;
- В раскрывшемся окне выбирается название телефона.
Инструментарий SDK устанавливает и запускает программу каждый раз при компиляции. Система показывает диалоговое окно с вопросом о необходимости приема ключей.
Что делать, если Android Studio не видит телефон Samsung? Настроить приложение, чтобы оно обнаружило устройство, использовать утилиту adb. Указанные способы рассказывают о Android Studio, показывают, как запустить проект на телефоне.
Уровень Android API, обратная и прямая совместимость
Добрый вечер, друзья. Мы подготовили полезный перевод для будущих студентов курса «Android-разработчик. Продвинутый курс». С радостью делимся с вами данным материалом.
Если вы читаете эту статью, значит вас могут интересовать такие вещи, как:
- Что означает уровень API?
- Как использовать
compileSdkVersion
,minSdkVersion
илиtargetSdkVersion
? - Как можно гарантировать, что приложение будет работать правильно на устройствах с разными версиями ОС?
Все эти понятия связаны друг с другом, и я постараюсь объяснить их вам в этой статье простым, но эффективным способом.
Для этого необходимо понимать разницу между SDK и API и знать что такое уровень API в экосистеме Android.
Это правда, что в Android между SDK и API существует отношение 1:1, и часто эти два термина используются как синонимы, но важно понимать, что это не одно и то же.
Правильнее говорить, что для каждой версии Android есть SDK и эквивалентный API, а также уровень этого API.
SDK
Расшифровывается как Software Development Kit (комплект для разработки программного обеспечения). Обратите внимание на слово «kit» (комплект)… он как раз представляет из себя набор различных инструментов, библиотек, документации, примеров, помогающих разработчикам создавать, отлаживать и запускать приложения для Android. API предоставляется вместе с SDK.
Если открыть SDK Manager в Android Studio, можно будет яснее увидеть, из чего состоит Android SDK.
На первой вкладке SDK Platform перечислены SDK каждой версии Android.
Как показано на рисунке ниже, Android 9.0 SDK (также известный как Pie) содержит:
- Android SDK Platform 28 (это API фреймворка).
- Исходный код для Android 28 (это реализация API, как вы видите, она не является обязательной… запомните это).
- и еще куча других вещей… например, различные системные образы для эмулятора Android.
Обзор SDK в Android Studio SDK Manager.
На второй вкладке SDK Tools показаны другие инструменты, которые также являются частью SDK, но не зависят от версии платформы. Это означает, что они могут быть выпущены или обновлены отдельно.
API
Расшифровывается как Application Programming Interface (программный интерфейс приложения). Это просто интерфейс, уровень абстракции, который обеспечивает связь между двумя разными «частями» программного обеспечения. Он работает как договор между поставщиком (например, библиотекой) и потребителем (например, приложением).
Это набор формальных определений, таких как классы, методы, функции, модули, константы, которые могут использоваться другими разработчиками для написания своего кода. При этом API не включает в себя реализацию.
Уровень API
Уровень API — это целочисленное значение, однозначно идентифицирующее версию API фреймворка, предлагаемую платформой Android.
Обычно обновления API фреймворка платформы разрабатываются таким образом, чтобы новая версия API оставалась совместимой с более ранними версиями, поэтому большинство изменений в новом API являются аддитивными, а старые части API становятся устаревшими, но не удаляются.
И теперь кто-то может задаться вопросом…
если API Android не предоставляет реализацию, а SDK Manager предлагает необязательный загружаемый исходный код API в составе SDK, то где находится соответствующая реализация?
Ответ прост. На устройстве.
Давайте разберемся с этим…
От исходного кода к APK-файлу
Как правило, проект под Android состоит из кода, написанного разработчиками с использованием Android API (модуль приложения), а также некоторых других библиотек/зависимостей (.jar-файлов, AAR, модулей и т.д.) и ресурсов.
Процесс компиляции преобразует код, написанный на Java или Kotlin, включая зависимости (одна из причин уменьшить ваш код!), в байт-код DEX, а затем сжимает все в файл APK вместе с ресурсами. На данном этапе реализация API не включена в итоговый APK!
Процесс сборки — Android Developers
DEX файлы и Android Runtime
Архитектура Android — Android Developers
Android Runtime — это место, где делается вся грязная работа и где выполняются DEX-файлы. Оно состоит из двух основных компонентов:
- Виртуальная машина, чтобы воспользоваться преимуществами переносимости кода и независимости от платформы. Начиная с Android 5.0 (Lollipop), старая среда выполнения, Dalvik Virtual Machine, была полностью заменена новой средой Android RunTime (ART). Dalvik использовал JIT-компилятор, тогда как ART использует AOT (Ahead of time) компиляцию плюс JIT для профилирования кода во время выполнения.
- Базовые библиотеки — это стандартные библиотеки Java и Android. Проще говоря, именно здесь находится реализация API.
Версия API, доступная на этом уровне, соответствует версии платформы Android, на которой запущено приложение.
Например, если на фактическом устройстве установлен Android 9 (Pie), доступны все API до 28 уровня.
Если вам понятны ключевые моменты работы Android Runtime и какова роль API, то должно быть достаточно просто понять обратную и прямую совместимость, а так же использование compileSdkVersion
, minSdkVersion
и targetSdkVersion
.
compileSdkVersion
Это значение используется только для указания Gradle, с какой версией SDK компилировать ваше приложение. Это позволяет разработчикам получить доступ ко всем API, доступным до уровня API, установленного для compileSdkVersion
.
Настоятельно рекомендуется выполнить компиляцию с последней версией SDK:
- высокий уровень API позволяет разработчикам использовать преимущества последнего API и возможностей, предоставляемых новыми платформами.
- чтобы использовать последнюю версию
SupportLibrary
,compileSdkVersion
должен соответствовать версииSupportLibrary
.
Например, чтобы использовать SupportLibrary-28.x.x
, compileSdkVersion
также должен быть равен 28.
- для перехода на AndroidX или его использования, compileSdkVersion должен быть установлен как минимум равным 28.
- чтобы быть готовым удовлетворить требования целевого уровня API от Google Play. В Google объявили, что для более быстрого распространения новых версий Android на рынке Google каждый год будет устанавливать минимальный целевой уровень API для новых приложений и обновлений. Больше информации вы можете найти здесь и здесь.
Приложения Android совместимы с новыми версиями платформы Android, поскольку изменения в API обычно являются аддитивными, а старое API может стать устаревшим, но не удаленным.
Это означает, что прямая совместимость в основном гарантируется платформой, и при запуске приложения на устройстве с более высоким уровнем API, чем тот, который указан в compileSdkVersion
, не возникает никаких проблем во время выполнения, приложение будет работать так же, как и ожидалось, на более новых версиях платформы.
Например:
Приложение + compileSdkVersion = 26 и метод API xyz()
, представленный в API 26 уровня, могут работать на устройстве с Android 8 Oreo (API 26 уровня).
Это же приложение может работать на устройстве с Android 9 Pie (API 28 уровня), поскольку метод API xyz()
все еще доступен на API 28 уровня.
minSdkVersion
Это значение обозначает минимальный уровень API, на котором приложение может работать. Это минимальное требование. Если не указан, значением по умолчанию является 1.
Разработчики обязаны установить корректное значение и обеспечить правильную работу приложения до этого уровня API. Это называется обратной совместимостью.
Во время разработки Lint
также предупредит разработчиков при попытке использовать любой API ниже указанного в minSdkVersion
. Очень важно не игнорировать предупреждения и исправить их!
Чтобы обеспечить обратную совместимость, разработчики могут во время выполнения проверять версию платформы и использовать новый API в более новых версиях платформы и старый API в более старых версиях или, в зависимости от случая, использовать некоторые статические библиотеки, которые обеспечивают обратную совместимость.
Также важно упомянуть, что Google Play Store использует это значение, чтобы определить, можно ли установить приложение на определенное устройство, сопоставив версию платформы устройства с minSdkVersion
приложения.
Разработчики должны быть очень осторожны при выборе этого значения, поскольку обратная совместимость не гарантируется платформой.
Выбор «правильного» значения для проекта также является бизнес-решением, поскольку оно влияет на то, насколько большой будет аудитория приложения. Посмотрите на распределение платформ.
Например:
Приложение + compileSdkVersion = 26 + minSdkVersion
= 22 и метод API xyz()
, представленный в API 26 уровня, могут работать на устройстве с Android 8 Oreo (API 26 уровня).
Это же приложение можно установить и запустить на более старом устройстве с Android 5.1 Lollipop (API 22 уровня), где метода API xyz()
не существует. Если разработчики не обеспечили обратную совместимость ни с помощью проверок времени выполнения, ни с помощью каких-либо библиотек, то приложение будет аварийно завершать работу, как только оно попытается получить доступ к методу API xyz()
.
targetSdkVersion
Это значение указывает уровень API, на котором приложение было разработано.
Не путайте его с compileSdkVersion
. Последний используется только во время компиляции и делает новые API доступными для разработчиков. Первый, напротив, является частью APK (также как и minSdkVersion
) и изменяет поведение среды выполнения. Это способ, которым разработчики могут контролировать прямую совместимость.
Иногда могут быть некоторые изменения API в базовой системе, которые могут повлиять на поведение приложения при работе в новой среде выполнения.
Целевой уровень приложения включает поведение среды выполнения, которое зависит от конкретной версии платформы. Если приложение не готово к поддержке этих изменений поведения среды выполнения, оно, вероятно, завершится сбоем.
Простым примером является Runtime Permission, которое было представлено в Android 6 Marshmallow (API 23 уровня).
Приложение может быть скомпилировано с использованием API 23 уровня, но иметь целевым API 22 уровня, если оно еще не готово поддержать новую модель разрешений времени выполнения.
Таким образом, приложение может по-прежнему быть совместимым без включения нового поведения среды выполнения.
В любом случае, как уже упоминалось, Google требует, чтобы приложения удовлетворяли новым требованиям целевого уровня API, поэтому всегда следует иметь высокий приоритет для обновления этого значения.
Теперь соединяя все это вместе, мы видим четкое отношение
minSdkVersion ≤ targetSdkVersion ≤ compileSdkVersion
Имейте в виду, что настоятельно рекомендуется выполнить компиляцию в соответствии с последним уровнем API и стараться использовать targetSdkVersion == compileSdkVersion.
Источники
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 – результат стремления ребят из 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
и
featuresBuildConfig 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, вы можете просто обновиться
до последнего релиза.
Как и
любые разработчики, гугловцы любят и ценят отзывы (хорошие и плохие) о том, что
вам нравится/не нравится, а также о функционале, который вы хотели бы видеть.
Если вы обнаружите баг – смело отправляйте сообщение о проблеме.
Комментарии к релизу Android Studio 3.4 (April 2019) / Хабр
Android Studio 3.4 это мажорный релиз включающий различные новые функции и улучшения
IntelliJ IDEA 2018.3.4
- ядро Android Studio обновлено улучшениями из IntelliJ IDEA из 2018.3.4 релиза
Android Gradle plugin 3.4.0
Новый диалог Project Structure
- новый Project Structure диалог (PSD) облегчает обновление зависимостей и конфигурирование различных аспектов вашего проекта, например модулей, вариантов сборки, конфигураций подписания и build-переменных
- вы можете открыть PSD выбрав «File > Project Structure» в меню. Вы можете так же открыть PSD через Ctrl+Shift+Alt+S в Windows и Linux, или Command+; (точка с запятой) в macOS. Ниже приведено описание новшеств и обновлений PSD
Переменные
раздел позволяет создавать и управлять build-переменными, например задать какая должна быть версия соответствующих зависимостей для всего проекта
- быстрый обзор и редактирование build-переменных, уже существующих в Gradle build скриптах вашего проекта
- добавление новых build-переменных на project- или modul-уровень напрямую из Project Structure диалога
- ПРИМЕЧАНИЕ: если существующие build configuration файлы задают значения через сложные Groovy скрипты, вам может быть недоступно редактирование этих значений через Project Structure диалог. Кроме того, вы не можете редактировать build-файлы написанные на Kotlin используя Project Structure диалог
Модули
- конфигурируйте свойства которые применяются во всех вариантах сборки существующих в модулях или добавляйте новые модули в ваш проект используя раздел Modules. Например, здесь вы можете сконфигурировать свойство defaultConfig или управлять конфигурациями подписания
Зависимости
инспектируйте и просматривайте каждую зависимость графа зависимостей вашего проекта, построенного Gradle при синхронизации проекта, следуя следующим шагам:
- на левой панели PSD, выберите «Dependencies»
- на панели «Modules» выберите модуль для которого вы хотели бы посмотреть зависимости
- в правой части PSD откройте панель «Resolved Dependencies» как показано ниже
вы можете так же быстро найти и добавить зависимости в ваш проект, выбрав модуль и нажав кнопку «+» в разделе «Declared Dependencies», и затем выбрав тип зависимости которую вы хотите добавить
в зависимости от типа выбранной вами зависимости, вы должны увидеть диалог подобный показанному ниже, помогающий вам добавить зависимость в модуль
Варианты сборки
- в этом разделе PSD, создаются и конфигурируются варианты сборки и разновидности (‘product flavors’) для каждого модуля вашего проекта. Вы можете добавить шаблоны (‘placeholders’) манифеста, ProGuard файлы и назначить ключи подписания и др.
Подсказки
- посмотреть предлагаемые обновления зависимостей вашего проекта и вариантов сборки можно в разделе «Suggestions», как показано ниже
Новый ‘менеджер ресурсов’
‘менеджер ресурсов’ (‘Resource Manager’) это новый инструмент для импорта, создания, управления и использования ресурсов вашего приложения. Вы можете открыть этот инструмент через меню «View > Tool Windows > Resource Manager». ‘Менеджер ресурсов’ позволяет вам делать следующее:
- Визуализировать ресурсы: вы можете предпросматривать drawables, цвета и layouts для быстрого поиска нужного ресурса
- Массовый импорт: вы можете импортировать несколько drawable assets за раз просто перетащив их в ‘менеджер ресурсов’ или через мастер «Import drawables». Для доступа к мастеру нажмите кнопку «+» в левом верхнем углу окна и затем выберите «Import Drawables» из выпадающего списка
- Конвертация SVG-файлов в объекты VectorDrawables: вы можете использовать мастер «Import Drawables» для конвертации ваших SVG изображений в объекты VerctorDrawables
- Drag&Drop assets: из окна ‘менеджера ресурсов’ вы можете перетаскивать drawables в ваш дизайн и в XML виджеты редактора размещений (‘Layout Editor’)
- Альтернативные версии виджетов: теперь вы можете иметь альтернативные версии ваших ресурсов через двойной клик на ресурсе в окне «Tool». Будут видны различные созданные вами версии и какие они содежат квалификаторы
- Отображение плиткой или списком: вы можете изменять отображение в окне визуализации ваших ресурсов используя разное их размещение
для большей информации обратитесь к руководству Manage app resources
Проверка build IDs при профайлинге и отладке APKs
- когда вы предоставляете «debugging symbol файлы» общих .so библиотек внутри вашего APK, Android Studio проверяет что build ID у «debugging symbol файлов» соответствует build ID .so-библиотек внутри APK
- если вы собираете нативные библиотеки в вашем APK с build ID, Android Studio проверяет соответствует ли build ID ваших «symbol файлов» и build ID ваших нативных библиотек и сбрасывает «symbol файлы» если соответствия нет. Если вы не собираете с build ID, то предоставление некорректных «symbol файлов» может приводить к проблемам при отладке
R8 включён по умолчанию
R8 объединяет desugaring, сжатие, обфускацию, оптимизацию и dexing в один шаг, что даёт заметное улучшение производительности. R8 был введён в Android Gradle plugin 3.3.0 и теперь включён по умолчанию и для приложения и для Android library проектов, использующих плагин версии 3.4.0 или выше
изображение ниже показывает в общих чертах процесс компиляции до R8
теперь, с R8, desugaring, сжатие, обфускация, оптимизация и dexing (D8) выполняются за один шаг, как показано ниже
R8 разработан для работы с вашими существующими ProGuard правилами, так что вам нет необходимости предпринимать каких-либо действий для получения преимуществ от R8. Между тем, поскольку эта технология отличается от ProGuard, который разработан специально для Android проектов, сжатие и оптимизация могут состоять в удалении кода который ProGuard не удаляет. Поэтому, в этой маловероятной ситуации, вам может потребоваться добавить дополнительные правила чтобы сохранить этот код в итоговой сборке
при возникновении проблем в использовании R8, прочтите R8 compatibility FAQ чтобы проверить нет ли готового решения. Если решение ещё не документировано, пожалуйства сообщите о баге. Вы можете отключить R8 через добавление одной из следующих инструкций в файл gradle.properties вашего проекта:
<i>#отключение R8 только для Android Library модулей</i> android.enableR8.libraries = false</p> <p><i>#отключение R8 для всех модулей</i> android.enableR8 = false
ПРИМЕЧАНИЕ: для указанного типа сборки, если вы зададите false для useProguard в файле build.gradle вашего app-модуля, Android Gradle plugin будет использовать R8 для сжатия кода приложения для этого типа сборки, вне зависимости отключен ли R8 в файле gradle.properties вашего проекта
Navigation Editor теперь поддерживает все типы аргументов
- все типы поддерживаемые компонентом Navigation теперь поддерживаются в Navigation Editor. Для большей информации о поддерживаемых типах см. Pass data between destinations
Улучшения в Layout Editor
панель «Attributes» в Layout Editor была упрощена до одной страницы с разделами, которые можно разворачивать для настройки нужных атрибутов. Панель «Attributes» имеет так же следующие обновления:
- новый раздел «Declared Attributes» перечисляет атрибуты указанные в layout-файле и позволяет быстро добавить новые
- панель «Attributes» теперь также оснащена индикатором возле каждого атрибута который заполнен когда значением атрибута является ресурс
- теперь подсвечиваются атрибуты с ошибками и предупреждениями. Красная подсветка указывает на ошибки (например когда вы используете неверные значения размещения), а оранжевая указывает на предупреждения (например, когда вы используете hard-coded значения)
Новые подсказки действий для быстрого импорта зависимостей
- если вы начинаете использовать определённые Jetpack и Firebase классы в вашем коде, новые подсказки действий предлагают добавить необходимые Gradle library зависимости в ваш проект, если они ещё не добавлены. Например, если вы ссылаетесь на класс WorkManager первый раз, необходима зависимость android.arch.work:work-runtime, а подсказка действия позволит вам добавить её в одно нажатие как показано ниже
- в частности, т.к. Jetpack представлен отдельными пакетами (что облегчает управление ими и обновление), позсказка действия помогает вам быстро добавить только зависимости необходимые Jetpack компонентам которые вы используете
3.4.0 известные проблемы
- профайлинг отключается при равёртывании вашего приложения на устройсвах работающих на Android Q Beta
- когда используется Data Binding Library, LiveDataListener.onChanged() может падать с NullPointerException. Исправление этой проблемы будет включено в Android Studio 3.4.1 и это уже доступно в последней Preview версии Android Studio 3.5 (см. баг 122066788)
Топ-17 плагинов для Android Studio / Хабр
Существуют сотни плагинов для Android Studio, и их число растёт с каждым днём. Это в основном происходит по двум причинам. Во-первых, Android Studio — это официальная интегрированная среда разработки для создания Android-приложений. Во-вторых — Intellij IDEA, платформа, на которой основана Android Studio, позволяет разрабатывать и легко устанавливать полезные плагины, совместимые с обеими IDE. Какие плагины устанавливаете вы?
Конечно, вы можете программировать в «голой» Android Studio, просто установив необходимые библиотеки и не добавив ни одного плагина. Но зачем? Плагины для Android Studio могут сделать вашу работу более эффективной и увлекательной. Сейчас мы расскажем вам про топ плагинов Android Studio, которые смогут утроить (как минимум) вашу производительность.
В список лучших плагинов для Android Studio мы включили некоторые базовые инструменты, проверенные временем, а также ряд малоизвестных жемчужин, рекомендованных опытными разработчиками Android-приложений. Итак, вот наши любимые плагины Android Studio:
Как следует из названия, этот плагин поможет сэкономить часы утомительной ручной работы со строками. Он позволяет изменять стиль текста (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case, нижний регистр, Заглавные Буквы, PascalCase), кодировать / декодировать, увеличивать / уменьшать, сортировать, фильтровать и выравнивать.
Вы только посмотрите, на что способен следующий плагин. Плагин Codota использует машинное обучение для автодополнения вашего кода. Плагин учится на примерах кода из миллионов Java-программ вместе с вашим собственным уникальным контекстом. Используемый как начинающими, так и опытными Java-разработчиками, Codota ускоряет разработку и помогает устранить те раздражающие ошибки, которые появляются в вашем коде.
В дополнение к плагину, Codota также предлагает обширную библиотеку часто используемых фрагментов Java-кода для копирования и вставки в нужное место.
Этот простой плагин намного полезнее, чем можно подумать на первый взгляд. Поскольку ваш код и приложение становятся более сложными для компиляции и запуска, это будет сказываться на вашем процессоре. Одна из наиболее полезных функций индикатора использования процессора — это возможность генерировать дамп потока, чтобы показать, что засоряет процессор в фоновом потоке.
Скобки всегда были источником головной боли для программистов. Сколько часов было потрачено на поиск этой недостающей скобки? Хватит это терпеть!
Вместо того, чтобы сидеть и пытаться понять, какую скобку вы уже закрыли, а какую ещё нет, разукрасьте скобки с помощью плагина Rainbow Brackets.
Он поддерживает Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby, Elixir, ObjectiveC, PHP, HTML, XML, SQL, Apex, C #, Dart и другие языки.
Сложный Java-код для Android-приложений часто может содержать много шаблонного кода (конструкторы, геттеры, сеттеры). Это может быть утомительно и трудно с точки зрения читабельности и поддержки кода. Project Lombok — это Java-библиотека, которая подключается к вашей IDE и генерирует этот шаблонный код за вас, сохраняя ваш код лаконичным и читабельным. Разница кода до и после может быть довольно ошеломляющей.
Стоит отметить, что Lombok, будучи библиотекой времени компиляции, не сделает ваше приложение более тяжеловесным. Кроме того, разработчики плагина на своём сайте предлагают много полезных ресурсов для пользователей и разработчиков плагинов.
Если вы собираетесь работать с drawable при разработке Android-приложения, то это именно тот плагин, о существовании которого вам следует знать.
Чтобы адаптировать ресурсы ко всем размерам и разрешениям экрана Android-устройств, в каждом Android-проекте есть папка drawable. Если вы были благословлены дизайнером из Рая, который предоставляет ресурсы, уже находящиеся в нужных папках с правильными именами, мы искренне завидуем вам. Но скорее всего, вам вряд ли так повезло, и вы сами переименовываете и перемещаете PNG-файлы в нужные папки.
Android Drawable Importer — это плагин, который сэкономит вам массу времени. Он позволяет импортировать отдельные ресурсы для регулирования под необходимые размеры и разрешения, целые zip-файлы для автоматического размещения в необходимые папки.
Для предварительного просмотра векторного XML-файла нужно запускать приложение. Vector Drawable Thumbnails поможет вам избавиться от этого и отобразит векторные рисунки по одному щелчку мыши.
Когда в вашем проекте много drawable-компонентов, ориентироваться в них бывает очень сложно. Было бы неплохо, если бы в IDE был быстрый предварительный просмотр изображений, да? С Android Drawable Preview Plugin это возможно.
Этот плагин для Android Studio заменяет иконки по умолчанию в дереве файлов проекта предварительными просмотрами элементов. Но не забывайте использовать адекватные имена для drawable, это всё равно важно.
Позвольте мне начать с разрушения мифа. Не все женщины могут отличить бирюзу от цвета морской волны или цвет баклажана от цвета сливы. И для этого не обязательно быть дальтоником.
Наличие и популярность этого плагина говорит о том, что большинство разработчиков также не имеют этого волшебного навыка распознавания цветов.
Плагин Name That Color назовёт цвет, который у вас есть в буфере обмена, прямо в файле ресурсов в Android Studio, и даст название наиболее близкого соответствующего цвета. Эпоха «lighter_light_pink» в ваших xml-файлах подходит к концу.
bundletool — это базовый инструмент, который Gradle, Android Studio и Google Play используют для создания Android App Bundle или преобразования app bundle в различные APK, развёртываемые на устройствах. Этот инструмент от Google необходим для более эффективной работы с APK-пакетами.
Android ButterKnife — это библиотека для внедрения зависимостей. Как правило, это улучшает читабельность кода, позволяя сосредоточиться на логике, а не смешивать в кучу код для поиска View-компонентов или добавления слушателей.
Android ButterKnife Zelezny — плагин для Android Studio для создания инъекций ButterKnife из выбранных XML-макетов в Activity, фрагментах или адаптерах. Большинство руководств по ButterKnife, которые вы найдёте, будут рекомендовать вам установить Zelezny.
Android Input — это довольно простой, но полезный плагин для Android Studio, который позволяет легко вводить текст прямо на ваше Android-устройство или эмулятор. Он запоминает последнее использованное устройство и последний введённый текст.
Этот плагин как для Intellij IDEA, так и для Android Studio добавляет ряд полезных сочетаний клавиш для различных команд ADB-инструментов прямо в вашей IDE. Хотя это кажется излишним дополнением, разработчики говорят, что ADB Idea действительно может ускорить разработку и отладку Android-приложений.
Называя себя «швейцарским ножом для тестирования и разработки под Android», adb-extended — интерфейс командной строки для запуска различных сценариев. Это позволяет вам протестировать многие потенциально ошибочные поведения приложений, такие как поворот экрана, режим экономии заряда аккумулятора, режим сохранения данных, режим ожидания и предоставление или отзыв разрешений.
Этот плагин упрощает подключение устройства к ADB через WiFi для отладки. Как и многие другие небольшие, но удобные плагины, этот — это просто обёртка для серии команд, которые вы можете выполнить в командной строке. Но почему бы не сделать этот процесс комфортнее?
Here there be dragons — это плагин Intellij и Android Studio, который позволяет аннотировать ваши «нечистые» Java-методы аннотацией @SideEffect. При вызове такого метода плагин отображает маленький значок дракона.
Да и к тому же этот плагин слишком симпатичный, чтобы не включать его в наш список. Это же драконы!
Вы знаете, ваш код просто эпичен. Когда вы ночи напролёт кодите, а в вашей крови высокое содержание кофеина, то можно почувствовать, как ваши пальцы изрыгают огонь и сотрясают мир. Вы — Бог. И вы заслуживаете того, чтобы программировать, как Бог.
И напоследок
Прежде чем приступить к установке всех плагинов из списка, вы должны помнить, что большое количество плагинов обычно замедляет работу IDE. Подумайте о своих привычках во время написания кода и посмотрите, какие плагины будут экономить ваше время, не добавляя лишнего веса в Android Studio.
Минимальные требования к оборудованию для студии Android?
Переполнение стека
- Около
Товары
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
Установите Android Studio
Установите Android Studio
Android Studio — это официальная интегрированная среда разработки (IDE), рекомендованная Google для разработки приложений Android на основе IntelliJ IDEA.
В этом блоге мы узнаем, как установить Android Studio, которую мы будем использовать для легкого создания классных Android-проектов. Итак, приступим.
Меч никогда никого не убивает; это инструмент в руках убийцы
Загрузить Android Studio
Перед установкой Android Studio вам необходимо загрузить последнюю версию Android Studio (всегда предпочитайте последнюю версию, потому что в ней меньше ошибок и улучшены функции).
Загрузите последнюю версию Android Studio отсюда.
Если вы устанавливаете Android Studio 2.2 или выше, вам не нужно устанавливать JDK отдельно, потому что он поставляется с JDK. Но если вы устанавливаете Android Studio версии 2.1 или ниже (чего вы не собираетесь делать :)), вы можете скачать JDK с здесь .
Итак, вы закончили загрузку. Давайте установим Android Studio на разные доступные машины.
Установка на компьютере с Windows
Требования:
- Минимум 4 ГБ ОЗУ, рекомендуется 8 ГБ ОЗУ
- Минимум 2 ГБ доступного дискового пространства, рекомендуется 4 ГБ (500 МБ для IDE + 1.5 ГБ для Android SDK и образа системы эмулятора)
- 1280 x 800 минимальное разрешение экрана
- Microsoft Windows 7/8/10 (32- или 64-разрядная). Эмулятор Android поддерживает только 64-разрядную версию Windows
Шаги установки в Windows:
- Для файла .exe (рекомендуется) дважды щелкните, чтобы запустить его.
- Для модели . zip , распакуйте ZIP, скопируйте папку android-studio в папку Program Files (обычно на диске C), а затем откройте android-studio> bin > studio64.exe (для 64-битной машины) или studio.exe (для 32-битной машины).
- Следуйте инструкциям мастера установки Android Studio, который поможет вам с остальной частью процесса и установите все рекомендуемые пакеты SDK.
Custom SDK – Если у вас есть файлы SDK, выберите Custom Install в поле Install Type. В компонентах SDK снимите флажок SDK. Вам будет предложено указать расположение каталога SDK.
Если в Android Studio есть обновление, вам будет показано всплывающее окно для загрузки новых обновлений.Кроме того, вы можете проверить наличие обновлений, выбрав «Справка »> «Проверить наличие обновлений ».
Установка на MAC
Требования:
- Минимум 4 ГБ ОЗУ, рекомендуется 8 ГБ ОЗУ
- Минимум 2 ГБ доступного дискового пространства, рекомендуется 4 ГБ (500 МБ для IDE + 1,5 ГБ для Android SDK и системы эмулятора image)
- Минимальное разрешение экрана 1280 x 800
- Mac OS X 10.10 или выше
Шаги установки на Mac:
- Запустите DMG-файл Android Studio
- Перетащите Android Studio в папку «Приложения» и запустите Android Studio.
- Установите / снимите флажок, чтобы импортировать предыдущие настройки Android Studio, затем нажмите ОК .
- Следуйте инструкциям мастера установки Android Studio, который поможет вам с остальной частью процесса, включая загрузку компонентов Android SDK, необходимых для разработки.
DMG Damage Error — Если вы видите предупреждение при открытии Android Studio, в котором говорится, что пакет поврежден, перейдите в Системные настройки > Безопасность и Конфиденциальность и ниже Разрешите приложения, загруженные из выберите Anywhere .Затем снова откройте Android Studio.
Если в Android Studio есть обновление, вам будет показано всплывающее окно для загрузки новых обновлений. Кроме того, вы можете проверить наличие обновлений, выбрав «Справка »> «Проверить наличие обновлений ».
Установка на Linux Machine
Требования:
- Минимум 4 ГБ ОЗУ, рекомендуется 8 ГБ ОЗУ
- Минимум 2 ГБ доступного дискового пространства, рекомендуется 4 ГБ (500 МБ для IDE + 1,5 ГБ для Android SDK и эмулятора образ системы)
- 1280 x 800 минимальное разрешение экрана
- Рабочий стол GNOME или KDE
- Библиотека GNU C (glibc) 2.19 или более поздняя версия
- 64-битный дистрибутив с возможностью запуска 32-битных приложений
Этапы установки в Linux:
- Распакуйте . zip файл, загруженный в предпочтительное место, например, в / usr / mindorks / для вашего профиля пользователя или / opt / для общих пользователей.
- Чтобы запустить Android Studio, откройте терминал (ctrl + alt + T), перейдите в каталог android-studio / bin и запустите studio.sh , запустив ./studio.sh
- Установите / снимите флажок, чтобы импортировать предыдущие настройки Android Studio, затем нажмите ОК .
- Следуйте указаниям мастера установки Android Studio, который поможет вам с остальной частью процесса, который также включает загрузку компонентов Android SDK, необходимых для разработки.
Для 64-битной версии Ubuntu вам необходимо установить некоторые 32-битные библиотеки с помощью следующей команды:
$ sudo apt-get install libc6: i386 libncurses5: i386 libstdc ++ i386 lib32z1 libbz2–1.0: i386
Для 64-битной Fedora команда:
$ sudo yum install zlib.i686 ncurses-libsi686 bzip2-libs.i686
Примечание : вы можете добавить android-studio / bin / ваша PATH переменная среды , чтобы вы могли запускать Android Studio из любого каталога.
Если в Android Studio есть обновление, вам будет показано всплывающее окно для загрузки новых обновлений. Кроме того, вы можете проверить наличие обновлений, выбрав «Справка »> «Проверить наличие обновлений ».
Итак, установка Android Studio завершена. Теперь вы можете запускать приложения, созданные в Android Studio, в эмуляторе Android, предоставляемом Android Studio. Но это замедлит работу вашего ноутбука (если у вас меньше оперативной памяти). Другой вариант запуска вашего приложения — ваше мобильное устройство. Для запуска приложений Android Studio на мобильном устройстве необходимо включить на мобильном устройстве параметры разработчика.
Включить параметры разработчика
Чтобы ваше устройство могло запускать приложение непосредственно из Android Studio на мобильное устройство, вам необходимо настроить устройство, разрешив Параметры разработчика .
Перейдите в «Настройки »> «Система»> «О телефоне»> 7 раз нажмите «Номер сборки» (это число может меняться в зависимости от устройства). Вы увидите одно сообщение в виде тоста с надписью «Теперь вы разработчик :)»
Вернитесь к предыдущему экрану и увидите « Параметры разработчика ». Откройте его и включите в нем «Отладку по USB», чтобы устанавливать приложения через USB.
Вот и все! Вы готовы создать свое первое приложение Android Studio 🙂 Это первый шаг, который вы сделали как разработчик Android.Прокомментируйте, если вы обнаружите ошибку во время установки Android Studio.
Удачного обучения 🙂
Команда MindOrks!
.
Системные требования для 100.8.0 — ArcGIS Runtime SDK для Android
На этой странице перечислены системные требования для выпуска 100.8.0 ArcGIS Runtime SDK для Android.
Системные требования для последних предыдущих выпусков указаны в нижней части этой страницы. Более старые системные требования см. В предыдущих версиях руководства в формате PDF на странице загрузок (требуется вход).
Операционные системы, поддерживаемые для разработки
Операционные системы, поддерживаемые ArcGIS Runtime SDK для Android, аналогичны тем, которые перечислены для Android SDK, разработанного Google.Как правило, разработка поддерживается в операционных системах Mac OS X (Intel), Linux и Windows. Обратитесь к документации Google, чтобы узнать о поддерживаемых версиях операционной системы.
Развертывание ваших приложений
Ваши приложения могут работать на телефонах и планшетах Android с платформой Android версии 5.0, Lollipop (уровень API 21) и выше. Устройства с armeabi-v7a и arm64-v8a
поддерживаются архитектуры.
Требования к программному обеспечению
ArcGIS Runtime SDK для транзитивных зависимостей Android
SDK вводит в ваш проект следующие переходные зависимости.Если вы зависите от ArcGIS Runtime SDK для Android, ссылаясь на него в своем скрипте Gradle из Bintray, как описано в разделе Установка SDK, эти транзитивные зависимости будут настроены для вашего проекта автоматически. Однако, если вам требуются эти зависимости в вашем собственном коде, вам необходимо явно добавить их в свой скрипт Gradle, чтобы они были добавлены в путь класса компиляции вашего проекта.
Зависимость | Версия | Область действия | Gradle |
---|---|---|---|
Gson | 2.8.5 | время выполнения | com.google.code.gson: gson: 2.8.5 |
Браузер Android | 1.0.0 | время выполнения | androidx.browser : browser: 1.0.0 |
IDE
Android Studio
Esri поддерживает и рекомендует использовать Android Studio (последний стабильный выпуск) для разработки приложений, использующих ArcGIS Runtime SDK для Android, так как это IDE официально поддерживается Google для разработки под Android.
Дополнительные рекомендуемые настройки в Android Studio см. В разделе «Установка и настройка».
IntelliJ IDEA
IntelliJ IDEA — это среда разработки, на которой основана Android Studio. Однако IntelliJ IDEA поставляется в комплекте с плагином для Android и поддерживает систему сборки на основе Android Gradle, поэтому вы можете напрямую работать с ArcGIS Runtime SDK для Android в IntelliJ IDEA. Узнайте больше о поддержке разработки под Android в IntelliJ IDEA.
Поддержка Android SDK
Инструменты Android SDK необходимы для разработки с этим SDK.Этот компонент Android SDK включен в Android Studio. Если вы разрабатываете с другой IDE, вам может потребоваться установить и настроить эти инструменты вручную. В зависимости от вашей среды IDE может потребоваться установка соответствующего Java Development Kit (JDK). Пакеты JDK можно загрузить с веб-сайта Oracle. Android Studio больше не требует установки отдельного JDK.
Языковые функции Java 8
Android Studio 3.0 представила поддержку подмножества языковых функций Java 8, которые зависят от версии платформы Android.Эти языковые функции используются во всей документации и примерах ArcGIS Runtime SDK для Android. Чтобы обеспечить компиляцию этих примеров кода при использовании в вашем приложении, установите совместимость модуля приложения в Android Studio для использования языковых функций Java 8. При использовании другой среды IDE может потребоваться вручную настроить использование языка Java 8.
OpenGL ES
ArcGIS Runtime SDK для Android использует технологию OpenGL ES для визуализации изображений карт. Эта технология делает продукт гораздо более универсальным и удобным за счет уменьшения объема памяти, значительного повышения скорости рендеринга и снижения энергопотребления.2D MapView использует OpenGL ES 3.0, если он доступен на устройстве, в противном случае используется OpenGL ES 2.0. Для 3D SceneView требуется OpenGL ES 3.0.
При использовании эмулятора Android необходимо настроить ускорение графики.
OpenGL ES 3.0 для геоанализа
OpenGL ES 3.0 или более поздней версии требуется, если вы используете инструменты геоанализа (см. Пакет com.esri.arcgisruntime.geoanalysis). Эти классы анализа в основном выполняют работу с графическим процессором (GPU).
Программное обеспечение ArcGIS и подключенные сервисы
Используйте эту таблицу для определения наименьшей версии программного обеспечения ArcGIS, которая поддерживает определенную функцию ArcGIS Runtime.
Программное обеспечение ArcGIS | Версия | Функциональные возможности, поддерживаемые SDK ArcGIS Runtime |
---|---|---|
ArcGIS Enterprise | 10,8 |
|
10.7.1 |
| |
10.7 | ||
10.6.1 |
| |
10,4 |
| |
10,3 |
| |
ArcGIS Pro | 2,6 |
|
2,5 |
| |
2,4 |
| |
2.3.2 |
| |
2,3 |
| |
2,2 |
| |
ArcMap | 10,3 |
Версии поддерживаемых спецификаций
Спецификации, поддерживаемые в этом выпуске, включают следующее:
- Дополненная реальность:
- Поддерживается ARCore версии 1.8
- GeoPackage версии 1.0, 1.1 и
1.2 - Военные стандарты APP-6 (B), APP-6 (D), MIL-STD-2525B (изменение 2), MIL-STD-2525C и MIL-STD-2525D
- Версии Web Feature Service (WFS) 2.0.0 и 2.0.2
- Web Map Service (WMS) версий 1.1.0, 1.1.1 и 1.3.0
- WMTS версии 1.0.0
- I3S версии 1.6
Связанные темы
.
Загрузить Android Studio 3.0.1 — Поддержка Java 8, Android Profiler
Android Studio 3.0.1 теперь можно загрузить и установить на свой компьютер по указанной выше ссылке. Google недавно начал продвигать новую версию Android Studio 3.0.1 на свой стабильный канал. Ранее бренд выпустил целый ряд предварительных версий для Android Studio 3.0, и после нескольких месяцев разработки IDE была завершена и теперь предлагается разработчикам по всему миру. Новые изменения довольно масштабные.Сначала идет официальная поддержка Kotlin, затем идут улучшения производительности, а также улучшения в обработке функций Java 8. Вы можете просмотреть все изменения в приведенном впереди списке. Разработчикам рекомендуется установить последнюю версию Android Studio, и по приведенной ниже ссылке вы можете загрузить и установить Android Studio 3.0.1 в своей системе.
Как уже упоминалось, Android Studio 3.0 ранее находилась в стадии разработки, но теперь, когда все тестирование завершено, пользователи могут загрузить и установить Android Studio 3.0.1 из стабильного канала. Прозвище .1 указывает на то, что это ступень выше версии 3.0, но изменения попадают в категорию уточнений, а не являются полностью новыми. Кроме того, Android Studio 3.0.1 будет безупречно работать с последними версиями API Android, поэтому обязательно используйте руководство, чтобы загрузить и установить эту версию.
Android Studio 3.0.1 — Характеристики:
Ниже приведены некоторые из ключевых функций Android Studio 3.0.1. Эти изменения были впервые введены в более старых сборках Preview, кроме Android Studio 3.0.1 теперь доступен для загрузки и установки через стабильный канал.
- Плагин Android для Gradle 3.0.0
- Поддержка Kotlin
- Поддержка языковых функций Java 8
- Анализатор APK
- Профилировщики Android
- Профилирование и отладка APK
- Диспетчер файлов устройства
- Приложения для Android с мгновенным запуском
- Мастер адаптивных иконок
- Собственные / проблемы C ++
- и общие исправления ошибок
Загрузить Android Studio 3.0,1:
Вы можете перейти по данной официальной ссылке, чтобы загрузить Android Studio 3.0.1:
Нужна помощь с установкой Android Studio? У нас есть полное руководство, которое вы можете прочитать: Как настроить Android Studio на компьютере.
Android Studio 3.0.1 — Системные требования
Ваш компьютер должен соответствовать следующим системным требованиям для правильной работы Android Studio. Системные требования для работы Android Studio 3.0 Preview 2 в Windows, Mac и Linux:
Android Studio на Windows
- Microsoft® Windows® 7/8/10 (32- или 64-разрядная)
- минимум 3 ГБ ОЗУ, рекомендуется 8 ГБ ОЗУ; плюс 1 ГБ для Android Emulator
- Минимум 2 ГБ доступного дискового пространства,
Рекомендуется 4 ГБ (500 МБ для IDE + 1.5 ГБ для Android SDK и образа системы эмулятора) - 1280 x 800 минимальное разрешение экрана
- Для ускоренного эмулятора: процессор Intel® с поддержкой Intel® VT-x, Intel® EM64T (Intel® 64) и функции Execute Disable (XD) Bit
Android Studio на Mac
- Mac® OS X® 10.10 (Yosemite) или выше, до 10.12 (macOS Sierra)
- минимум 3 ГБ ОЗУ, рекомендуется 8 ГБ ОЗУ; плюс 1 ГБ для Android Emulator
- Минимум 2 ГБ доступного дискового пространства,
Рекомендуется 4 ГБ (500 МБ для IDE + 1.5 ГБ для Android SDK и образа системы эмулятора) - 1280 x 800 минимальное разрешение экрана
Android Studio в Linux
- Рабочий стол GNOME или KDE Протестировано на Ubuntu® 14.04 LTS, Trusty Tahr (64-разрядный дистрибутив, способный запускать 32-разрядные приложения)
- 64-битный дистрибутив с возможностью запуска 32-битных приложений
- GNU C Library (glibc) 2.19 или новее
- минимум 3 ГБ ОЗУ, рекомендуется 8 ГБ ОЗУ; плюс 1 ГБ для Android Emulator
- Минимум 2 ГБ доступного дискового пространства,
Рекомендуется 4 ГБ (500 МБ для IDE + 1.5 ГБ для Android SDK и образа системы эмулятора) - 1280 x 800 минимальное разрешение экрана
- Для ускоренного эмулятора: процессор Intel® с поддержкой Intel® VT-x, Intel® EM64T (Intel® 64) и функции Execute Disable (XD) Bit или процессор AMD с поддержкой AMD Virtualization ™ (AMD-V ™)
Если вы хотите установить Android 8.0 Oreo на свой компьютер, прочтите: Как установить Android 8.0 Oreo на Android Studio.
[ Источник: Веб-сайт разработчика Android]
.