Android Broadcast
14.2K subscribers
3.49K photos
334 videos
11 files
5.85K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Multiplatform #Kotlin #CI #CD

Continuous delivery для вашей Kotlin Multiplatform библиотеки

Kotlin MPP сейчас одно из самых многообещающих решений для шаринга кода между платформами (мнение лично моё). Да есть Flutter и я жду интересной битвы в будущем.

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

В статье вы найдёте опыт ребят из Badoo по выстраиванию инфраструктуры CI и CD для сборки и публикации библиотеки Reaktive.
#Emulator #CI #Docker

Continuous testing with new Android emulator tools

Google открывает доступ к своим скриптам для Docker Container-ов c Android эмулятором, чтобы помочь разработчикам упростить тестирование последних изменений.

Помимо этого Google предоставила следующее:
👉 Скрипт для загрузки эмуляторов (AOSP и Google Play Services)
👉 Генератор Docker образов с Android эмулятором
👉 Поддержка работы по ADB с эмулятором в контейнере
👉 Remote streaming: возможность подключения к эмулятору из контейнера через браузер и видеть что происходит, а также взаимодействовать с ним

Пока образ работает только на Linux, но работы по поддержке macOS и Windows ведутся.
#Gradle #CI #Performance

How fast are your Android CI builds? And why it matters

Android проекты растут и разрабатываются долгое время большими командами. Все разработчики локально страдают от того как собираются долго проекты, но на CI это делается еще дольше так как обычно ему надо сделать:
👉 Скомпилировать код
👉 Прогнать Unit тесты
👉 Запустить статический анализатор KtLint, Detekt, Checkstyle, Android Lint и др.

Все это еще происходит медленнее чем на локальной машине т.к. на сервере выключается Gradle демон, который не имеет смысла на CI, когда собирается много разных ветках или вовсе все в Docker контейнерах.

В статье приводится история ребят, которые вместе с DevOps сели решить проблему долгой сборки проекта (47 минут) и как у них получилось (8 минут)

От себя рекомендую периодически запускать Gradle Build Scan, чтобы проверить где у вас есть проблемные места в сборке.
#CI #Bitrise

Be effective with Bitrise CI for Android — the lessons I learned the hard way
11 минут

Советы по настройке Bitrise CI, чтобы ваши сборки были как пуля быстрыми и эффективными.

В статье рассматривается:
👉 Запуск Unit тестов
👉 Сборка артефактов
👉 Автоматизация процессов
👉 и другие трюки для ускорения
#Emulator #CI

Android Emulator in a CI environment

Инструкция по созданию Docker контейнера с эмулятора и последующим запуском его на CI. Есть возможность подключения по WebRTC, чтобы видеть, что происходит на экране эмулятора. Также можно подключиться по ADB.

Все это сделано для удобства в скриптах, работа над которыми еще ведется, но уже можно воспользоваться ими можете
#CI #Tooling

Analyzing your APK during CI/CD

ApkSize-Analyzer - это утилита, которая поможет вам анализировать содержимое вашего APK и анализировать его. Например, на CI вы можете проверить отличие в частях APK. В качестве основы используется Android Studio Plugin для анализа APK.

Возможности:
👉 анализирует файлы, dex, ресурсы в APK
👉 создание отчетов в разных форматах (html, pdf, json)
👉 можно указывать отдельные пакеты для генерации отдельных отчетов
👉 размеры пакетов рассчитываются как комбинация всех dex файлов
👉 отдельный список для изображений, перечисленных в порядке убывания размера
👉 большинство списков отсортированы в порядке убывания их размеров

В будущем планируется добавить поддержку Android App Bundle.
#CI #CD

Прокачиваем Android проект с GitHub Actions

GitHub - самый популярный сервис для хранения кода, особенно open source проектов. Не так давно на сервисе появилась фича GitHub Actions, которая позволяет автоматизировать ваши процессы, связанные с кодом в рамках GitHub.

В первой части статьи рассматривается настройка автоматической проверки кода на Pull Request и сборка релизных артефактов. Во второй части запускаются UI тесты в Firebase Test Lab
#GitHub #CI #CD

GitHub Actions for Android developers

После покупки GitHub компанией Microsoft сервис стал обрастать кучей возможностей и стал не только местом хранения кода, но CI/CD (GitHub Actions) и хранилищем артефактов. Причем все это доступно бесплатно, естественно в ограниченном количестве.

В статье автор разбирает как использовать эти возможности, чтобы автоматизировать сборку Android артефактов, тестирование, публикацию релиза + уведомление в Slack. Для всего этого уже существует огромный набор готовых Action от разработчиков, которые и используются в статье.
#CI

Make CI pipeline faster for Android with modular checks on Github Actions

Руководство как запускать проверку через GitHub Actions только на изменённых модулях, чтобы ускорить ваш CI Pipeline.
#AndroidBroadcast #CI #CD

🔴 Поднимаем свой CI/CD: Gitea + Drone (Livestream)
Среда, 10 марта, 19.00 (GMT+3)

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

Эксперт Григорий Джанелидзе, независимый разработчик. В прошлом успел побыть Android-разработчиком в Яндексе, потом в Mail.ru, потом снова в Яндексе, потом в Bumble, а потом снова в Яндексе, но уже в роли эксперта по безопасности мобильных приложений.

Свои вопросы можете закинуть в livechat на YouTube
#GitHub #CI

Work with GitHub Actions in your terminal with GitHub CLI

Теперь вы можете управлять ваши GitHub Actions из терминала вашего
Костяк для подготовки CI/CD для Android приложений

Ребят тут сделали шаблон для быстрой настройки CI/CD не основе Fastlane для GitLab CI или GitHub Actions, уведомления Slack

#ci
👍25🔥7🤔5😁4
Сидите вы себе на работе, а вам тут задача прилетает - "Развернуть CI/CD для Android проекта, причем платить мы за него не станем!" Тут как раз и гайд по развёртыванию его на Хабре появился

#ci
🔥53👎10😢5👍3
Автоматизация публикации Android приложений в Google Play и Huawei AppGallery — инструкция от А до Я (19 мин)

В руководстве рассказывают как автоматизировать процесс релизов Android-приложений в Google Play и Huawei AppStore. Вы навсегда забудете как это делать вручную и сможете потратить время на что-нибудь более полезное.

#ci #googleplay #appgallery
👍31👎5
Инструкция (EN, 7 мин, ссылка без VPN) по автоматизации генерации Baseline Profile на CI. Нужно будет запускать эмулятор или подключенное устройство к CI, где запустить генерацию профиля

#performance #ci
👍8
В марте 2024 поменялись правила публикации в Maven Central. В статье (11м) раскрывается как это сделать и автоматизировать через GitHub Actions. Из изменений: работа с jReleaser для подписи артефактов.

#mavencentral #github #ci #публикация
👍16👎51
🚀 Duolingo ускорили время сборки на CI c 50 до 16 минут

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

Затем произвели оптимизацию запуска задач на CI, что эффективнее использовать общие ресурсы.

Максимально настроили кэш, чтобы не выполнять одну и ту же работу между сборками.

В коде отказались от старых технологий и лишнего груза на сборку. Например, KAPT поменяли на KSP

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

#android #ios #ci #производительность
👍38🔥9🤯32
Как команда Контура объединила CI/CD для мобильных платформ (5м)

Команда мобильной разработки Контура столкнулась с проблемой разного CI/CD для Android и iOS. Разные пайплайны, gitflow, подходы к секретам и использование сабмодулей создавали сложности в сопровождении и развитии инфраструктуры.

Как было:
👉 Разные процессы CI для Android и iOS
👉 Submodules, не подтягивающие обновления
👉 Дублирование кода
👉 Сложности с мультиплатформенным подходом

Как стало:
👉 Перевели CI на единый шаблон
👉 Отказались от сабмодулей
👉 Унифицировали работу с секретами
👉 Перешли на модульную структуру fastlane

Теперь CI/CD работает как сервис: разработчики могут быстро подключать обновления и собирать пайплайны под новые платформы. Даже после ухода ключевых инженеров система продолжает стабильно работать.

UPD1: Этот процесс был выполнен давно и в Контур уже отказались от Fastlane.

#fastlane #android #ios #ci #автоматизация
👍182
🦊 Настройка автоматизация проверки качества, сборки и запуск тестов Android проекта в Gitlab

CI/CD - неотъемлемая часть любого мобильного и не только проекта! Даже если вы делаете всё один, вас стоит настроить CI/CD. GitHub, Gitlac, Jenkins и множество других решений подойдут для решения задачи.

Если вы решили использовать CI/CD от Gitlab, тогда вам может пригодиться серия статей:
1️⃣ Планирование, настройка Gitlab файла, публикация в Telegram сборок
2️⃣ Запуск Android-тестов: Marathon Labs, Firebase Test Lab
3️⃣ Автоматизация публикации версий в Play Store с помощью Gradle Play Publisher plugin и Fastlane, а также собственного Docker образа для сборки

#andorid #ci #gitlab #автоматизация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍123