Зачем этот канал?
В последнее время мне всё больше и больше хочется делиться мыслями, связанными с повседневной рабочей жизнью Android-разработчика.
При этом, далеко не всегда эти мысли вмещаются в одном твите.
В то же время, они не дотягивают до формата полноценной статьи.
Все эти мысли — навсегда теряются в недрах памяти.
Этим каналом я хочу закрыть эту дыру.
Что вам это даст?
Вы точно сможете узнать что-то новое.
Даже если нет — этот канал однозначно будет согревать вашу душу холодными зимними вечерами одним своим названием в вашем списке чатов
В последнее время мне всё больше и больше хочется делиться мыслями, связанными с повседневной рабочей жизнью Android-разработчика.
При этом, далеко не всегда эти мысли вмещаются в одном твите.
В то же время, они не дотягивают до формата полноценной статьи.
Все эти мысли — навсегда теряются в недрах памяти.
Этим каналом я хочу закрыть эту дыру.
Что вам это даст?
Вы точно сможете узнать что-то новое.
Даже если нет — этот канал однозначно будет согревать вашу душу холодными зимними вечерами одним своим названием в вашем списке чатов
Ограничиваем время выполнения Unit-тестов
Несколько раз замечал, что сборки PR-ов на
Оказалось, в обоих случаях, разработчики коммитили unit-тест, который фактически никогда не завершается.
В большой команде и при ограниченном количестве билд-агентов, это может сказаться на общей производительности инженеров
Решение
Ограничить время выполнения каждого теста.
Круто, что
Несколько раз замечал, что сборки PR-ов на
TeamCityпадают по таймауту самой джобы. (У нас это 1h30m)
Оказалось, в обоих случаях, разработчики коммитили unit-тест, который фактически никогда не завершается.
В большой команде и при ограниченном количестве билд-агентов, это может сказаться на общей производительности инженеров
Решение
Ограничить время выполнения каждого теста.
Круто, что
JUnit5позволяет сделать это централизованно через
systemProperty
Сколько весит приложение ?
После полного перехода на AppBundle, стало намного сложнее понять финальный размер приложения в Google Play.
Всэ зависит от ABI, плотности экрана (от котороой зависит выбранные ресурсы) и даже локалей, поддерживаемых на устройстве.
Все они представленны в виде отдельных apk, запакованных в bundle, с использованием
Как узнать размер приложения?
За пару команд, мы можем раздробить bundle на все apk-шки и узнать вес, в зависимости от ABI, ресурсов или локалей, как показано на картинке.
По статистике, максимальный размер у
После полного перехода на AppBundle, стало намного сложнее понять финальный размер приложения в Google Play.
Всэ зависит от ABI, плотности экрана (от котороой зависит выбранные ресурсы) и даже локалей, поддерживаемых на устройстве.
Все они представленны в виде отдельных apk, запакованных в bundle, с использованием
bundletool
под капотом.Как узнать размер приложения?
bundletool
отвечает не только за упаковку, но и за обратную распаковку, которая используется в Google Play.За пару команд, мы можем раздробить bundle на все apk-шки и узнать вес, в зависимости от ABI, ресурсов или локалей, как показано на картинке.
По статистике, максимальный размер у
arm64-v8a
с xxxhdpi
Ускоряем Android Studio
С ростом количества кода и остальных файлов в проекте, скорость работы нашей любимой IDE оставляет желать лучшего.
В Android Studio можно отключить индексацию
Довольно старый, но всё ещё актуальный пост на эту тему
С ростом количества кода и остальных файлов в проекте, скорость работы нашей любимой IDE оставляет желать лучшего.
В Android Studio можно отключить индексацию
apt,
kaptи
.gradleфайлов.
Довольно старый, но всё ещё актуальный пост на эту тему
Telegraph
Как ускорить работу в Android Studio одним хаком?
Иногда Android Studio работает очень долго. Одна из причин — в ней слишком много файлов и проектов. Чтобы ускорить работу, надо убрать лишние и студия их не увидела. Рассказываем, как это сделать. Android Studio будет работать быстрее, если игнорировать кодогенеренные…
Gradle Enterprise & AAB Tests
В последнее время, часто приходится экспериментировать с различными конфигурациями
Решил описать, как это можно делать с помощью Gradle Enterprise
В последнее время, часто приходится экспериментировать с различными конфигурациями
Gradle
на CI, чтобы выбрать лучшую.Решил описать, как это можно делать с помощью Gradle Enterprise
Telegraph
Gradle Enterprise & AAB Tests
В большой команде, Gradle Enterprise является практически незаменимым инструментом. Огромное количество аналитических утилит, remote build cache, predictive test selection позволяют держать build & verification time локально и на CI в тонусе. Практически…
Основы Gradle
Как правило, Gradle, это то, что многие предпочитают избегать. (Не считая добавления зависимостей)
Собственные таски/плагины могут сильно помочь автоматизировать рутину, особенно в больших проектах.
Нашёл довольно неплохой плейлист из 17 коротких видео, который поможет вам разобраться с основами
Как правило, Gradle, это то, что многие предпочитают избегать. (Не считая добавления зависимостей)
Собственные таски/плагины могут сильно помочь автоматизировать рутину, особенно в больших проектах.
Нашёл довольно неплохой плейлист из 17 коротких видео, который поможет вам разобраться с основами
YouTube
Understanding Gradle
Share your videos with friends, family, and the world
Не одним ViewModel и Jetpack едины
Вчера выложили в open-source фреймворк Kompot, с помощью которого мы ведём разработку во всех продуктах в Revolut.
Unidirectional data flow со строгими контрактами (Input + Output), Screens, Flows, Navigation — всё это позволяет забыть даже про fragments с activity, и держать фокус на главном — разработка фичи
Вчера выложили в open-source фреймворк Kompot, с помощью которого мы ведём разработку во всех продуктах в Revolut.
Unidirectional data flow со строгими контрактами (Input + Output), Screens, Flows, Navigation — всё это позволяет забыть даже про fragments с activity, и держать фокус на главном — разработка фичи
GitHub
GitHub - revolut-mobile/kompot
Contribute to revolut-mobile/kompot development by creating an account on GitHub.