- PVSM.RU - https://www.pvsm.ru -
Будучи поклонником терминала, я давно хотел написать об этой теме. Кроме того, знание того, как использовать терминал, значительно ускоряет работу.
Моя цель в этой статье — поделиться с вами тем, как я использую терминал при разработке под Android.
Поскольку мы собираемся проводить много времени в командной строке, давайте установим терминал получше, нежели стандартный. Предлагаю вашему вниманию iTerm2 [1].
ITerm2 — современный терминал с функциями, которые вы так давно желали видеть. Например, разбиение панели, пользовательские цветовые схемы, история, контроль над горячими клавишами, а также множество других удобных настроек, которые вы найдете полезными.
Когда вы запускаете терминал, он запускает оболочку под названием Bash. Bash на сегодняшний день является самой популярной оболочкой и поставляется с почти каждой операционной системой на базе UNIX. Однако есть альтернативы Bash, которые делают использование терминала более быстрым и удобным для разработчиков.
По умолчанию oh-my-zsh поставляется с плагином [2], который предоставляет множество полезных функций.
Zsh-autosuggestions — это быстрые/ненавязчивые предложения для вставки в zsh. Он предлагает команды по мере ввода на основе истории команд:
Вы можете нажать Control + R, чтобы выполнить обратный умный поиск в истории команд. Начните вводить команду, и оболочка будет автозаполнена с ранее введенными командами.
Затем вы можете либо нажать Enter, чтобы выполнить предложенную команду, либо используйте стрелки влево/вправо, чтобы отредактировать команду, или продолжайте нажимать Control + R для переключения между другими возможными командами.
Вы наткнулись на классную библиотеку github, но что вам нужно сделать, чтобы протестить ее на вашем телефоне?
Вы можете использовать dryrun [3]:
dryrun REMOTE_GIT_URL
Флаг --offline говорит gradle всегда использовать модули зависимостей из кеша, независимо от того, должны ли они быть проверены. При работе в автономном режиме, gradle никогда не попытается получить доступ к сети для выполнения разрешения зависимостей. Если требуемые модули отсутствуют в кэше зависимостей, выполнение сборки завершится с ошибкой.
Сборка на полной скорости:
./gradlew assembleDevelopDebug --offline
Выполнение ваших модульных тестов на полной скорости:
./gradlew test --offline
В качестве альтернативы, в Android Studio вы можете сделать gradle build полностью офлайн, активировав эту опцию:
Settings -> Build, Execution, Deployment -> Build tools -> Gradle
Как Android-разработчик, вы, вероятно, используете Android Studio с Gradle. Одним из замечательных преимуществ является управление зависимостями, которое автоматически загружает артефакты из репозитория и делает их доступными для вашего приложения. В принципе, вы просто добавляете одну строку в файл build.gradle, и ваша библиотека включена. Довольно легко, правда?
Но вы точно знаете эту строку?
Для этого существует ALFI [4]:
Не требуется взаимодействие с пользовательским интерфейсом и до 20 результатов сразу!
alfi picasso
Если вы запустите ./gradlew tasks, вы получите список доступных функций gradle. То, что не указано в списке, это короткие версии команд, так что вот небольшой список допущений, которые вы можете сделать,
Вы можете начать делать следующим образом:
./gradlew :App:iDD
Так гораздо компактнее.
Это gradle плагин, который добавляет задачи к вашим модулям Android для установки и запуска всех вариантов, поэтому нет необходимости запускать ./gradlew installDebug и переходить на телефон, находить приложение среди 50 приложений, которые вы установили, и запускать нужное.
Все, что вам нужно сделать, это добавить 2 строки [5] в build.gradle
Совет: не забывайте, что даже при запуске приложения с терминала вы всегда можете активировать процесс отладки [6] без необходимости перезапускать приложение.
Небольшой трюк, который позволяет увидеть результаты тестирования устройств Android.
android {
...
testOptions.unitTests.all {
testLogging {
events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
outputs.upToDateWhen { false }
showStandardStreams = true
}
}
}
Теперь, когда вы запускаете свои тесты, они выводят что-то вроде этого:
Во время разработки приложений вы часто хотите показывать только сообщения журнала, поступающие из вашего приложения. К сожалению, поскольку идентификатор процесса изменяется каждый раз, когда вы развертываете приложение на телефоне, то сортировка сообщений становится проблемой.
Этот [7] небольшой инструмент решает эту проблему путем фильтрации по пакету приложения. Поставьте нужный пакет в качестве единственного аргумента и получите желаемый результат.
pidcat github.cesarferreira.helloworld
Автор: velkonost
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/262725
Ссылки в тексте:
[1] iTerm2: http://www.iterm2.com/
[2] плагином: https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git
[3] dryrun: https://github.com/cesarferreira/dryrun
[4] ALFI: https://github.com/cesarferreira/alfi
[5] 2 строки: https://github.com/cesarferreira/android-rocket-launcher
[6] активировать процесс отладки: https://stackoverflow.com/questions/17677506/android-studio-open-debug-mode-when-app-is-running/19017722#19017722
[7] Этот: https://github.com/JakeWharton/pidcat
[8] Источник: https://habrahabr.ru/post/336348/
Нажмите здесь для печати.