
Будучи поклонником терминала, я давно хотел написать об этой теме. Кроме того, знание того, как использовать терминал, значительно ускоряет работу.
Моя цель в этой статье — поделиться с вами тем, как я использую терминал при разработке под Android.
iTerm2
Поскольку мы собираемся проводить много времени в командной строке, давайте установим терминал получше, нежели стандартный. Предлагаю вашему вниманию iTerm2.
ITerm2 — современный терминал с функциями, которые вы так давно желали видеть. Например, разбиение панели, пользовательские цветовые схемы, история, контроль над горячими клавиша��и, а также множество других удобных настроек, которые вы найдете полезными.
oh-my-zsh
Когда вы запускаете терминал, он запускает оболочку под названием Bash. Bash на сегодняшний день является самой популярной оболочкой и поставляется с почти каждой операционной системой на базе UNIX. Однако есть альтернативы Bash, которые делают использование терминала более быстрым и удобным для разработчиков.
По умолчанию oh-my-zsh поставляется с плагином, который предоставляет множество полезных функций.
Автозаполнение
Zsh-autosuggestions — это быстрые/ненавязчивые предложения для вставки в zsh. Он предлагает команды по мере ввода на основе истории команд:

Обратный умный поиск
Вы можете нажать Control + R, чтобы выполнить обратный умный поиск в истории команд. Начните вводить команду, и оболочка будет автозаполнена с ранее введенными командами.
Затем вы можете либо нажать Enter, чтобы выполнить предложенную команду, либо используйте стрелки влево/вправо, чтобы отредактировать команду, или продолжайте нажимать Control + R для переключения между другими возможными командами.

DryRun
Вы наткнулись на классную библиотеку github, но что вам нужно сделать, чтобы протестить ее на вашем телефоне?
- Нажать кнопку Скачать zip
- Извлечь zip-файл
- Открыть Android Studio
- Импортировать скачанный проект
- Sync gradle
- Запустить проект
- Выбрать устройство
- Опробовать
- Удалить папку проекта и zip-файл, когда вам это более не требуется.
Или...
Вы можете использовать dryrun:
dryrun REMOTE_GIT_URL
Билдим проект быстрее/без сети
Флаг --offline говорит gradle всегда использовать модули зависимостей из кеша, независимо от того, должны ли они быть проверены. При работе в автономном режиме, gradle никогда не попытается получить доступ к сети для выполнения разрешения зависимостей. Если требуемые модули отсутствуют в кэше зависимостей, выполнение сборки завершится с ошибкой.
Сборка на полной скорости:
./gradlew assembleDevelopDebug --offlineВыполнение ваших модульных тестов на полной скорости:
./gradlew test --offlineВ качестве альтернативы, в Android Studio вы можете сделать gradle build полностью офлайн, активировав эту опцию:
Settings -> Build, Execution, Deployment -> Build tools -> Gradle

alfi
Как Android-разработчик, вы, вероятно, используете Android Studio с Gradle. Одним из замечательных преимуществ является управление зависимостями, которое автоматически загружает артефакты из репозитория и делает их доступными для вашего пр��ложения. В принципе, вы просто добавляете одну строку в файл build.gradle, и ваша библиотека включена. Довольно легко, правда?
Но вы точно знаете эту строку?
Для этого существует ALFI:
- Введите: alfi NAME_OF_THE_LIBRARY
- Скопируйте нужную библиотеку
- Вставьте в build.gradle
Не требуется взаимодействие с пользовательским интерфейсом и до 20 результатов сразу!
alfi picasso
Понимание gradle задач
Если вы запустите ./gradlew tasks, вы получите список доступных функций gradle. То, что не указано в списке, это короткие версии команд, так что вот небольшой список допущений, которые вы можете сделать,
- iDD == installDevelopmentDebug
- aDD == assembleDevelopmentDebug
- cC == connectedCheck
- etc.
Вы можете начать делать следующим образом:
./gradlew :App:iDD Так гораздо компактнее.
Android Rocket Launcher
Это gradle плагин, который добавляет задачи к вашим модулям Android для установки и запуска всех вариантов, поэтому нет необходимости запускать ./gradlew installDebug и переходить на телефон, находить приложение среди 50 приложений, которые вы установили, и запускать нужное.

Все, что вам нужно сделать, это добавить 2 строки в build.gradle
Совет: не забывайте, что даже при запуске приложения с терминала вы всегда можете активировать процесс отладки без необходимости перезапускать приложение.
Вывод юнит-тестов на консоль
Небольшой трюк, который позволяет увидеть результаты тестирования устройств Android.
android {
...
testOptions.unitTests.all {
testLogging {
events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
outputs.upToDateWhen { false }
showStandardStreams = true
}
}
}Теперь, когда вы запускаете свои тесты, они выводят что-то вроде этого:

Удобные logcats
Во время разработки приложений вы часто хотите показывать только сообщения журнала, поступающие из вашего приложения. К сожалению, поскольку иден��ификатор процесса изменяется каждый раз, когда вы развертываете приложение на телефоне, то сортировка сообщений становится проблемой.
Этот небольшой инструмент решает эту проблему путем фильтрации по пакету приложения. Поставьте нужный пакет в качестве единственного аргумента и получите желаемый результат.
pidcat github.cesarferreira.helloworld
Итог
- Установите iterm2, более функциональный терминал, чем стандартный
- Используйте оболочку oh-my-zsh для автозаполнения
- Не забывайте про компактные команды ./gradlew iDD
- Выполняйте команды быстрее, используя флаг --offline
- Не открывайте приложение на телефоне вручную после установки, используйте этот плагин для автоматизации процесса
- Присоедините процесс отладки без перезапуска приложения
- Наслаждайтесь более удобным вывод logcat с pidcat.