🤯 Стабильная Android Studio каждый месяц. Но зачем...
В мае 2024 Android Studio перешла на более частые релизы, отделив поднятие версии IntelliJ Platform от разработки фичей. Спустя год релизы станут ещё чаще - каждый месяц нас будет ждать выход новой Stable версии. Изменения уже затронули Android Studio Narwhal, поэтому в Stable и в Canary сейчас находятся Feature Drop версии
В анонсе рассказали о причине повышения частоты релиза - пользователи жаловались, что приходится слишком долго ждать критический баг фикс или новых фичей для улучшения жизни 🤯
Google заверяет: "повышение частоты релизов не повлияет на качество". Это стало возможно, благодаря инвестициям в тестирование и инфраструктуру в течении долго времени.
Больше не будет Beta релиза, Canary сразу будет переходить в Release Candidate и затем в Release. Также останется Nightly.
Лично я уже не успеваю использовать все фичи из новых версий либо они заблокированы в Беларуси. Самое сложное - когда происходит изменение дизайна или места существуюших фичей.
А вам нужны такие частые обновления Android Studio? Делитесь в комментариях🔽
#android #androidstudio
В мае 2024 Android Studio перешла на более частые релизы, отделив поднятие версии IntelliJ Platform от разработки фичей. Спустя год релизы станут ещё чаще - каждый месяц нас будет ждать выход новой Stable версии. Изменения уже затронули Android Studio Narwhal, поэтому в Stable и в Canary сейчас находятся Feature Drop версии
В анонсе рассказали о причине повышения частоты релиза - пользователи жаловались, что приходится слишком долго ждать критический баг фикс или новых фичей для улучшения жизни 🤯
Google заверяет: "повышение частоты релизов не повлияет на качество". Это стало возможно, благодаря инвестициям в тестирование и инфраструктуру в течении долго времени.
Больше не будет Beta релиза, Canary сразу будет переходить в Release Candidate и затем в Release. Также останется Nightly.
Лично я уже не успеваю использовать все фичи из новых версий либо они заблокированы в Беларуси. Самое сложное - когда происходит изменение дизайна или места существуюших фичей.
А вам нужны такие частые обновления Android Studio? Делитесь в комментариях
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯48👍14❤6
Android Device Streaming теперь позволяет проверить как ваше приложение будет работать на устройствах разных производителей: Samsung, Oppo, Xiaomi, Vivo, OnePlus. Это стало доступно благодаря Android Partner Device Labs, доступной в Android Studio Narwhal Feature Drop и новее.
30 минут бесплатно использования, а дальше по 0.15 USD за минуту
Подробнее в официальном анонсе
#android #androidstudio #firebase
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥86👍7🤯6🎉3
🤯 В Android 16 квоты на выполнение фоновой работы через JobScheduler (его обёрткой является WorkManager) привязали к механизму App Standby bucket. Также это коснется и DownloadManager
Теперь, то как регулярно вы пользуете приложением будет влиять на то как много фоновой работы можно будет выполнить. Подробнее про квоты можно читать тут.
Всё шлифуют систему, чтобы приоритизировать её на основании популярности приложения для пользователя. Я вообще не открываю часть приложений и рассчитываю, что они в фоне сделают работу, а сейчас лучше сразу наверняка идти в настройки и отключать ограничения на работу в фоне (спасибо, что не убрали совсем). И я как разработчик знаю про это. Как жить простым пользователям?
С одной стороны решение правильное - оптимизация идет с упором на интересны пользователя и сохранение батарейки, но с другой стороны разработчикам теперь надо больше объяснять алгоритм действий для включения ожидаемой пользователем работы всегда.
Что вы думаете про совершествование формата фоновой работы в Android? Делитесь своими болями и предложениями.
#android #android16
Теперь, то как регулярно вы пользуете приложением будет влиять на то как много фоновой работы можно будет выполнить. Подробнее про квоты можно читать тут.
Всё шлифуют систему, чтобы приоритизировать её на основании популярности приложения для пользователя. Я вообще не открываю часть приложений и рассчитываю, что они в фоне сделают работу, а сейчас лучше сразу наверняка идти в настройки и отключать ограничения на работу в фоне (спасибо, что не убрали совсем). И я как разработчик знаю про это. Как жить простым пользователям?
С одной стороны решение правильное - оптимизация идет с упором на интересны пользователя и сохранение батарейки, но с другой стороны разработчикам теперь надо больше объяснять алгоритм действий для включения ожидаемой пользователем работы всегда.
Что вы думаете про совершествование формата фоновой работы в Android? Делитесь своими болями и предложениями.
#android #android16
🤔58🤯21❤9👍8
scrcpy - позволяет зеркалировать экран устройства, управлять им. Можно и без показ экрана делать записи и скриншоты. Тулза очень полезная
До того как функционал зеркалирования появился в Android Studio scrcpy активно использовал для запуска приложения на устройстве, а управлением с компа. Или когда демо проводил.
#android
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤8
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчик создал библиотеку androidx-splashscreen-compose (не от Google решение), которая позволяет делать красивую анимацию как на анимашке.
Подробный разбор и реализация есть в статье (EN,6м, альт. ссылка) или
#android #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51👍7🤔2
1 августа 2026 года все приложения для Android TV и Google TV, публикующиеся в Google Play, обязаны будут поддерживать arm64 в нативных библиотеках.
Также для приложений с targetSdk 35+ (Android 15 и новее) должны будут поддержать страницы памяти размером 16 Кб
Как мне кажется, логичное изменение. Приложения для смартфонов уже несколько лет как выполняют аналогичное требование, поэтому все популярные приложения, скорее всего, уже выполняют новые правила.
#android #androidtv #googleplay #ndk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤4🤔2🤯1
🤯 Как проверить, что ваше приложение поддерживает 16 Kb memory page size
Совсем скоро всем Android приложениям в Google Play надо будет выполнить требования поддержки нового размера страницы памяти, что касается нативного когда (написанного на C/C++ с использованием Android NDK).
Стандартный способ проверки - через APK Analyzer в Android Studio, но вот по сообщениям в закрытом чате Broadcast с опытными ребятами, получается, что не всегда этот способ проверки даёт верный результат.
Какие способ использовать
1️⃣ Проверка APK с помощью специального скрипта check_elf_alignment.sh (подробности тут)
2️⃣ Запустить приложения на эмуляторе, где поддерживается только новый размер страницы
3️⃣ Через Dev Options на устройстве принудительно включить новый размер страницы. Лучше использовать устройство на Android 16+
4️⃣ Загрузить сборку в Google Play и там даст правильный ответ (можно использовать Alpha или Internal тестирование)
Подробнее про изменение, требования и миграцию читайте в оф. документации
#android #googleplay #ndk
Совсем скоро всем Android приложениям в Google Play надо будет выполнить требования поддержки нового размера страницы памяти, что касается нативного когда (написанного на C/C++ с использованием Android NDK).
Стандартный способ проверки - через APK Analyzer в Android Studio, но вот по сообщениям в закрытом чате Broadcast с опытными ребятами, получается, что не всегда этот способ проверки даёт верный результат.
Какие способ использовать
Подробнее про изменение, требования и миграцию читайте в оф. документации
#android #googleplay #ndk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤5🔥4🤯3🙏3
Решил сравнить результаты оптимизаций кода R8 с ProGuard. Не смог. Самый свежий ProGuard Gradle плагин не поддерживает Android Gradle Plugin выше 8.0 (вышел в апреле 2023) и новее. Ставлю, что платная версия DexGuard будет работать 😁
#android #безопасность #оптимищация #r8 #proguard
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯28🤔9👍3🆒3
Media is too big
VIEW IN TELEGRAM
Вот так рабоnает принудительный режим темной темы в Android 16 QRP 2
Google Maps имеют свою тёмную тему, но в настройках приложения я поставил принудительно только светлую тему. Расширенный темный режим не берет ресурсы для темной темы, а инвертирует светлую.
#android #android16
Google Maps имеют свою тёмную тему, но в настройках приложения я поставил принудительно только светлую тему. Расширенный темный режим не берет ресурсы для темной темы, а инвертирует светлую.
#android #android16
👍52🔥5❤3🤯3
Принудительные монохромные иконки в действии. ChatGPT у меня установлен как PWA и пока их автоматический монохром не задевает, вот Shortcut приложений перекрасился
#android #android16
#android #android16
👍30🔥8🤔2❤1🤯1
Media is too big
VIEW IN TELEGRAM
#android16 #android #androiddev
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔14👍9🏆3🤯2
Google объявила, что с 2026 года все Android сертифицированные устройства (если по простому - устройства, где официально стоит Google Play) будут работать с приложениями, опубликованными только авторизованными разработчиками 🤯 Все разработчики, которые публикуют приложения через Google Play уже автоматом проходят верификацию.
Если вы распространяете приложения за пределами Google Play, то сможете пройти верификацию в новой Android Developer Console, которая станет доступна в скором времени (презентацию с обзором ищите в комментариях под постом). Для получения доступа надо подать заявку на ранний доступ
Google делает важный акцент на заявление:
У разработчиков останется текущий уровень свободы в распространении их приложений для пользовтаелей через установку приложений из разных источников или использовать любые магазины приложений
План внедрения изменений:
Ну что сказать, Google начинает активнее бороться с перепаковкой приложений, распространением из неизвестных источник. Первые регионы распространения выбраны, потому что там зарегистрирован всплеск мошеннических приложений и местные органы регуляции поддерживают инициативу. Это решение реальной проблемы с наличием возможности установки не только из официального магазина.
Моё мнение - изменение правильное и полезное, затронет только недобросовестных разработчиков, но и дает Google возможность давления на разработчиков так как критерии верификации могут меняться или её вовсе смогут отозвать. Также это важно в мире, когда монополии магазинов приложений падает, а корпорации надо сохранять контроль
💬 Что думаешь касательно нового требования Google Play? Делись в комментариях
#android #googleplay #безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔39🤯38👍13❤4🆒1
Media is too big
VIEW IN TELEGRAM
Записал разбор изменений от Google, которые заставят всех разработчиков пройти верификацию. Не думаю что все так страшно, как раздувают новостные каналы, но модерам, пиратам и мошенникам есть о чем задуматься. В любом случае только после вступления изменений в силы мы узнаем о влиянии на Android пользователей
Видно также доступно на
#AndroidBroadcast #android #googleplay
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥10🙏3❤2
Material 3 Expressive начали раскатывать на Android часы. Сразу сделали краткий обзор нововведений и запустили неделю, посвященную разработки под обновлённую WearOS
#android #wearos #material3expressive
#android #wearos #material3expressive
🔥34🤯4👍3
Обновленная библиотека содержит все виджеты для реализации приложения в новом дизайне Google
Помимо этого выпустили
👉 Обновленную документацию по дизайну приложений
👉 Руководство по миграции на Material 3
👉 Примеры на GitHub
#android #wearos #material3expressice #material3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Продолжаю думать на тему изменений по обязательной верификации всех авторов приложения на Android. Чтобы проверить, что APK имеет верифицированного разработчика нужно будет обязательно сделать запрос на сервер Google. Скорее всего, это будет делаться в момент установки.
Это значит, что с новым требованием установить что либо на Android смартфон без интернета вообще не получится 🤯 И вот ту мне стало немного не по себе, хоть интернет на моем смартфон есть всегда, а практически все установки из Google Play.
#android #googleplay
Please open Telegram to view this post
VIEW IN TELEGRAM
3🤔35🤯12👍7
И радостно, и грустно
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔21👍6🆒2
🚀 Отказываюсь от Списков в пользу Сеток в UI
Раньше для списков в Compose я по привычке использовал LazyColumn. Но чем больше работаю с адаптивными интерфейсами, тем очевиднее: это никуда не годиться и надо использовать доступное пространство, а не тупо растягивать интерфейс. Перехожу на Grid компоновку✔️
LazyVerticalGrid позволяет задать фиксированную ширину колонки, и система сама рассчитает, сколько их поместится на экране.
В результате:
1️⃣ адаптивность «из коробки» на телефонах, планшетах и больших экранах
2️⃣ минимум дополнительного кода,
3️⃣ единый компонент вместо костылей для разных форм-факторов.
Определение количества колонок происходит на основе политики GridCell:
📱 На маленьком экране это будет 2–3 колонки, а на планшете — уже 5–6, и всё это без ручной логики.
Есть еще более гибкий вариант если элементы строк должны быть разной высоты - LazyVerticalStaggeredGrid (стиль как в Pinterest)
❗️ Теперь я придерживаюсь строго правила:
🔗 Очень хорошо построение списков осветили в документации по Lazy Layout
Аналогично можно проделать и с RecyclerView, использую вместо LinearLayoutManager вариант с сеткой - GridLayoutManager или StaggeredGridLayoutManager, только там не будет автоматического расчета колонок на основе доступного места. Это придется реализовывать самостоятельно.
✍️ Что думаете о таком подходе для UI? Ударит по производительности?
#ui #android #compose
Раньше для списков в Compose я по привычке использовал LazyColumn. Но чем больше работаю с адаптивными интерфейсами, тем очевиднее: это никуда не годиться и надо использовать доступное пространство, а не тупо растягивать интерфейс. Перехожу на Grid компоновку
LazyVerticalGrid позволяет задать фиксированную ширину колонки, и система сама рассчитает, сколько их поместится на экране.
В результате:
LazyVerticalGrid(
columns = GridCells.Adaptive(minSize = 120.dp),
modifier = Modifier.fillMaxSize(),
contentPadding = PaddingValues(8.dp)
) {
items(100) { Item(...) }
}
Определение количества колонок происходит на основе политики GridCell:
// всегда N колонок
GridCells.Fixed(N)
// автоматический расчет на основе минимальной ширины колонки
GridCells.Adaptive(minSize = 120.dp)
// каждая ячейка шириной 100dp
GridCells.FixedSize(100.dp)
📱 На маленьком экране это будет 2–3 колонки, а на планшете — уже 5–6, и всё это без ручной логики.
Есть еще более гибкий вариант если элементы строк должны быть разной высоты - LazyVerticalStaggeredGrid (стиль как в Pinterest)
LazyVerticalStaggeredGrid(
columns = Adaptive(minSize = 150.dp),
modifier = Modifier.fillMaxSize(),
contentPadding = PaddingValues(8.dp)
) {
items(100) { Item(...) }
}
Если не могу явно сформулировать почему интерфейс должен быть в одну колонку, то вертикальный список брать не стоит!
🔗 Очень хорошо построение списков осветили в документации по Lazy Layout
Аналогично можно проделать и с RecyclerView, использую вместо LinearLayoutManager вариант с сеткой - GridLayoutManager или StaggeredGridLayoutManager, только там не будет автоматического расчета колонок на основе доступного места. Это придется реализовывать самостоятельно.
#ui #android #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍88🤔16🏆9🔥8❤1🙏1
🔗 Автор также написал статью на русском про библиотеку
#android #nfc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍3
Media is too big
VIEW IN TELEGRAM
Когда: среда, 3 сентября, 19:00 (GMT+3)
На канале в прямом эфире пройдет мок собеседование в Альфа Банк, максимально приближенное к реальному.
Проводят:
Запись будет доступна позже на канале
#AndroidBroadcast #android #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥11❤3