Android Live 🤖
رفتن به کانال در Telegram
Самые свежие новости, новинки и тренды Android от практикующего разработчика. Автор: @al_gorshkov, Чат: @android_live_chat Личный блог: @al_gorshkov_blog Рекламу не размещаю
نمایش بیشتر5 134
مشترکین
+624 ساعت
+37 روز
+1630 روز
در حال بارگیری داده...
کانالهای مشابه
ابر برچسبها
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
اکتبر '26اکتبر '26
اکتبر '26
+18
در 0 کانالها
سپتامبر '26
+38
در 0 کانالها
Get PRO
اوت '26
+18
در 0 کانالها
Get PRO
ژوئیه '26
+13
در 1 کانالها
Get PRO
ژوئن '26
+10
در 0 کانالها
Get PRO
مه '26
+15
در 0 کانالها
Get PRO
آوریل '26
+10
در 0 کانالها
Get PRO
مارس '26
+16
در 2 کانالها
Get PRO
فوریه '26
+21
در 0 کانالها
Get PRO
ژانویه '26
+38
در 2 کانالها
Get PRO
دسامبر '25
+11
در 0 کانالها
Get PRO
نوامبر '25
+17
در 0 کانالها
Get PRO
اکتبر '25
+24
در 0 کانالها
Get PRO
سپتامبر '25
+17
در 0 کانالها
Get PRO
اوت '25
+16
در 0 کانالها
Get PRO
ژوئیه '25
+17
در 0 کانالها
Get PRO
ژوئن '25
+13
در 0 کانالها
Get PRO
مه '25
+37
در 2 کانالها
Get PRO
آوریل '25
+25
در 0 کانالها
Get PRO
مارس '25
+16
در 0 کانالها
Get PRO
فوریه '25
+30
در 1 کانالها
Get PRO
ژانویه '25
+33
در 0 کانالها
Get PRO
دسامبر '24
+30
در 0 کانالها
Get PRO
نوامبر '24
+24
در 1 کانالها
Get PRO
اکتبر '24
+29
در 0 کانالها
Get PRO
سپتامبر '24
+35
در 0 کانالها
Get PRO
اوت '24
+47
در 0 کانالها
Get PRO
ژوئیه '24
+28
در 1 کانالها
Get PRO
ژوئن '24
+44
در 0 کانالها
Get PRO
مه '24
+39
در 0 کانالها
Get PRO
آوریل '24
+33
در 0 کانالها
Get PRO
مارس '24
+39
در 0 کانالها
Get PRO
فوریه '24
+56
در 0 کانالها
Get PRO
ژانویه '24
+69
در 1 کانالها
Get PRO
دسامبر '23
+66
در 1 کانالها
Get PRO
نوامبر '23
+35
در 1 کانالها
Get PRO
اکتبر '23
+26
در 0 کانالها
Get PRO
سپتامبر '23
+19
در 0 کانالها
Get PRO
اوت '23
+69
در 0 کانالها
Get PRO
ژوئیه '23
+45
در 0 کانالها
Get PRO
ژوئن '23
+106
در 0 کانالها
Get PRO
مه '23
+383
در 0 کانالها
Get PRO
آوریل '23
+43
در 0 کانالها
Get PRO
مارس '23
+25
در 0 کانالها
Get PRO
فوریه '23
+161
در 0 کانالها
Get PRO
ژانویه '23
+38
در 0 کانالها
Get PRO
دسامبر '22
+20
در 0 کانالها
Get PRO
نوامبر '22
+53
در 0 کانالها
Get PRO
اکتبر '22
+45
در 0 کانالها
Get PRO
سپتامبر '22
+25
در 0 کانالها
Get PRO
اوت '22
+64
در 0 کانالها
Get PRO
ژوئیه '22
+48
در 0 کانالها
Get PRO
ژوئن '22
+20
در 0 کانالها
Get PRO
مه '22
+19
در 0 کانالها
Get PRO
آوریل '22
+22
در 0 کانالها
Get PRO
مارس '22
+31
در 0 کانالها
Get PRO
فوریه '22
+17
در 0 کانالها
Get PRO
ژانویه '22
+19
در 0 کانالها
Get PRO
دسامبر '21
+220
در 0 کانالها
Get PRO
نوامبر '21
+100
در 0 کانالها
Get PRO
اکتبر '21
+77
در 0 کانالها
Get PRO
سپتامبر '21
+42
در 0 کانالها
Get PRO
اوت '21
+55
در 0 کانالها
Get PRO
ژوئیه '21
+108
در 0 کانالها
Get PRO
ژوئن '21
+175
در 0 کانالها
Get PRO
مه '21
+51
در 0 کانالها
Get PRO
آوریل '21
+80
در 0 کانالها
Get PRO
مارس '21
+426
در 0 کانالها
Get PRO
فوریه '21
+87
در 0 کانالها
Get PRO
ژانویه '21
+40
در 0 کانالها
Get PRO
دسامبر '20
+5 892
در 0 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 06 اکتبر | +9 | |||
| 05 اکتبر | +7 | |||
| 04 اکتبر | +2 | |||
| 03 اکتبر | 0 | |||
| 02 اکتبر | 0 | |||
| 01 اکتبر | 0 |
پستهای کانال
Git --delete-merged
На днях узнал про любопытную команду в Git —
--delete-merged .
Суть простая: команда за один запуск дропает все ветки, которые уже были влиты в origin . Конечно, можно и руками подчистить или промпт скрипт написать. Но командой как-то удобнее.
Работает так:
$ git branch --delete-merged 'origin/*' --dry-run
Would delete branch feature/login (was abc1234).
Would delete branch feature/login-fix (was def5678).
Would delete branch fix/typo (was 9876fed).
Посмотрел, убедился, что ничего лишнего — запускаешь без --dry-run:
$ git branch --delete-merged 'origin/*'
Deleted branch feature/login (was abc1234).
Deleted branch feature/login-fix (was def5678).
Deleted branch fix/typo (was 9876fed).
Можно чистить точечно, категориями — topic-*, feature/*, origin/*.| 2 | Почему Android-эмулятор жрёт 8 ГБ?
На днях попался репозиторий с CLI-тулзой, которая обещала уменьшить потребление стандартного эмулятора с ~8 ГБ до ~1,5 ГБ на Apple Silicon и Linux.
Что-то не очень хочется тянуть неизвестную зависимость на свой ноутбук — подумал я, и отправил агента разобраться, чего там внутри.
Выяснилось, что никакой магии нет: просто упакованное использование уже стандартных инструментов.
Вот что можно сделать, чтобы ускорить работу эмулятора:
1. Купить ноутбук с 64GB RAM
2. При добавлении эмулятора выбираем образ «Google APIs», а не «Google Play». Если вам не нужен Play Store, то APIs легковеснее, а ещё на нём работает adb root.
3. Для начала зайти в Device Manager → Edit → Show Advanced Settings → RAM, и там поставить значение примерно в 2048 MB.
4. Ещё можно отключить ненужные штуки, типа камеры, микрофона или Bluetooth через ~/.android/avd/<NAME>.avd/config.ini
И последний пункт — это запуститься с флагом -lowram вместо запуска из студии. То есть:
$ANDROID_HOME/emulator/emulator \
-avd Pixel_Whatever \
-lowram \
-gpu host \
-no-audio \
-no-boot-anim
Может ещё что-то упустил, дайте знать в комментариях. | 1 077 |
| 3 | Как назовём такой work-life balance? | 1 794 |
| 4 | На днях попалась вакансия мечты
Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack Compose/Coroutines, небольшая команда.
А потом целый абзац, который назван High Standards. No Apologies.
This isn’t a 9-to-5. Our team is deeply committed, often putting in 60+ hours a week. We are always pushing to be in the top 1% of our craft.
Самое смешное, что компания занимается умными девайсами для улучшения сна. 😆
Видимо, лучший способ понять проблемы со сном — это сначала создать их своим сотрудникам.
Ну что, откликаться? Или пусть они сначала выспятся сами? | 1 766 |
| 5 | На днях ревьювил код, связанный с копированием в буфер обмена
И заметил, что многие приложения неверно используют буфер обмена при копировании приватной информации. Типа данных карт, паролей из менеджера или 2FA-кодов.
Существует флаг IS_SENSITIVE в ClipboardManager.setPrimaryClip(). Если его не проставить — скопированное содержимое оказывается в превью клавиатуры (той самой подсказке над клавишами). Что совсем небезопасно.
Работает всё просто:
// API 33+
clipData.apply {
description.extras = PersistableBundle().apply {
putBoolean(ClipDescription.EXTRA_IS_SENSITIVE, true)
}
}
// API 32 и ниже
clipData.apply {
description.extras = PersistableBundle().apply {
putBoolean("android.content.extra.IS_SENSITIVE", true)
}
}
Ещё стоит не забывать подчищать критичные данные при копировании. Детали можно почитать тут.
Так что если у вас в приложении есть какого-то рода приватные данные — не забывайте заботиться о ваших пользователях. ☺️ | 1 853 |
| 6 | AirDrop на Android, похоже, уже есть на нескольких моделях Android
Но, оказывается, всё это время была годная альтернатива. Может, вам тоже надо, как и мне.
Есть LocalSend — бесплатный open-source проект, который гоняет файлы и сообщения между устройствами по локальной сети.
Как это работает: устройства в одной Wi-Fi-сети находят друг друга и обмениваются файлами напрямую, без облаков посередине. Работает из коробки на Android, iOS, Windows, macOS и Linux. Под капотом — REST API поверх HTTPS, а сертификат генерится на лету на каждом устройстве.
И... Приложение и правда работает, у меня завелось везде прям из коробки. Отдельно отмечу режим с копированием текста: частенько бывает нужно пошарить какую-нибудь ссылку на соседний девайс.
Похоже, что лично для меня эра «закинь в Telegram на одном девайсе — скачай на другом" закончилась ☺️ | 1 894 |
| 7 | Похоже, есть что посмотреть на выходных
Недавно вышло интервью с Женей Вороновым Jake Wharton. Сам ещё не смотрел, но судя по описанию — интервью годное.
Слышал разные мнения о Джейке, но для меня он является «отцом» многих крутых библиотек на самой заре Android и очень сильным инженером.
В интервью он рассказывает про Kotlin, про увольнение из Google, про текущее место работы и как он его выбрал. И, конечно же, про ИИ.
Олды, кто помнит Actionbar Sherlock? | 1 843 |
| 8 | Google выкатили ARTEMIS
Эта инструмент, который превращает обычный текст в реальные действия на Android-устройстве. По сути, это полноценный агент, который жмёт по кнопкам, как человек.
Что умеет:
• Cross-приложения — например, на демо показали: «построй маршрут в Maps и посчитай суммарное время, потом открой YouTube и включи Coldplay». Вроде даже работает
• Мультимодальный поиск элементов — сначала пробует по индексу, если не вышло — по координатам и визуально. В общем, старается не упасть на ровном месте
• MCP для IDE — Antigravity, Claude Code, Windsurf напрямую рулят тестовым девайсом и собирают Logcat + скриншоты
• Два режима — Flash (реактивный цикл, 3–5 сек на шаг) и Pro (проверка цели перед каждым действием, восстановление после блокировок)
Результат на AndroidWorld от Google Research — 99%+ выполненных задач из сотни многошаговых сценариев.
Запуск простой:
git clone https://github.com/google/artemis.git && cd artemis
./start.sh
Скрипт сам поставит ADB, scrcpy, FFmpeg и Python-зависимости, поднимет локальный сервер на localhost:8000 с визардом подключения, зеркалом экрана и песочницей для промптов.
Для IDE есть нативный MCP-сервер:
uv run artemis mcp --install all
И отдельный файл rules.md — чтобы ассистент вёл себя как senior mobile QA-инженер и не выдумывал несуществующие элементы интерфейса.
Мне кажется, что если всё работает именно как заявлено — это прям топовое обновление в рамках автоматизации Android-тестов.
Что думаете? | 2 466 |
| 9 | Кстати, вчера забыл про очень важный день...
День погонщиков нейронок программиста!
С нашим профессиональным праздником нас, хоть и на день позже. Несмотря на непростые и тревожные времена — желаю вам держать руку на пульсе, профессионально расти, находить работу мечты и делать свои топовые проекты.
С праздником! | 1 727 |
| 10 | Новый iPhone вышел на днях, вы помните?
Наверное, самым ярким вау-эффектом после презентации осталась анимация открытия и закрытия нового iPhone.
Кто-то может подумать, что такую анимацию нельзя повторить на Android, а оказывается — чуть-чуть AGSL shaders + Jetpack Compose + работы с сенсорами — и вот, готовая анимация.
Если честно, не знаю, зачем оно нужно, может только как вау-эффект | 3 098 |
| 11 | Про Encrypted Client Hello
На днях Google выпустил отличную новость для любителей шапочки из фольги приватности. В свежем Android 17 появилась поддержка Encrypted Client Hello, или ECH.
Когда вы подключаетесь к какому-либо сайту, даже по HTTPS, имя сайта зачастую всё ещё можно определить по SNI и DNS. То есть оператор связи или владелец сети может узнать, к какому сайту вы обращаетесь, даже не имея доступа к содержимому трафика. Это плохо: можно использовать эти данные для не корыстных целей, будь то скам или реклама.
ECH решает часть этой проблемы, шифруя ClientHello и скрывая SNI. А в связке с зашифрованным DNS становится значительно сложнее определить, какой именно сайт вы посещаете.
В Android 17 такая поддержка добавилась вместе с Private DNS из коробки, да и OkHttp 5.5.0 уже поддерживает эту фичу.
Теперь надо, чтобы такой стандарт поддержали сайты, а «операторы связи» не мешали внедрению. Чую будет не просто. | 1 725 |
| 12 | Про привычные иконки
Если сегодня спросить, какую иконку лучше использовать для поиска, большинство наверняка вспомнит лупу.. Но так было не всегда. И, мне кажется, что история её появления довольно любопытная.
В блоге Рэймонда Чена есть история, как в Windows 3.0 появилась программа для просмра справки (WinHelp). В ней появилась панель быстрых действий со следующими элементами:
• index с указателями;
• back со следами;
• browse со стрелками вперёд и назад;
• поиск с лупой.
Сегодня этот символ кажется очевидным, но тогда графический интерфейс был в новинку, и метафора считывалась далеко не всеми. В англоязычных странах образ Шерлока Холмса, ищущего улики с лупой, понятен каждому. А в других культурах он был далеко не столь узнаваемым.
Команда WinHelp даже получила вопрос от зарубежных коллег: зачем на иконке поика нарисована сковородка?
В итоге панель изменили и оставили только надписи, чтобы избежать недоразумений. | 1 132 |
| 13 | Про ИИ приложения
Вы спрашивали себя, как понять, навайбожено приложение или сделано своими руками?
Выделил несколько признаков:
• эмоджи там, где обычно стандартные иконки;
• тёмная тема, с синими градиентами на кнопках;
• англицизмы;
• в логах куча ошибок;
• обычно тупящий UI;
• ошибки типа «some error happened»;
Ну а если ИИ сделал — обычно всё чётко. | 2 028 |
| 14 | Handy
Если вы искали качественную и бесплатную замену Whisper (популярный нынче инструмент для транскрибации), то вот вам Handy.
Плюсов много:
• бесплатный;
• opensource;
• распознавание голоса происходит прям на устройстве;
• такой же простой и понятный.
По ощущениям работает похуже: если Whisper делает распознавание на 10 из 10, то Handy я поставлю 8. Но… opensource и бесплатно зато. Считаю, что это золото, а не тулза. | 2 037 |
| 15 | Важный вопрос
Как думаете, юзеры удивятся, если увидят такой ввод пароля в банковском приложении?
Если что — вот код. | 2 162 |
| 16 | Mesh Gradients
Люблю красивый UI, и вот — ещё одна интересная фича в стандартной библиотеке Compose.
Mesh-градиенты — это градиенты внезапно, которые делают переходы с помощью сетки. Она может быть нелинейной, благодаря чему градиент выглядит необычно. Получается плавная, перетекающая цветовая масса. Гугловый пример мне напоминает чем-то бензин, который попал в лужу.
Для создания существует MeshGradientPainter. В нём можно настроить множество параметров: количество цветов, характеристики сетки и итоговую форму.
Часто встречаю приложения с градиентами, поэтому считаю, что такая анимация выглядит очень достойно.
Детальнее можно почитать тут. | 2 403 |
| 17 | R8 retrace
На днях отлаживал баг в тестовой сборке и заметил применение крутой технологии — R8 retrace. Как-то я упустил момент её релиза, а ведь теперь Android Studio подтягивает её автоматически.
Наверняка у вас в проектах используется R8. При создании релизной сборки генерируется файл mapping.txt. Он используется, например, в Firebase Crashlytics, чтобы превратить обфусцированный код в читаемый стектрейс.
Так вот, сейчас если собрать релизную (а может и тестовую, если вы её тоже делаете с R8) и установить её на устройство, которое подключено к IDE, то можно увидеть сразу корректный стектрейс. Студия сама подцепит, если есть mapping и покажет всё, что нужно для дебага.
Хотя может фича уже давно в проде, а я только обнаружил. | 2 255 |
| 18 | Что у нас по AI-переводам? 🤖
Сколько бы я ни разрабатывал приложения — проблема локализации всегда стояла остро. До недавнего времени существовало два основных пути:
🟢путь самурая — наймём агенство профессиональных переводчиков, которые будут в теме нашего контекста и обеспечат высокое качество;
🟢путь ронина — а зачем нам переводчики, давайте машинные переводы сделаем, это лучше, чем ничего;
Первый вариант — дорогой и долгий, при этом качество не всегда было безупречным. Второй — бюджетный, но уровень перевода оказывался совсем низким.
С недавних пор у нас появился третий путь: а давайте натравим AI, чтобы он сам делал переводы, модели ж уже весьма умные. Или нет? Поделюсь своим опытом.
Для работы с переводчиками у нас использовалась платформа CrowdIn. По сути, при работе с переводчиками это было удобным хранилищем для строк. А ещё была неплохая поддержка CI, что позволяло отправлять и получать переводы без ручного участия команды разработки.
С приходом эры AI платформа добавила поддержку нейросетевых моделей. Можно подключать свои ключи API и использовать любые подходящие модели.
В результате текущий workflow выглядит так:
🟢загружаем новые строки;
🟢обогащаем контекст с помощью встроенного инструмента harvester: по сути, это команда, которая добавляет описание к каждой строке (например: «эта строка используется для кнопки «Вперёд» на экране авторизации»). Считаю это критически важным этапом;
🟢запускаем перевод.
Для генерации контекста можно использовать модель попроще, а для финального перевода — более мощную и дорогую.
На выходе получилось очень достойно: надо было добавить пару правил по поводу того, что не стоит переводить и шаг за шагом добавлять языки, иногда проверяя переводы носителем, если есть возможность. Оцениваю фичу по качеству на 8 из 10, а по деньгам — 10 из 10. Даже с самой дорогой моделью на переводах.
Так что если у вас есть подобная задача — смело интегрируйте удобное для себя готовые решение, благо их на рынке сейчас много. Или навайбкодьте своё, чего уж. | 1 141 |
| 19 | Что за Gemma 4?
Одним из не очень громких, но, на мой взгляд, важных анонсов Google I/O была поддержка Gemma 4 прям из IDE.
Android Studio и раньше поддерживала локальные модели, но теперь можно просто скачать себе подходящую модель напрямую, чуть ли не как SDK. В итоге вы получаете вполне приличного ИИ-ассистента.
Как я и сказал, модель локальная: подойдёт, если не хочется платить за подписки или использование сторонних моделей запрещено корпоративными правилами. Ну и вообще, тренд с локальными моделями мне нравится.
И хоть Gemma 4 и не самая топовая в бенче — всё равно будет полезной для разного рода задач.
Для запуска надо прилично RAM, так что бояре с 48+ гигами оперативы снова в тренде. | 1 818 |
| 20 | Ну что — помянем View ⚰️
Google переводит их в режим поддержки, выпуская исключительно критические исправления. Fragment, кстати тоже всё.
Теперь Compose First подход официально.
Но, думаю, View останутся с нами ещё надолго: слишком много качественных приложений написано именно на них. | 2 023 |
