📢 ВНИМАНИЕ, Android-разработчики!
Google анонсировала важные изменения в Nearby Connections API, которые вступят в силу в конце 2026 года.
‼️ Что меняется?
Раньше API мог автоматически включать Wi-Fi и Bluetooth для установления соединения между устройствами без участия пользователя.
❌ Теперь этого НЕ БУДЕТ
Nearby API перестанет программно включать радиомодули как для сторонних приложений, так и для приложений Google.
✔️ Что нужно сделать разработчикам?
Перейти на ручное управление. Перед запуском Nearby Connections необходимо убедиться, что нужные радиомодули (Wi-Fi или Bluetooth) доступны и включены. В противном случае нужно попросить пользователя сделать это.
Изменения запланированы на конец 2026 года. Рекомендую проверить свои сценарии подключения уже сейчас, чтобы успеть внести изменения в срок.
#Android #Nearby
Google анонсировала важные изменения в Nearby Connections API, которые вступят в силу в конце 2026 года.
Раньше API мог автоматически включать Wi-Fi и Bluetooth для установления соединения между устройствами без участия пользователя.
❌ Теперь этого НЕ БУДЕТ
Nearby API перестанет программно включать радиомодули как для сторонних приложений, так и для приложений Google.
Перейти на ручное управление. Перед запуском Nearby Connections необходимо убедиться, что нужные радиомодули (Wi-Fi или Bluetooth) доступны и включены. В противном случае нужно попросить пользователя сделать это.
Изменения запланированы на конец 2026 года. Рекомендую проверить свои сценарии подключения уже сейчас, чтобы успеть внести изменения в срок.
#Android #Nearby
Please open Telegram to view this post
VIEW IN TELEGRAM
👎22👍13
Что сделано:
👉 Суммаризация информации о маршруте (Trip overview): Преобразует длинное описание маршрута в краткую сводку. Использует Gemini Nano через ML Kit GenAI APIs.
👉 Управление расходами (Expense tracker): Автоматически извлекает структурированные данные (суммы, категории) из фотографий чеков. Использует мультимодальный Gemini Nano 4 через ML Kit.
👉 Аудиодневник (Audio diary): Записывает, транскрибирует и категоризирует голосовые заметки. Работает на ML Kit Speech Recognition и GenAI Prompt APIs.
👉 Системная интеграция с AppFunctions API: Интегрирует возможности приложения с системным ИИ Android (например, позволяет Google Assistant выполнять действия внутри приложения). Подробности в отдельной статье.
#Android #AI #Gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👎8❤2👍2🎉1
Сделать разбор нового open source в прямом эфире на YouTube?
Final Results
47%
Да
33%
Посмотрю в записи
10%
Не интересно
3%
Сам(а) разберусь
7%
Не участвую в опросе
1👍27👎10
👉 Работу с Window Size Classes
👉 Уровни (Tier) адаптации приложения. Их всего 3, и выполнить уровни 1 и 2 несложно.
👉 Какие изменения конфигурации могут вызываться, но вы для смартфонов на них забивали.
👉 Поддержка смены ориентации (а планшеты и fold-ы вертят часто).
Помните, что с Android 17 все приложения на планшетах будут растягиваться, игнорируя все ограничения в манифесте вашего приложения!
#Android #Foldable #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23👎5
ИИ за последние 6 месяцев сильно изменило ландшафт разработки, рынок найма и подходы компаний. Где-то это хорошо влияет на рынок, где-то не очень. У меня есть своё видение того как меняется ситуацию и как адаптироваться инженерам
#AndroidBroadcast #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
12👎37👍7❤4🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42❤5👎5🔥4
Media is too big
VIEW IN TELEGRAM
Когда: четверг, 30 июля, 19:00 (GMT+3)
В прямом эфире устрою прожарку нового примера от Google с демонстрацией как встраивать AI в классические Android приложения.
Буду ревьювить код, отвечать на ваши вопросы и классно проведем время.
Смотреть можно на
#AndroidBroacast #AndroidDev #AI #CodeReview
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍44👎12🔥10❤5👏2
Интересная функция Bug Report: одной кнопкой собирается ZIP-архив с интерактивным HTML-дашбордом, скриншотом, логами, сетевой историей и списком падений. Для QA есть
OverlayMode.BugReporterOnly (только FAB для репортов, метрики не мешают тестированию) и Hidden, когда панель вызывается из собственного меню отладки через DebugOverlay.openPanel(context). Это решает вечную проблему «воспроизвёл, но к тикету приложить нечего».Автор не позиционирует это как замену профайлеру. Для internal- и debug-сборок мне такой формат нравится больше, чем поднимать Profiler на каждый чих.
#Android #AndroidDev #Tooling #OpenSource
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27👎6🔥3❤1
Forwarded from Compose Broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥122🎉32👎15👍4❤2
🤯 В США впервые судят человека за то, что его телефон стёр сам себя. Помогла GrapheneOS
24 января 2025, аэропорт Атланты. Гражданин США Сэмюэл Таник возвращается из-за границы и попадает на вторичный досмотр. Формально ему говорят, что ищут запрещённый контент. Защита утверждает, что интересовала его связь с движением Defend the Atlanta Forest, которое выступает против стройки полицейского учебного центра, известного как Cop City. Ордера нет: агенты объясняют, что границу он ещё не пересёк, а значит и ордер не нужен. По ходатайству защиты, к адвокату его не пустили и права не зачитали.
Таник называет пароль. Агент вводит его сам, экран гаснет, мигает несколько раз, телефон уходит в перезагрузку и оживает пустым. Это был duress-пароль — вторая комбинация в GrapheneOS, которая вместо разблокировки уничтожает ключи шифрования. Необратимо, за секунды, аппарат становится как с завода. Фича появилась в 2024 ровно под такой сценарий. Пустой телефон изъяли всё равно, а Таника пропустили в страну.
Обвинение прилетело позже:
Юридически всё держится на одном слове — «осознанно» 💥 Сам он ничего не нажимал, код ввели агенты. Вопрос суда: считать ли «назвал пароль, зная, что будет» уничтожением данных. Если докажут умысел, статья ложится.
Что здесь по-настоящему неприятно. Фича отработала идеально и именно поэтому стала уликой. Годами мы строили инструменты, которые защищают данные от взлома, а риск переехал в другое место: не в то, что защиту сломают, а в то, что за факт её использования тебе выпишут статью. Модель угроз в документации заканчивается там, где начинается протокол задержания.
Честная оговорка: что было на том телефоне, мы не знаем. Не исключено, что он вполне сознательно выбрал меньшее зло и § 2232 дешевле того, что нашли бы внутри. На инженерный вывод это не влияет.
📹 Смотрите мой обзор на GrapheneOS
🔗 Источник новости
#Android #GrapheneOS #Безопасность
24 января 2025, аэропорт Атланты. Гражданин США Сэмюэл Таник возвращается из-за границы и попадает на вторичный досмотр. Формально ему говорят, что ищут запрещённый контент. Защита утверждает, что интересовала его связь с движением Defend the Atlanta Forest, которое выступает против стройки полицейского учебного центра, известного как Cop City. Ордера нет: агенты объясняют, что границу он ещё не пересёк, а значит и ордер не нужен. По ходатайству защиты, к адвокату его не пустили и права не зачитали.
Таник называет пароль. Агент вводит его сам, экран гаснет, мигает несколько раз, телефон уходит в перезагрузку и оживает пустым. Это был duress-пароль — вторая комбинация в GrapheneOS, которая вместо разблокировки уничтожает ключи шифрования. Необратимо, за секунды, аппарат становится как с завода. Фича появилась в 2024 ровно под такой сценарий. Пустой телефон изъяли всё равно, а Таника пропустили в страну.
Обвинение прилетело позже:
18 U.S.C. § 2232 — осознанное уничтожение имущества, чтобы помешать его изъятию. Статья редкая, защитники и безопасники говорят, что в таком виде видят её впервые. Вину Таник не признал, решение по ходатайству ждут до конца года.Юридически всё держится на одном слове — «осознанно» 💥 Сам он ничего не нажимал, код ввели агенты. Вопрос суда: считать ли «назвал пароль, зная, что будет» уничтожением данных. Если докажут умысел, статья ложится.
Что здесь по-настоящему неприятно. Фича отработала идеально и именно поэтому стала уликой. Годами мы строили инструменты, которые защищают данные от взлома, а риск переехал в другое место: не в то, что защиту сломают, а в то, что за факт её использования тебе выпишут статью. Модель угроз в документации заканчивается там, где начинается протокол задержания.
Честная оговорка: что было на том телефоне, мы не знаем. Не исключено, что он вполне сознательно выбрал меньшее зло и § 2232 дешевле того, что нашли бы внутри. На инженерный вывод это не влияет.
🔗 Источник новости
#Android #GrapheneOS #Безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
❤63👎14👍8👏4 4
🔐 GrapheneOS ответила на дело о стёртом телефоне и между строк призналась, что стирать было не обязательно
Продолжение вчерашней истории про активиста, чей Pixel обнулился прямо в руках офицера.
Публичная часть ответа предсказуемая. Команда заявила, что ОС полностью легальна, ослаблять свои механизмы защиты они не обязаны, а законы, которые потребовали бы это сделать, были бы неконституционными. Отдельно уточнили, что помочь американским силовикам восстановить данные с того телефона не могут физически: железо и софт спроектированы так, чтобы обойти шифрование было нельзя.
Интереснее то, что параллельно опубликовал GrapheneOS Foundation. Фонд выкатил разбор своих защит от извлечения данных из заблокированных устройств и довольно прозрачно намекает: телефон на GrapheneOS переживает досмотр и без duress-пароля. А следом идёт прямая оговорка, что стирание данных в некоторых случаях может повлечь юридические последствия 💥 То есть ровно тезис вчерашнего поста, только теперь его пишут сами авторы фичи.
Что предлагается вместо? Ключевая штука это авто-ребут: таймер стартует при блокировке и перезагружает аппарат, если до нуля его так и не разблокировали. По умолчанию 18 часов, настраивается в диапазоне от 10 минут до 72 часов, разблокировка любого профиля таймер сбрасывает. Реализован в
Вывод для инженера скучный и рабочий: лучшая защита на границе не та, что эффектно уничтожает данные, а та, что спрячет их и не даёт повода для уголовной статьи 🎯
#Android #GrapheneOS #Pixel #Security
Продолжение вчерашней истории про активиста, чей Pixel обнулился прямо в руках офицера.
Публичная часть ответа предсказуемая. Команда заявила, что ОС полностью легальна, ослаблять свои механизмы защиты они не обязаны, а законы, которые потребовали бы это сделать, были бы неконституционными. Отдельно уточнили, что помочь американским силовикам восстановить данные с того телефона не могут физически: железо и софт спроектированы так, чтобы обойти шифрование было нельзя.
Интереснее то, что параллельно опубликовал GrapheneOS Foundation. Фонд выкатил разбор своих защит от извлечения данных из заблокированных устройств и довольно прозрачно намекает: телефон на GrapheneOS переживает досмотр и без duress-пароля. А следом идёт прямая оговорка, что стирание данных в некоторых случаях может повлечь юридические последствия 💥 То есть ровно тезис вчерашнего поста, только теперь его пишут сами авторы фичи.
Что предлагается вместо? Ключевая штука это авто-ребут: таймер стартует при блокировке и перезагружает аппарат, если до нуля его так и не разблокировали. По умолчанию 18 часов, настраивается в диапазоне от 10 минут до 72 часов, разблокировка любого профиля таймер сбрасывает. Реализован в
init, так что уронить system_server и сорвать перезагрузку не выйдет. Цель в том, чтобы вернуть телефон в состояние Before First Unlock, где ключей в памяти нет и коммерческие форензик-комбайны резко теряют в эффективности. Ничего не уничтожено, вменять нечего, данные просто лежат зашифрованными.С 2025 Google завезла авто-рестарт через Play services. Только фиксированные 72 часа и без единой настройки.
Вывод для инженера скучный и рабочий: лучшая защита на границе не та, что эффектно уничтожает данные, а та, что спрячет их и не даёт повода для уголовной статьи 🎯
#Android #GrapheneOS #Pixel #Security
❤26👍6👎6
#Android #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
Знаешь что такое Loader API?
Anonymous Poll
55%
Нет
13%
Слышал(а) байки ветеранов разработки про него
14%
Использовал(а) его
2%
Да вот тока вчера на нем фичу писал(а)
1%
Видел(а) его в коде проекта на днях
18%
Знаю про него
5%
Не участвую в опросе
👍8👎4❤2🔥2
Forwarded from Mobius — канал конференции
#видеозаписи #МобильныйВторник
Совсем скоро мы расскажем про первые доклады Mobius 2026 Autumn
А пока начинаем открывать видеозаписи некоторых докладов весны. Начинаем с того, что в этом году пришлось пройти почти каждому разработчику — внедрения ИИ в рабочие процессы.
Кирилл Розов — 7 стадий AI в разработке: от скептика к архитектору
😉 YouTube | 📺 VK Видео
Скачать презентацию с сайта Mobius
Совсем скоро мы расскажем про первые доклады Mobius 2026 Autumn
А пока начинаем открывать видеозаписи некоторых докладов весны. Начинаем с того, что в этом году пришлось пройти почти каждому разработчику — внедрения ИИ в рабочие процессы.
Кирилл Розов — 7 стадий AI в разработке: от скептика к архитектору
Скачать презентацию с сайта Mobius
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Кирилл Розов — 7 стадий AI в разработке: от скептика к архитектору
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
Скачать презентацию с сайта — https://jrg.su/tzEdXT
В 2025–2026 годах мобильная разработка переживает парадигмальный сдвиг: генеративный AI перестал быть игрушкой и стал обязательной частью рабочего…
— —
Скачать презентацию с сайта — https://jrg.su/tzEdXT
В 2025–2026 годах мобильная разработка переживает парадигмальный сдвиг: генеративный AI перестал быть игрушкой и стал обязательной частью рабочего…
👎27👍9
Как вы нашли работу в IT в 2026?
Anonymous Poll
6%
Ищу первую, не могу найти
24%
Пока неактуально
5%
Нашлась через рефералку
8%
Нашлась через сайты с работой
6%
Рекрутер нашел меня
14%
Ищу новую (не первую работу), пока не могу найти
1%
Для меня неактуальна работа в IT
1%
Другой вариант (пиши в комментариях)
36%
Не участвую в опросе
👎14 3❤2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Isolated Project - большой шаг в том чтобы повысить параллельность сборки, лучшую работу с конфиг кэшем и ускорение сборки проекта!
Фича выключена по умолчанию, для включения надо добавить флаг:
# Файл gradle.properties в корне проекта
org.gradle.isolated-projects=true
⚠️ Ваш сборка и плагины, подключенные в проект, должны поддерживать Isolated Project
🔗 Подробнее про Isolated Project
#Gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍8👎5❤3
От табуретки до кибер-трона: -25% на мечты 🚀
Помните, как в школе мы сидели за деревянными партами и стульями? Теперь, когда технологии везде — пора окружать себя комфортом, который не даёт спине скучать по школьному «удобству».
🎓 Эргостол запускает акцию «Эргономика новых знаний».
С 10.08 по 23.08 можно урвать скидки до -25%.
🔥 скидки суммируются с промокодом -10%
У вас — работа, у ребенка — учеба. А место для этого может быть общим! Благодаря регулировке высоты, один стол легко превращается из взрослого рабочего в детский письменный за считанные секунды. Кресло тоже можно рассмотреть. Экономия места и бюджета.
🤩 Не забудь, промокод -10%
Помните, как в школе мы сидели за деревянными партами и стульями? Теперь, когда технологии везде — пора окружать себя комфортом, который не даёт спине скучать по школьному «удобству».
🎓 Эргостол запускает акцию «Эргономика новых знаний».
С 10.08 по 23.08 можно урвать скидки до -25%.
ANDROID10 У вас — работа, у ребенка — учеба. А место для этого может быть общим! Благодаря регулировке высоты, один стол легко превращается из взрослого рабочего в детский письменный за считанные секунды. Кресло тоже можно рассмотреть. Экономия места и бюджета.
ANDROID10 действует и на OzonPlease open Telegram to view this post
VIEW IN TELEGRAM
👎8👍4 3❤1👏1
В Gradle 9.7.0 официально вывели
Суть простая и одновременно радикальная. Раньше конфигурация проектов в Gradle шла последовательно: один модуль за другим, и каждый мог свободно лезть в состояние соседей. В больших сборках (тысячи модулей) это превращалось в минуты ожидания просто на этапе конфигурации — и при синхронизации Android Studio, и при обычном
Цифры из блога Gradle довольно красноречивые. На собственном 300-модульном билде Gradle медианный IDE-sync ускорился с 84 до 47 секунд. На Android-монорепе больше чем с 5000 проектов синхронизация Android Studio упала с 5 минут 9 секунд до 2 минут 44 секунд (почти в два раза). Репозиторий AndroidX тоже показал ощутимый выигрыш. Причём это только начало: изоляция открывает дорогу к выборочной конфигурации (конфигурировать только те проекты, которые реально нужны для текущей задачи) и к более тонкому кэшированию результатов конфигурации.
Интересно, что такой подход уже давно является нормой в других системах сборки. Bazel и Buck изначально проектировались вокруг изоляции: пакеты/таргеты максимально независимы, конфигурация декларативная, параллелизм — естественное следствие. Gradle исторически шёл другим путём — максимальная гибкость и возможность писать почти любой императивный код в build-скриптах, что в итоге сыграло против него.
Адаптация проекта для Isolated Project
Чтобы адаптировать свой проект сначала нужно, чтобы сборка уже нормально работала с
После включения Gradle начнёт падать на любом нарушении изоляции (если не станет - вы мастер конфигурации). Чаще всего это:
- доступ к изменяемому состоянию другого проекта (
- использование
- плагины, которые регистрируют задачи или расширения «через границу» проекта.
Исправляется это в основном переносом общей логики в convention плагины, использованием
Команда Gradle плотно работала с Google и JetBrains, поэтому Android Gradle Plugin и Kotlin Gradle Plugin уже поддерживают изоляцию (на свежих версиях). KSP тоже умеет — нужно только включить
С комьюнити-плагинами ситуация разношёрстная. Многие уже адаптированы (Apollo, Wire, Firebase Crashlytics/Perf, Dependency Analysis и другие). Некоторые всё ещё ломаются или требуют костылей: Spotless часто приходится условно отключать, Gradle Doctor, SKIE и часть Kotlin Multiplatform (особенно WASM/JS) пока в красной зоне. Если ваш плагин падает, то лучшее, что можно сделать, это создать issues или найти уже открытое. Актуальный статус поддержки Isolated Project в Gradle плагинами есть на сайте (спасибо Никите К. за ссылку)?
Станет ли это обязательным? В ближайшее время нет. Фича incubating, по умолчанию выключена и официально не рекомендуется для продакшен-артефактов. Gradle явно говорит, что собирается стабилизировать Isolated Projects и в конечном итоге сделать их режимом по умолчанию, но конкретных сроков нет. На мой взгляд, раньше выхода Gradle 11 это не состоится, потому что очень много правок надо сделать по всей экосистеме Gradle. Пока это инструмент для тех, кто готов инвестировать время в миграцию ради заметно более быстрой синхронизации и конфигурации.
Если у вас большой Android-проект и синхронизация уже начала раздражать — имеет смысл попробовать. Даже если прямо сейчас не всё идеально, направление понятно: Gradle медленно, но верно уходит от «всё можно менять отовсюду» к модели, в которой проекты действительно изолированы. А это именно то, что нужно монорепам и большим мультимодульным сборкам.
#Gradle
Isolated Projects из экспериментального статуса в incubating. Для Android-разработчиков, особенно тех, кто живёт в больших мультимодульных проектах или монорепах, это одна из самых заметных новостей последних релизов.Суть простая и одновременно радикальная. Раньше конфигурация проектов в Gradle шла последовательно: один модуль за другим, и каждый мог свободно лезть в состояние соседей. В больших сборках (тысячи модулей) это превращалось в минуты ожидания просто на этапе конфигурации — и при синхронизации Android Studio, и при обычном
./gradlew. Isolated Projects вводит жёсткие границы: во время конфигурации проект больше не может трогать изменяемое состояние другого проекта, например добавить зависимость или сделать конфигурацию плагина. Благодаря этому Gradle наконец-то может конфигурировать модули параллельно, используя все доступные ресурсы компьютера.Цифры из блога Gradle довольно красноречивые. На собственном 300-модульном билде Gradle медианный IDE-sync ускорился с 84 до 47 секунд. На Android-монорепе больше чем с 5000 проектов синхронизация Android Studio упала с 5 минут 9 секунд до 2 минут 44 секунд (почти в два раза). Репозиторий AndroidX тоже показал ощутимый выигрыш. Причём это только начало: изоляция открывает дорогу к выборочной конфигурации (конфигурировать только те проекты, которые реально нужны для текущей задачи) и к более тонкому кэшированию результатов конфигурации.
Интересно, что такой подход уже давно является нормой в других системах сборки. Bazel и Buck изначально проектировались вокруг изоляции: пакеты/таргеты максимально независимы, конфигурация декларативная, параллелизм — естественное следствие. Gradle исторически шёл другим путём — максимальная гибкость и возможность писать почти любой императивный код в build-скриптах, что в итоге сыграло против него.
Isolated Projects — это попытка взять лучшее из обоих миров: сохранить привычную модель Gradle, но добавить те самые границы, которые позволяют масштабироваться.Адаптация проекта для Isolated Project
Чтобы адаптировать свой проект сначала нужно, чтобы сборка уже нормально работала с
Configuration Cache, Isolated Projects строится поверх него строится. Дальше в gradle.properties добавляете:org.gradle.isolated-projects=true
После включения Gradle начнёт падать на любом нарушении изоляции (если не станет - вы мастер конфигурации). Чаще всего это:
- доступ к изменяемому состоянию другого проекта (
rootProject.version, project(":other").tasks и т.п.);- использование
allprojects / subprojects с мутациями;- плагины, которые регистрируют задачи или расширения «через границу» проекта.
Исправляется это в основном переносом общей логики в convention плагины, использованием
project.isolated для безопасного чтения данных и lifecycle-колбэками из settings. Есть diagnostics-режим, который помогает найти все нарушения, и даже «dangerously ignore problems», если хочется сначала просто замерить прирост производительности.Команда Gradle плотно работала с Google и JetBrains, поэтому Android Gradle Plugin и Kotlin Gradle Plugin уже поддерживают изоляцию (на свежих версиях). KSP тоже умеет — нужно только включить
ksp.project.isolation.enabled=true. Официальный пример Now in Android уже приведён в совместимое состояние.С комьюнити-плагинами ситуация разношёрстная. Многие уже адаптированы (Apollo, Wire, Firebase Crashlytics/Perf, Dependency Analysis и другие). Некоторые всё ещё ломаются или требуют костылей: Spotless часто приходится условно отключать, Gradle Doctor, SKIE и часть Kotlin Multiplatform (особенно WASM/JS) пока в красной зоне. Если ваш плагин падает, то лучшее, что можно сделать, это создать issues или найти уже открытое. Актуальный статус поддержки Isolated Project в Gradle плагинами есть на сайте (спасибо Никите К. за ссылку)?
Станет ли это обязательным? В ближайшее время нет. Фича incubating, по умолчанию выключена и официально не рекомендуется для продакшен-артефактов. Gradle явно говорит, что собирается стабилизировать Isolated Projects и в конечном итоге сделать их режимом по умолчанию, но конкретных сроков нет. На мой взгляд, раньше выхода Gradle 11 это не состоится, потому что очень много правок надо сделать по всей экосистеме Gradle. Пока это инструмент для тех, кто готов инвестировать время в миграцию ради заметно более быстрой синхронизации и конфигурации.
Если у вас большой Android-проект и синхронизация уже начала раздражать — имеет смысл попробовать. Даже если прямо сейчас не всё идеально, направление понятно: Gradle медленно, но верно уходит от «всё можно менять отовсюду» к модели, в которой проекты действительно изолированы. А это именно то, что нужно монорепам и большим мультимодульным сборкам.
#Gradle
❤24👍16🔥7👎5