Содержание

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

Дата создания:

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

Возможность тестирования на смартфоне предоставляется ADB (Android Debug Bridge). В этой статье мы настроим его и запустим наше приложение на настоящем смартфоне.

Что такое ADB

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

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

Настройка Android-устройства для работы с ADB

Для того, чтобы использовать ADB с устройством, подключенным по USB, необходимо разрешить USB-отладку в системных настройках телефона или планшета в разделе «Параметры разработчика» (название может отличаться). На некоторых устройствах этот раздел по умолчанию скрыт. Рассмотрим шаги в случае, когда нет нужного раздела настроек.

  1. Зайдите в настройки, раздел «Об устройстве»
  2. Найдите пункт «Номер сборки» и щёлкните по нему 7 раз. Должно появиться окно, оповещающее о том, что активирован режим разработчика.
  3. Теперь в настройках должен появиться раздел параметров разработчика.
  4. Включите в нём опцию «Отладка USB».

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

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

При настройке Windows, во-первых, убедитесь, что у вас установлен Google USB Driver. Зайдите в SDK Manager в раздел Extras и найдите Google USB Driver, установите его в случае необходимости.

Теперь следует обновить драйвер. Подключите девайс к компьютеру, перейдите в Панель управления -> Оборудование и звук -> Диспетчер устройств найдите своё устройство. Щёлкните правой клавишей по своему устройству, чтобы открыть контекстное меню и выберите «Обновить драйверы…». Драйвер можно найти в директории sdk в подпапке \{директория sdk}\extras\google\usb_driver.

Как проверить правильность настроек ADB?

Для проверки работоспособности ADB подключите устройство к компьютеру, запустите в папке \{директория sdk}\platform-tools командную строку и введите в ней команду:

adb devices

Должен появится список наподобие этого:


List of devices attached
5cdb2ced	device

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

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

Если написано, что девайс offline, перевоткните USB и разрешите USB-отладку компьютеру:

В результате на экране телефона или планшета покажется наше приложение.

Заключение

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

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

Похожие статьи

aristov-vasiliy.ru

Запуск вашего android-приложения на реальном или виртуальном устройстве андроид

Если вы следовали предыдущему уроку для создания «Hello World» Android проекта, он уже включал в себя набор исходных файлов, позволяющих сразу запустить приложение.

Подготовка к запуску

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

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

AndroidManifest.xml
файл манифеста описывает основные характеристики приложения и определяет каждый из его компонентов. Вы узнаете о различных объявлениях в этом файле по мере изучения учебных курсов.Одним из наиболее важных элементов, который ваш манифеста должен включать является
<uses-sdk>
элемент. Он заявляет о совместимости вашего приложения с различными версиями Android, используя android:minSdkVersion и android:targetSdkVersion атрибуты. Для вашего первого приложения, оно должно выглядеть следующим образом:

<manifest xmlns:android=»http://schemas.android.com/apk/res/android» … >     <uses-sdk android:minSdkVersion=»8″ android:targetSdkVersion=»19″ />     … </manifest>

<manifest xmlns:android=»http://schemas.android.com/apk/res/android» … >

        <uses-sdk android:minSdkVersion=»8″ android:targetSdkVersion=»19″ />

        …

    </manifest>


Вы всегда должны устанавливать android:targetSdkVersion как можно более высоким и протестировать приложение на соответствующей версии платформы. Для получения дополнительной информации, читайте Поддержка различных версий платформы.
src/
Каталог для основных исходных файлов вашего приложения. По умолчанию, он включает в себя Activity класс, который запускается, когда ваше приложение запускается с помощью значка приложения.
res/
Содержит несколько вложенных каталогов, в которых размещаются ресурсы приложения. Вот только некоторые из них:
drawable-hdpi/
Каталог для рисуемых объектов (например, растровых изображений), которые предназначены для высокой плотности (hdpi) экранов. Другие drawable каталоги содержат наборы, предназначенные для других плотностей экрана.
layout/
Каталог для файлов, которые определяют пользовательский интерфейс вашего приложения.
values/
Каталог для других различных XML-файлов, которые содержат коллекцию ресурсов, таких как строки и цветовые определения.

Когда вы собираете и запускаете Android приложение по умолчанию, созданный по умолчаниюActivity класс запускается и загружает файл макета, который говорит «Hello World». В результате ничего захватывающего, но важно, что вы понимаете, как запускать приложения, прежде чем вы приступите к разработке.

Как запустить android-приложение на реальном устройстве


Если у вас есть реальное Android устройство, вот как вы можете установить и запустить приложение:

  1. Подключите ваш смартфон к компьютеру с помощью кабеля USB. Если вы разрабатываете на Windows, вам может потребоваться установить соответствующий драйвер USB для вашего устройства. Для получения справки по установке драйверов см. Драйвера OEM USB.
  2. Включите Отладка через USB на вашем устройстве.
    • На большинстве устройств под управлением Android 3.2 или старше, вы можете найти опцию вНастройки > Приложения > Разработка.
    • На Android 4.0 и новее, это находится в Настройки > Для разработчиков.

      Примечание: На Android 4.2 и новее, Для разработчиков по умолчанию скрыт. Чтобы сделать его доступным, перейдите к Настройки > О телефоне и нажмите Номер сборки семь раз. Вернитесь к предыдущему экрану, чтобы найти Для разработчиков.

Как запустить android-приложение из Android Studio:

Откройте один из файлов вашего проекта и нажмите Run apprun на панели инструментов. Или нажмите комбинацию клавиш Shift+F10.

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

Как запустить android-приложение из Eclipse

  1. Откройте один из файлов вашего проекта и нажмите Запустить  на панели инструментов.
  2. В окне Запуск от имени , которое появляется, выберите Android Application и нажмите OK.

Eclipse устанавливает приложение на подключенное устройство и запускает его.

Или для запуска приложения из командной строки:

  1. Перейдите в корневой каталог вашего Android проекта и выполните:
  2. Убедитесь, что Android SDK platform-tools/ каталог включен в вашу PATH переменную среды, затем выполните:

    adb install bin/MyFirstApp-debug.apk

    adb install bin/MyFirstApp-debug.apk

  3. На вашем устройстве, найдите MyFirstActivity и откройте его.

Вот как собрать и запустить Android приложение на устройстве! Чтобы приступить к разработке читайте cледующий урок.

 

Как запустить android-приложение на эмуляторе


Используете ли Вы, Android Studio, Eclipse или командную строку, чтобы запустить свое приложение на эмуляторе нужно сначала создать виртуальное устройство Android (AVD от английского Android Virtual Device). AVD является конфигурацией устройства для Android эмулятора, который позволяет моделировать различные устройства.

 Для создания AVD:

  1. Запустите Android Virtual Device Manager :
    1. В Android Studio нажмите значок AVD Manageravd на панели инструментов.
    2. В Eclipse, нажмите Android Virtual Device Manager на панели инструментов.
    3. Из командной строки, перейдите в каталог <sdk>/tools/ и выполните:

      Android Virtual Device Manager.PNG
  2. В Android Virtual Device Manager панели, нажмите Create Virtual Device.Create Android Virtual Device
  3. Выберите тип устройства и нажмите Next.Create Android Virtual Device
  4. Выберите системный образ для эмулятора на вкладке Recommended. Наилучшую производительность дают образы х86, но они не поддерживаются процессорами AMD в системе Windows. В Linux такой проблемы нет.
  5. В следующем окне можно изменить имя виртуального устройства, а также некоторые настройки. Внимание: изменение некоторых параметров может повлечь отказ работы виртуального устройства.
  6. Нажмите Finish, и новое виртуальное андроид-устройство появится в списке окна менеджера.
  7. Выберите новый AVD в Android Virtual Device Manager и нажмите Start
    .
  8. После того как эмулятор загрузится, разблокируйте экран эмулятора.

Чтобы запустить приложение из Eclipse:

  1. Откройте один из файлов вашего проекта и нажмите Запустить на панели инструментов.
  2. В окне Запуск от имени , которое появляется, выберите Android Application и нажмите OK.

Eclipse устанавливает приложение на AVD и запускает его.

Как запустить android-приложение из командной строки

Или запустите приложение из командной строки:

  1. Перейдите в корневой каталог вашего Android проекта и выполните:
  2. Убедитесь, что Android SDK platform-tools/ каталог включен в вашу PATH переменную среды, затем выполните:

    adb install bin/MyFirstApp-debug.apk

    adb install bin/MyFirstApp-debug.apk

  3. В эмуляторе, найдите MyFirstActivity и откройте его.

Вот как собрать и запустить Android приложение на эмуляторе! Чтобы приступить к разработке читайте cледующий урок.

Продолжение: Построение простого пользовательского интерфейса

www.fandroid.info

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

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

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

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

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

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

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

  • Android Device Monitor;
  • AVD Manager;
  • ADB и др. 
android studio запуск приложения на телефоне

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      randroid.ru

      Почему Android Studio не видит телефон

      В статье рассмотрим, как правильно подключать смартфон к Андроид Студио и что делать, если Андроид Студио не видит телефон.

      Разберемся, что такое Android Studio. Это комплекс программных средств для создания приложений в  Android ОS. Работает с ОС: Windows, Mac и Linux. Основана на ПО — IntelliJ IDEA. Главные требования к железу и другие условия для нормальной работы программы соблюдены, но в процессе установки все равно возникают проблемы? Аndroid Studio не видит телефон – разберемся с причинами и способами устранения ошибки.

      android studio не видит телефон

      Возможные причины ошибки и исправления

      Установка программы не всегда проходит гладко, часто возникают проблемы, которые приводят к некорректной работе приложения. Как в Аndroid studio подключить телефон, затратив небольшое количество времени? Какие ошибки возникают часто? Перед загрузкой приложения просматриваются параметры устройства для нормальной работы программного комплекса:

      • минимум 3 ГБ ОЗУ, желательно 8 ГБ и запас 1 ГБ на эмулятор;
      • разрешение экрана не менее 12,8х0,8 см (1280х800 мм).
      Почему Android Studio не видит телефон

      Ошибка эмулятора

      В период запуска терминала возникает проблема, которая высвечивается в командной строке: «ОШИБКА: эмуляция x86…». Для устранения погрешности проверяется:

      • правильность инструментов SDK;
      • базовая система (Bios) — включить специальную опцию Intel HAXM & virtualization;
      • настройки эмулятора Intel — для повышения производительности загрузить X86 Atom (для 64х и 32х битных ПК).

      После этого нужно заново запустить менеджер SDK, зайти в AVD для создания виртуального оборудования. Как категорию выбрать телефон и образ X86_32 или 64. Эмулятор будет доступен в менеджере.

      как подключить телефон к android studio через usb

      Ошибка «Сбой инициализации SDL»

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

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

      как подключить андроид к андроид студио

      Start avd не работает

      При выявлении ошибки: «Start avd не работает», необходимо вспомнить, какие изменения или обновления внесены. Возможно, удаление последнего загруженного файла восстановит работу системы. Если ошибка не удалилась, в каталоге пользователя рекомендуется деинсталлировать старый вариант и создать новое виртуальное устройство. Подробнее о том, как в Аndroid studio подключить телефон:

      • окно;
      • менеджер AVD;
      • визуальное устройство;
      • изменить и редактировать.

      После проведенных манипуляций перезагрузить телефон и зайти из эмулятора менеджера.

      как в android studio подключить телефон

      Не запускается эмулятор Android на Eclipse, хотя ошибок нет

      Необходимо учесть, Аndroid studio может не видеть телефон при первой или новой установке, так как загрузка среды эмулятора занимает 10-12 минут. Если программа не запустилась, требуется заново поэтапно проверить инсталляцию. Также обратить внимание на:

      • путь к SDK — он не содержит посторонних символов;
      • версию — возможно, требуется понизить эмулятор, например с Android 4.0 на 2.2;
      • функцию использования хостов GPU – ее, возможно, придется отключить;
      • параметры дискового пространства – хватает ли свободного места.

      Проверить соответствие обновленной версии параметрам смартфона. Также решением проблемы может быть изменение Eclipse с EE на Eclipse Classic.

      как подключить телефон к андроид студио

      Невозможно изменить целевой API в AVD Manager

      Изменение целевого API в AVD Manager может частично устранить проблему с загрузкой и работой эмулятора. AVD привязаны к изображениям системы. Для устранения ошибки проверяется путь SDK, уровень установки Аndroid.

      Увидеть и поменять направление можно в рубрике местоположения SDK, где расположены вспомогательные инструменты.

      android studio подключение телефона

      LG G2 vs980 не распознается командой устройств ADB

      Многие разработчики интересуются, как подключить телефон к Аndroid Studio через USB. Прежде всего, требуется выбрать вид соединения, в данном случае USB или USB-модем. Если устройство не обнаружено, настройки драйвера проводятся вручную. Часто достаточно обновить USB driver/adb через Manager, который запущен с Eclipse.

      Телефон не видит Android studio: общее решение проблемы

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

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

      • производительность;
      • количество оперативной памяти;
      • скорость работы дисковой системы.

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

      android studio не видит телефон xiaomi

      Как подключить телефон к Android Studio через USB

      Для подключения смартфона к приложению Android Studio необходимо:

      • зайти в «Настройки телефона» – «Сведения ПО» – «Для разработчиков»;
      • в параметрах выбирать «Установка драйвера»;
      • перейти на предложенную страницу;
      • найти нужную модель устройства, по ссылке произвести установку;
      • подключить телефон к компьютеру через USB. В диспетчере устройств появится наименование телефона, через который производится запуск Android Studio. 

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

      randroid.ru

      Урок 2. Kotlin. Создание проекта в Android Studio и запуск приложения на андроид-устройстве

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

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

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

      Что вы узнаете

      • Как создать проект в среде разработки Android Studio
      • Как создать виртуальное андроид-устройство AVD
      • Как запустить приложение на эмуляторе андроид
      • Как запустить приложение на реальном устройстве

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

      1. Откройте Android Studio
      2. В диалоге Welcome to Android Studio выберите Start a new Android Studio project.
      3. В диалоге New Project, дайте имя вашему приложению, например My First App.
      4. Имя домена можете принять по умолчанию.
      5. Для поддежки языка Котлин отметьте чекбокс Include Kotlin support.Для поддежки языка Котлин отметьте чекбокс Include Kotlin support
      • Местоположение проекта можете оставить по умолчанию. Обычно проекты сохраняются в папке с именем AndroidStudioProjects в документах пользователя. Здесь могут возникнуть проблемы, если имя пользователя указано русскими буквами, потому что среда разработки не воспринимает кириллицу в пути к файлам. В таком случае вы увидите предупреждение. Сохраните проект в другом месте.
      1. Нажмите Next.
      2. В диалоге Target Android Devices выберите тип платформы Phone and Tablet и минимально поддерживаемую версию Android API 17 или выше. Поддержка более старых версий нам пока не нужна, поскольку отражается на доступном функционале инструментов разработки. Нажмите  Next.
      3. В диалоге добавления активити нужно выбрать шаблон предустановленых окон приложения и компонентов интерфейса. Выберите Empty Activity. Нажмите Next.
      4. В диалоге Cоnfigure Activity оставьте все по умолчанию. Нажмите Finish.

      После этих шагов, Android Studio:

      • Создает папку для проекта Android Studio на диске, в местоположении, указанном при создании проекта.
      • Далее происходит построение проекта (это может занять несколько минут). Android Studio использует Gradle в качестве системы построения. Иногда система сборки выдаёт сообщения и предупреждения, например сейчас нужно доустановить отсутствующий компонент SDK.
      • Открывает окно редактора кода, отображающее текущий проект.

      Окно Android Studio должно выглядеть примерно так:Интерфейс Android Studio

      Скриншот 1. Интерфейс Android Studio

      Рассмотрим интерфейс Android Studio

      1. Панель Toolbar предоставляет быстрый доступ к самым востребованным командам, как запуск приложения или открытие SDK менеджера.
      2. Панель Navigation bar помогает перемещаться по проекту и открывать файлы для редактирования. Он обеспечивает более компактный вид структуры, видимой в окне Project.
      3. Окно редактора позволяет создавать и редактировать код. В зависимости от типа открытого файла вид редактора может измениться. Например, при просмотре файла макета редактор отображает редактор макета.
      4. Панель Tool buttons расположена по периметру окна IDE и содержит кнопки, позволяющие разворачивать или сворачивать отдельные окна инструментов.
      5. Окна инструментов предоставляют доступ к определенным задачам, таким как управление проектами, поиск, управление версиями и многое другое. Их можно развернуть и свернуть. Далее мы рассмотрим их более подробно.
      6. Status bar отображает состояния проекта и самой IDE, а также различные предупреждения или сообщения.

      Главное окно можно упорядочить, чтобы предоставить больше места на экране, скрывая или перемещая панели инструментов и окна инструментов. Для доступа к большинству функций IDE также можно использовать сочетания клавиш.

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

      Окно структуры проекта

      Интерфейс Android Studio

      Скриншот 2. Окно структуры проекта Android Studio

      Изучение структуры и макета проекта

      Можно посмотреть иерархию файлов приложения несколькими способами.

      1. Окно структуры проекта (1) с отображением дерева файлов. (См. 1 на Скриншоте 2)
      2. Кнопка Project (2) скрывает и отображает окно структуры проекта. Включите пункт меню View > Tool Buttons чтобы увидеть эту кнопку.
      3. Текущий выбор вида проекта Project > Android. Нажмите выпадающий список Android (3) для просмотра других доступных видов проекта.

      В виде отображения Project > Project вы увидите полную структуру папок проекта, как она выглядит на диске. Здесь много файлов и папок и новичку здесь можно запутаться. Главное, на что следует обратить внимание: проект имеет модульную структуру и основной модуль нашего приложения – app.Окно структуры проекта Android Studio в виде Project/> Project

      Скриншот 3. Окно структуры проекта Android Studio в виде Project> Project

      Если раскрыть папку app, мы увидим такие папки:

      • build — здесь файлы, создаваемые системой в процессе компиляции, лучше ничего там не менять
      • libs — папка для сторонних библиотек, подключаемых в проект
      • src – папка для исходного кода и ресурсов
      • внутри src находится папка main — это основная рабочая папка, с которой мы будем иметь дело
      • внутри main находится папки java и res – это папки для кода и ресурсов, рассмотрим их позже

      Также в папке модуля app имеется файл системы сборки build.gradle, мы рассмотрим его позже.

      Если переключиться на вид проекта Project > Android, вы увидите только папку модуля app с упрощенной структурой проекта. Это представление удобнее, поскольку здесь отфильтрованы только те файлы, с которыми мы непосредственно будем работать. Но следует помнить, что в таком виде структура папок проекта не соответствует той, что хранится на диске. Например, вы не найдете на диске в папке проекта папку manifests. А в дереве папок в таком режиме не отображаются папки  src и main.Окно структуры проекта Android Studio в виде Project/> Project

      Скриншот 4. Окно структуры проекта Android Studio в виде Project>Android

      В виде Project > Android вы увидите в папке app такие папки: manifestsjava, и res.

      1. Раскройте папку manifests.Эта папка содержит файл AndroidManifest.xml. Этот файл описывает все компоненты приложения Android и считывается системой среды выполнения Android при запуске приложения.
      2. Раскройте папку java. Все файлы кода на языке Котлин и Java организованы здесь. Папка java содержит три подпапки:com.example.android.myfirstapp (или указанное имя домена): Эта папка содержит файлы исходного кода Котлин и Java для вашего приложения. С этой папкой мы будем работать большую часть времени, поскольку это главный пакет проекта.

      com.example.android.myfirstapp (androidTest): эта папка для размещения инструментальных тестов.

      com.example.android.myfirstapp (test): эта папка для размещения модульных тестов.

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

      1. Раскройте папку res. Эта папка содержит все ресурсы для вашего приложения, включая изображения, файлы макетов экранов, строковые ресурсы, значки и иконки, цвета и стили оформления. Она включает такие вложенные папки:drawable: Все изображения для вашего приложения будут сохранены в этой папке.layout: Эта папка содержит файлы макета для активити – экранов приложения. В настоящее время ваше приложение имеет одно активити с файлом макета activity_main.xml.mipmap: Эта папка содержит значки запуска приложения – это те значки, которые отображаются на андроид-устройстве после установки приложения.values: Содержит ресурсы, такие как строки и цвета, используемые в приложении.

      Также в окне структуры проекта есть папка Gradle Scripts. Раскройте ее. В начале списка есть два файла с одинаковыми именами build.gradle. Это файлы сборки для системы Gradle, которая используется для компиляции, построения и упаковки приложений и библиотек. В скобках после имени файлов указана принадлежность файла модулю App или всему проекту. Файл сборки уровня проекта содержит настройки для всего проекта, а файл сборки уровня модуля содержит настройки для модуля. Чаще всего мы будем работать именно с файлом сборки уровня модуля. Он содержит такие основные секции, как:

      • android{}, где указаны версии инструментов разработки, минимальная поддерживаемая версия API, идентификатор и версия приложения для Google Play, и другие параметры
      • dependencies{}, которая содержит список библиотек, подключаемых к проекту. Могут быть подключены как локальные (помещенные в папку libs), так и хранящиеся удаленно библиотеки.

      Запуск android-приложения

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

      Для запуска приложения из среды разработки Android Studio мы можем использовать 2 способа:

      • подключенный к ПК смартфон или планшет под управлением системы Android
      • эмулятор Android

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

      Что такое андроид-смартфон, вы наверняка уже знаете, раз заинтересовались темой разработки приложений. А что такое эмулятор Android? Это запуск системы Android на ПК в отдельной виртуальной машине.

      Существует много эмуляторов Android, например  BlueStacks, Droid4XNox APP Player, Genymotion, и другие. Большинство из них разработаны для игр и не очень подходят для тестирования приложений, кроме Genymotion.

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

      Создание виртуального android-устройства (эмулятора)

      В Android Studio есть утилита Android Virtual Device (AVD) manager для создания виртуального устройства (также известного как эмулятор), моделирующего конфигурацию определенного типа андроид-устройства.

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

      1. В главном меню Android Studio, выберите Tools > Android > AVD Manager, или нажмите иконку AVD Manager в тулбаре нажмите иконку AVD Manager в тулбаре
      2. Нажмите кнопку +Create Virtual Device. (Если виртуальное устройство создано ранее, в окне отображаются все существующие устройства и кнопка +Create Virtual Device  находится внизу.) В диалоговом окне Select Hardware отображается список предварительно настроенных типов аппаратных устройств.
      3. Выберите устройство, например Nexus 5, и нажмите Next.
      4. В окне System Image, на вкладке Recommended, выберите нужную версию.
      5.  Если ссылка Download  отображается рядом с версией, значит она еще не установлена и требуется загрузить ее. При необходимости щелкните ссылку, чтобы начать загрузку, и нажмите кнопку Next по окончании загрузки.
      6. В следующем диалоговом окне примите значения по умолчанию и нажмите кнопку Finish.
      7. Если окно Your Virtual Devices AVD Manager еще открыто, закройте его.

      Возможные проблемы

      Если у вас на компьютере установлена операционная система Windows, а процессор AMD, то скорее всего вы увидите такое предупреждение в окне выбора оборудования для виртуального устройства. Дело в том, что образы виртуальных устройств с типом x86 не работают на связке Windows + AMD. Причем на связке Linux + AMD таких проблем нет. Процессоры Intel поддерживают образы x86 на любой операционной системе. Для Windows + AMD вы можете использовать образы типа arm, но они гораздо более медленные. Выходом будет использование реального устройства – андроид-смартфона или планшета, подключенного к компьютеру.

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

      Также нужно в SDK Manager на вкладке SDK Tools установить Intel x86 Emulator Accelerator для лучшей производительности и скорости работы. Только для процессоров Intel.

      Если в окне выбора системного образа нет активных образов для установки, загрузите образ необходимой версии Android в SDK менеджере. Откройте окно SDK Manager и на вкладке SDK Platforms справа внизу установите флаг Show Package Details для отображения всех компонентов платформы (см. Скриншот 5). Отметьте для загрузки нужный файл System Image. После загрузки выбранный образ будет доступен в окне AVD Manager.установите флаг Show Package Details для отображения всех компонентов платформы

      Скриншот 5. Установите флаг Show Package Details для отображения всех компонентов платформы

      Запуск приложения на эмуляторе

      1. В Android Studio, выберите в главном меню команду Run > Run app или нажмите иконку Run в тулбаре. нажмите иконку Run в тулбаре
      2. В окне Select Deployment Target, под Available Virtual Devices, выберите только что настроенное виртуальное устройство и щелкните OK.

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

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

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

      Запуск приложения на реальном андроид-устройстве

      Что вам нужно:

      • Устройство на Android, например, смартфон или планшет.
      • Кабель USB для подключения устройства Android к компьютеру.

       

      Запуск приложения на устройстве

      1. Подключите ваш смартфон к компьютеру с помощью кабеля USB. Если вы разрабатываете на Windows, вам может потребоваться установить соответствующий драйвер USB для вашего устройства. Для получения справки по установке драйверов см. Драйвера OEM USB.
      2. Включите Отладка через USB на вашем устройстве.
      • На большинстве устройств под управлением Android 3.2 или старше, вы можете найти опцию в меню Настройки > Приложения > Разработка.
      • На Android 4.0 и новее, это находится в Настройки > Для разработчиков.

      Примечание: На Android 4.2 и новее, пункт меню Для разработчиков по умолчанию скрыт. Чтобы сделать его доступным, перейдите к Настройки > О телефоне и нажмите Номер сборки семь раз. Вернитесь к предыдущему экрану, чтобы найти пункт меню Для разработчиков.

      Чтобы запустить приложение из Android Studio:

      Откройте один из файлов вашего проекта и нажмите Run app на панели инструментов. Или нажмите комбинацию клавиш Shift+F10.

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

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

      Это простое приложение отображает строку «Hello World» на экране виртуального или физического устройства Android.

      Note: Если на устройстве установлена платформа Android, которая не установлена в среде Android Studio, может быть выведено сообщение с запросом о необходимости установки необходимой платформы. Нажмите Install and Continue, затем кнопку Finish по окончании установки.

      Неполадки

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

      Если Приложение не запускается, закройте среду Android Studio и перезапустите ее.

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

      1. Отключите устройство от компьютера и снова подключите его.
      2. Перезапустите среду Android Studio.

      Если компьютер по-прежнему не находит устройство или объявляет его «неавторизованным»:

      1. Отключите устройство.
      2. На устройстве, откройте в меню «Параметры разработчика»
      3. Проверьте включение отладки USB.
      4. Подключите устройство к компьютеру.
      5. При появлении соответствующего запроса на устройстве предоставьте необходимые разрешения.

      Возможно, потребуется установить соответствующий драйвер USB для устройства. См. Using Hardware Devices documentation.

      Дополнительно см. latest Android Studio documentation.

      Все ссылки на дополнительные материалы по теме есть в текстовой версии урока на сайте fandroid.info. Вопросы задавайте в комментариях к уроку на сайте.

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

      Урок 3. Ресурсы и макеты экрана приложения, ConstraintLayout в Android Studio

      www.fandroid.info

      Урок 3. Первый проект на Android Studio

      Ваш первый проект на Android

      Теперь вы готовы начать работу. Без промедления запускайте Android Studio. Далее нам нужно скачать последнюю версию Android API, с помощью которой мы будем создавать нашу первую игру. Android API — это набор готовых классов, процедур, функций, структур и констант (не пугайтесь этих слов — в следующих уроках вы найдёте объяснения всем этим терминам, а пока думайте о них, как об инструментах программиста), написанных другими программистами для облегчения нашей с вами жизни.

       

      В меню (сверху экрана) находим вкладку “Tools” – далее “Android” – далее “SDK Manager”. Откроется вкладка “Android SDK” (на скриншоте ниже). На момент написания статьи самая высокая версия, как видно из скриншота – это Android API 26, но если вы видите более позднюю версию, ставьте галочку и смело качайте её (нажимаем “Apply” и дальше подтверждаем “OK”).

      • Нажимаем «New project» как показано на скриншоте:

      • Появится окно настройки нового проекта. Заполняем поля – в “Application name” пишем “FirstGame”, поле “Company domain” можно оставить без изменений, “Project location” – путь к проекту требуется выбрать таким образом, чтобы все папки на пути следования были на английском языке. Нажимаем “Next”.

      • В следующем окне удостоверьтесь, что в чекбоксе “Phone and Tablet” стоит галочка (в остальных галочки убираем). Теперь мы должны выбрать ту версию ОС Android, начиная с которой наша с вами игра будет запускаться. Чем ниже версию вы выберете, тем большему проценту используемых девайсов будет доступна ваше приложение, но тем меньше особенностей новых версий ОС Android будет вам доступно для использования. Нажимаем “Next”.

      • В следующем окне выберите “Empty Activity”. Нажимаем “Next”.

      • В следующем окне оставляем поля без изменений и жмём “Finish”.

      • “Tip of the day” – вкладка совет дня, которая будет открываться каждый раз с запуском Android Studio. Большинство советов могут показаться вам непонятными пока вы еще только учите Java, но многие из них действительно полезны. После прочтения очередного совета можете закрыть окно.

       

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

      Но для начала поглубже окунёмся в мир Android Studio и изучим эту прекрасную среду разработки.

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

      1. Обозреватель проекта – эта область очень похожа на знакомый нам проводник Windows. Здесь отображаются все папки и файлы, сгенерированные в ходе создания нашего проекта.
      2. Редактор кода – как следует из названия, здесь мы будем писать и редактировать наш код. Однако, как мы позже увидим, вид этого окна будет зависеть от того, какой тип файла мы редактируем;
      3. Панель меню – как и в большинстве программ, панель меню даёт нам полный доступ ко всем функциям, в нашем случае — среды разработки Android Studio;
      4. Панель инструментов – здесь содержится полезные однокликовые возможности, как, например, запуск    или отладка   нашей игры. Можете навести курсор на иконки кнопок и почитать всплывающие окна для ознакомления;
      5. Панель навигации – как и “путь к файлу”, тут отображается фактическое местоположение в вашей файловой системе того файла, с которым вы сейчас работаете;
      6. Важные информационные окна – тут находятся вкладки для отображение некоторой информации, например, состояние устройства на котором вы отлаживаете своё приложение.

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

      На этом пока всё, переходите к следующему уроку.

      android-study.ru

      Комфортная работа с Android Studio / Habr


      Всем доброго времени суток!

      Насколько производительно работает 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.


      Итог

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

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

      habr.com