[Программирование, Разработка под Android, Разработка мобильных приложений] 20 инструментов Android-разработчика, о которых вы могли не знать (перевод)

Автор Сообщение
news_bot ®

Стаж: 6 лет 7 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
14-Сен-2020 18:37

Набор полезных, но не очень известных инструментов и библиотек Android.
Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пригодиться в разработке приложений для Android — ниже они приведены в случайном порядке. Пользуйтесь. 1. AinD — Android (Anbox) в ДокереAinD запускает приложения Android, помещая контейнеры Anbox в Докер.
В отличие от аналогичных проектов на основе виртуальных машин, AinD может выполняться на экземплярах IaaS без поддержки вложенной виртуализации. Docker Hub: aind/aind.Предназначение:
aind-containers/aindgithub.com2. BoosterBooster — очень интересный инструмент: это простой в использовании, легкий, функциональный, расширяемый набор инструментов для повышения качества, предназначенный специально для мобильных приложений. Основная задача проекта — решать вопросы качества, связанные с повышением сложности приложения — например, проблемы производительностью, стабильностью и размером пакета.
Booster — это набор модулей для оценки производительности, оптимизации многопоточности, встроенного индекса ресурсов, сокращения числа избыточных ресурсов, сжатия ресурсов, исправления системных ошибок и т. д. Booster позволяет повысить стабильность приложения на 15–25% и снизить размер пакета на 1–10 МБ.Документация очень хорошая, лицензия — Apache 2.0.didi/boostergithub.com3. ShakeShake — один из лучших инструментов для обнаружения ошибок, изучения действий пользователя для воспроизведения ошибки и сбора скриншотов или видео с ошибками. Благодаря ему работа с ошибками при бета-тестировании и в публичной версии сильно упрощается — инструмент определенно стоит того, чтобы попробовать.
Как показано на гифке выше, если встряхнуть устройство, появится запрос с шаблоном для отправки отчета об ошибке. Пользователь может пометить ошибку, замаскировать конфиденциальные данные, описать проблему и отправить вам отчет.Устанавливается эта штука просто, в документации всё отлично описано. Кроме того, есть интерактивная демонстрация, которая показывает работу инструмента изнутри. 4. ScabbardScabbard помогает с визуализацией и анализом графика зависимостей Dagger 2.
Scabbard визуализирует точки входа, схемы зависимостей, взаимосвязи компонентов и области действия. Добавить этот инструмент в проект очень легко: он хорошо интегрирован с Gradle, а также с Android Studio и IntelliJ (нажав значок на левом поле в редакторе, можно просмотреть схему для @Component или @Subcomponent).Документирован проект отлично: есть множество примеров и подсказок. Лицензия — Apache 2.0.    arunkumar9t2/scabbardgithub.com5. Can I Drop Jetifier?Как известно, иногда перейти со старой библиотеки поддержки на AndroidX не так просто, особенно в крупных проектах с большим количеством устаревшего кода. Успех перехода во многом зависит от использования инструмента Jetifier (преобразует зависимости, которым для работы с классами AndroidX всё еще требуются старые артефакты), который замедляет сборку.
«Всё больше и больше библиотек переходят на AndroidX, поэтому в какой-то момент необходимость включать этот инструмент отпадает. Этот плагин определяет, какие из используемых библиотек нужно перенести на AndroidX — или избавиться от них, если уже вышла новая версия», — Can I Drop Jetifier?

Документация понятная, проект выпущен под лицензией Apache 2.0. Очень рекомендую!    plnice/can-i-drop-jetifiergithub.com6. ADB Event MirrorADB Event Mirror позволяет отражать события касания экрана, нажатия клавиш и кнопок одного устройства на одно или несколько других устройств в реальном времени.
«Этот сценарий не адаптирует разрешение, плотность пикселей, ориентацию и макет приложения. Поэтому лучше всего он работает с эмуляторами, созданными с одинаковой конфигурацией», — ADB Event Mirror
Инструмент дает возможность протестировать приложение одновременно на эмуляторах различных типов.    JakeWharton/adb-event-mirrorgithub.com7. Android Emulator Container ScriptsAndroid Emulator Container Scripts — набор небольших сценариев для запуска эмулятора в контейнере для различных систем (например, для Докера) с целью внешнего использования. Сценарии совместимы с Python версий 2 и 3. Этот репозиторий довольно популярен и пригодится, если нужно запускать много эмуляторов на удаленных машинах.Проект выпущен под лицензией Apache 2.0 и хорошо документирован.    google/android-emulator-container-scriptsgithub.com8. AutoplayAutoplay — это плагин для Gradle, предназначенный для публикации артефактов Android в Google Play.
Его можно считать очень простой альтернативой Gradle Play Publisher или Fastlane. Опубликовать приложение можно как apk или набор App Bundle. Особенности Autoplay:
  • Оптимизирован для использования в CI/CD.
  • Удобен для разработчиков.
  • Надежен и перспективен.
У проекта хорошая документация, версия на момент написания статьи — 1.3.0, лицензия — Apache 2.0.    beworker/autoplaygithub.com9. Плагин Gradle для статического анализаПлагин статического анализа Gradle — комплексная замена для всех значимых инструментов статического анализа кода, включает в себя следующее: Смысл в том, что вам не нужно будет настраивать все эти инструменты самостоятельно — их можно без особых усилий включить в свою кодовую базу. Плагин выпущен под лицензией Apache 2.0 и отлично документирован (есть даже пример проекта).    novoda/gradle-static-analysis-plugingithub.com10. AndroidUtilCodeAndroidUtilCode — функциональная и простая в использовании библиотека для Android, которая инкапсулирует функции, обычно используемые при разработке Android с демонстрационными версиями и модульными тестами. Инкапсулированные API позволяют значительно повысить эффективность разработки. Проект состоит в основном из двух модулей: utilcode (используется в разработке часто) и subutil (используется редко, но позволяет упростить основной модуль).
Версия проекта — 1.29.0, лицензия — Apache 2.0.    Blankj/AndroidUtilCodegithub.com11. Hijckr
«Hijckr вмешивается в инфляцию макета Android и перенаправляет названные элементы в другие классы».

Это довольно интересный инструмент. Например, если файл макета содержит TextView, Android обычно загружает android.widget.TextView, но вместо этого можно перехватить xml-теги и загрузить com.myapp.TextView. Описание проекта довольно подробное и позволяет быстро начать работу с инструментом (который полностью написан на Java).    JustinAngel/Hijckrgithub.com12. RoomigrantRoomigrant — это вспомогательная библиотека для автоматической генерации миграций библиотеки Android Room с использованием формирования кода во время компиляции. Она использует созданные библиотекой Room файлы схемы и генерирует миграции на основе разницы между ними — то есть, создание схемы Room должно быть включено в файле build.gradle, что хорошо описано в README.Проект выпущен под лицензией MIT, версия 0.1.7.    MatrixDev/Roomigrantgithub.com13. RoomExplorerПосле переноса базы данных на Room неплохо бы просмотреть ее: RoomExplorer позволяет просматривать все данные таблиц в табличном формате, удалять таблицы, вставлять, изменять и удалять строки и т. д.
Инструмент хорошо документирован, лицензия — Apache 2.0.    wajahatkarim3/RoomExplorergithub.com14. Android FramerИнструмент android-framer добавляет рамки и заголовки к скриншотам в Google Play. Источник вдохновения — fastlane frameit.
Инструмент написан на Python и использует ImageMagick. Настроить рамки (фоны) можно, например, с помощью Facebook Design. Также можно менять шрифт, кегль, размер рамки и т. д.Лицензия — Apache 2.0.    faruktoptas/androidframergithub.com15. Dependency Tree DiffDependency Tree Diff — это «интеллектуальный инструмент сравнения для вывода задачи dependencies Gradle, который всегда показывает путь к корневой зависимости».
Можно установить инструмент через brew или просто использовать jar-файл. Лицензия — Apache 2.0.    JakeWharton/dependency-tree-diffgithub.com16. Gradle DoctorGradle Doctor — это плагин для сканирования сборки Gradle. Функциональность: настраиваемые предупреждения о проблемах со скоростью сборки, измерение временны́х затрат на инструменты обработки аннотаций Dagger, установка переменной JAVA_HOME и проверка ее соответствия JAVA_HOME в IDE, простое отключение кеширования тестов, остановка сборки в случае, если найдены пустые каталоги src (поскольку это может быть причиной несовпадений в кеше), и многое другое.У инструмента отличная документация, проект выпущен под лицензией Apache 2.0.  runningcode/gradle-doctorgithub.com17. GloballyDynamicGloballyDynamic — это «набор инструментов, направленных на обеспечение всеобщей доступности Dynamic Delivery, независимо от магазина приложений или платформы распространения, которые также предоставляют единый унифицированный клиентский API для Android и простой интерфейс для разработчиков».
Поддерживаются: Рекомендую прочитать README и подробнее ознакомиться с этим инструментом.Лицензия — Apache 2.0.    jeppeman/GloballyDynamicgithub.com18. Dagger BrowserDagger Browser — еще один инструмент (прогрессивное веб-приложение) для удобной навигации по схеме Dagger в проекте.
«Данные схемы заполняются с помощью SPI-плагина Dagger, а средство просмотра написано с помощью CRA (create-react-app) и TypeScript», — Dagger Browser
Есть и пример приложения, в котором показано, как инструмент работает. Всё это выпущено под трехпунктовой лицензией BSD.    Snapchat/dagger-browsergithub.com19. WormholeWormhole — «путешествующий во времени инструмент преобразования байт-кода, добавляющий в android.jar будущие API-интерфейсы, которые можно десахаризовать на все уровни API с помощью D8 и R8».Wormhole обеспечивает обратную совместимость с более новыми API. Приведу пример.
«В Android R есть новые методы из Java 9 — например, List.of. Благодаря D8 и R8 они не являются эксклюзивными для API 30 и мгновенно превращаются в совместимые с API 1. В D8 и R8 есть набор методов десахаризации для API, которых еще нет в android.jar. И можно не ждать, пока они появятся — этот проект дает возможность использовать их сразу же».
JakeWharton/wormholegithub.com20. MNMLMNML (произносится как «minimal» — «минимальный») — простое бесплатное приложение для записи экрана в Android.
Конечно, приложений и инструментов, обеспечивающих такую функциональность, множество. Сегодня функция записи экрана встроена во все новые устройства, но если вам интересно посмотреть, как реализовать такое приложение, этот проект будет отличным примером.Лицензия — Apache 2.0.    afollestad/mnmlgithub.comЗаключениеВот и всё. Надеюсь, список вам понравился и какие-то инструменты смогли вас вдохновить. До встречи!    О переводчикеПеревод статьи выполнен в Alconost.Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.
===========
Источник:
habr.com
===========

===========
Автор оригинала: Michal Bialas
===========
Похожие новости: Теги для поиска: #_programmirovanie (Программирование), #_razrabotka_pod_android (Разработка под Android), #_razrabotka_mobilnyh_prilozhenij (Разработка мобильных приложений), #_android, #_android_development, #_android (андроид), #_android_razrabotka (андроид разработка), #_android_dlja_nachinajuschij (андроид для начинающий), #_android_razrabotka_prilozhenij (андроид разработка приложений), #_tools, #_toolkit, #_instrumenty_razrabotchika (инструменты разработчика), #_instrumenty_razrabotki (инструменты разработки), #_blog_kompanii_alconost (
Блог компании Alconost
)
, #_programmirovanie (
Программирование
)
, #_razrabotka_pod_android (
Разработка под Android
)
, #_razrabotka_mobilnyh_prilozhenij (
Разработка мобильных приложений
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 28-Сен 11:12
Часовой пояс: UTC + 5