android_its | Unsorted

Telegram-канал android_its - Android разработка

4971

все о Android разработке @itchannels_telegram - 🔥 лучшие it каналы @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books

Subscribe to a channel

Android разработка

Эксплуатируемая через SMS уязвимость в Android, приводящая к зацикленной перезагрузке

Раскрыты детали и опубликован эксплоит для уязвимости (CVE-2026-58882) в платформе Android, позволяющей добиться зацикленной перезагрузки через отправку специально оформленного SMS-сообщения. Для устранения зацикленной перезагрузки требуется сброс к заводским настройкам или ручные манипуляции при помощи утилиты ADB. Уязвимость получила кодовое имя SMS of Death и устранена в октябрьском обновлении платформы. Атака может быть совершена на любые телефоны, оснащённые Android 12-17. Обновление выпущено только для Android 14-17. Эксплуатирующее уязвимость SMS-сообщение обрабатывается как фоновое и не отображается на устройстве.

Полный текст:
https://opennet.ru/66586/
https://opennet.me/66586/

Читать полностью…

Android разработка

Compose Sonner

Это компонент toast-уведомлений для Compose Multiplatform, основанный на Sonner! Он поддерживает различные типы уведомлений, анимации, кастомизацию и не зависит от Material Design.


Особенности:
Практически такое же, как реализация emilkowalski на React: интерфейс, анимации и даже API. К ним относятся:

* Сложенные тосты и расширяемые тосты
* Различные типы и насыщенные цвета
* Переходы (анимации)
* Позиции (выравнивание)
* Смахивание вниз для закрытия
* Кнопка закрытия и кнопка действия
* Пользовательские иконки
* Длительность отображения
* Ленивая загрузка и высокая производительность: вы можете отображать множество тостов одновременно
* Полная настраиваемость: вы можете отображать собственный Composable
* Поддержка как Material 2, так и Material 3 за счет отсутствия зависимости от них

https://github.com/dokar3/compose-sonner

#Android

Читать полностью…

Android разработка

🍃 Не раскладывайте весь Spring-проект по папкам controller, service и repository.

В новом This Week in Spring Джош Лонг советует группировать код по функциональности, используя подход Spring Modulith. Например, orders, payments, users, внутри которых находятся относящиеся к ним слои.

Ещё в подборке:

• JobRunr 9: поиск упавшего шага и задач, вызывающих замедление, остановка выполнения без потери работы.
• Spring AI: разбор агентных паттернов и вызова инструментов от руководителя проекта Кристиана Цолова.
• Progen CLI: видео о генерации каркаса приложения.
• IntelliJ IDEA: обзор новых возможностей.
• A Bootiful Podcast: разговор с создателем Jenkins Косуке Кавагути.

https://spring.io/blog/2026/10/13/this-week-in-spring-october-13th-2026

#Java #SpringBoot

Читать полностью…

Android разработка

Опубликована мобильная платформа LineageOS 24, основанная на Android 17

Представлен выпуск мобильной платформы LineageOS 24, основанный на кодовой базе Android 17 и выпущенный в канун десятилетия проекта, которое состоится 24 декабря 2026 года. Ветка LineageOS 24 достигла паритета по функциональности и стабильности c веткой 23.2, и признана готовой для формирования первого релиза. Сборки подготовлены для 175 устройств, 24 из которых ранее не были в списке поддерживаемых.

Полный текст:
https://opennet.ru/66445/
https://opennet.me/66445/

Читать полностью…

Android разработка

🧠 Spring AI показал, как сделать RAG заметно умнее обычного vector search.

Проблема классического RAG: похожий документ ещё не значит полезный.

Новый пайплайн делает так:

Question → Rewrite → MultiQuery → Vector Search → Jev Filter → Rerank → LLM

Jev проверяет каждый найденный chunk: есть ли там реальный ответ, противоречие или prompt injection.

В демо vector search нашёл 6 фрагментов, но до модели дошли только 2 действительно полезных.

Меньше мусора в контексте → точнее ответы и меньше шансов на prompt injection.

Код и разбор:
https://spring.io/blog/2026/10/02/spring-ai-modular-rag-typesafe-jev/

Читать полностью…

Android разработка

Kotlin 2.5.0-Beta1 вышел

JetBrains выпустила первую бета-версию Kotlin 2.5.0.

Главное:

- Language: стабильная name-based destructuring в only-syntax режиме, плюс экспериментальные companion extensions и blocks.
- Standard Library: новые экспериментальные функции для упрощения типичных конструкций с if.
- Kotlin/JS: добавлена поддержка target ES2020.
- Compiler: более предсказуемое поведение inline-функций при компиляции .klib.

Пока это Beta, но релиз уже показывает, в какую сторону движется Kotlin 2.5: меньше синтаксического шума, современнее JS-таргеты и более стабильное поведение компилятора.

https://kotl.in/2-5-0-beta1

Читать полностью…

Android разработка

🚀 JetBrains обновила roadmap Kotlin: главный фокус - Multiplatform, Wasm и удобство разработки

Что сейчас в приоритете:

- довести Kotlin/Wasm до Stable
- ускорить KAPT до уровня Java APT
- улучшить incremental compilation в K2
- сделать новый JVM reflection
- перевести wasm-wasi на WASI Preview 2 и добавить Component Model
- продвинуть Swift Export из Alpha в Beta
- улучшить Xcode integration и Kotlin/Native debugger
- добавить импорт Swift Package Manager пакетов
- развивать Kotlin LSP и поддержку VS Code
- выпустить единый Kotlin Toolchain
- добавить first-class поддержку JPA/Hibernate для Kotlin stdlib types
- стабилизировать kotlinx.serialization, kotlinx.collections.immutable и kotlinx-io
- выпустить Kotlin DataFrame 1.0
- добавить HTTP/3 и gRPC в Ktor

Из уже завершённого: Swift 6.3 support, multi-module compilation для Kotlin/Wasm, Navigation3 для Compose Multiplatform и 18-месячное окно security fixes для stdlib.

Главное направление видно очень чётко: Kotlin всё сильнее двигается в сторону полноценной кроссплатформенной экосистемы — JVM, iOS, WebAssembly и web.

Следующее обновление roadmap запланировано на февраль 2027.

https://kotlinlang.org/docs/roadmap.html

Читать полностью…

Android разработка

🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

Окружение решает больше, чем кажется.

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

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: /channel/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_1001_notes
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: /channel/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка Frontend: /channel/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: /channel/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.

Читать полностью…

Android разработка

💡 Android/Kotlin: не перезапускайте `Flow` после каждого поворота экрана

Частая ошибка в ViewModel:


val uiState = repository.observeData()
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(),
initialValue = UiState.Loading
)


У WhileSubscribed() тайм-аут по умолчанию равен нулю. Когда Activity пересоздаётся при повороте экрана, подписчик исчезает, upstream-поток сразу останавливается, а затем запускается заново.

Это может повторно инициировать запросы, чтение базы или тяжёлые вычисления.

Добавьте небольшой период ожидания:


val uiState = repository.observeData()
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(5_000),
initialValue = UiState.Loading
)


Теперь поток продолжит работать ещё пять секунд после исчезновения последнего подписчика. Этого обычно достаточно, чтобы новая Activity успела подключиться после изменения конфигурации.

В Compose собирайте состояние с учётом жизненного цикла:


val uiState by viewModel.uiState.collectAsStateWithLifecycle()


Получается полезный баланс:

- поворот экрана не перезапускает весь pipeline;
- при реальном уходе со страницы поток остановится;
- ViewModel не тратит ресурсы без активного интерфейса.

5_000 - не магическое значение. Для дорогого подключения его можно увеличить, а для быстрого локального потока - уменьшить.

#Android #Kotlin #StateFlow #JetpackCompose

Читать полностью…

Android разработка

🔥 JetBrains открыла исходники KotlinLLM - Kotlin-код, который дописывает себя во время выполнения

KotlinLLM - исследовательский плагин для IntelliJ IDEA, который позволяет делегировать часть логики приложения LLM прямо во время запуска.

Пример:


val apiUrl: String = asLlm(
"JetBrains/kotlin",
hint = "Верни URL для GitHub Issues API"
)

val service: GithubService = mockLlm()


Когда приложение сталкивается с новым сценарием, плагин:

1. получает runtime-значения и типы;
2. просит LLM сгенерировать обновление;
3. компилирует новый код;
4. горячо перезагружает класс;
5. повторно выполняет исходный вызов.

Главная идея - модель не вызывается постоянно. Успешное решение сохраняется как обычный Kotlin-файл, который можно проверить, изменить, закоммитить и запускать дальше уже без LLM.

Сейчас доступны два основных механизма:

- asLlm<F, T>() - преобразует значение одного типа в другой;
- mockLlm<T>() - генерирует реализацию интерфейса и развивает её по мере появления новых сценариев.

Пока это исследовательский прототип для Kotlin/JVM. Проект распространяется по лицензии Apache 2.0.

GitHub:
https://github.com/JetBrains-Research/kotlinllm-plugin

Читать полностью…

Android разработка

⚡️ Локальные LLM стали серьёзнее: Bonsai 27B весит меньше 4 ГБ

PrismML взяла модель класса 27B и сжала её через 1-bit quantization: с примерно 54 ГБ до 3.8–3.9 ГБ.

Заявляют, что при таком сжатии модель сохраняет около 90% качества оригинала. Это уже размер, с которым можно думать не только про серверы, но и про ноутбуки, браузер и смартфоны.

Есть и более качественная версия Ternary Bonsai 27B: около 5.9 ГБ и до 95% качества baseline.

Модель поддерживает мультимодальность, reasoning, кодинг, tool calling и агентные сценарии. То есть это не просто локальный чат, а база для локальных AI-агентов.

Для Bonsai уже сделали WebGPU demo: кастомные kernel’ы позволяют запускать модель прямо в браузере. По словам Xenova, часть WebGPU-кода помогали писать Fable 5 и GPT 5.6 Sol.

HF collection: https://huggingface.co/collections/prism-ml/bonsai-27b
WebGPU demo: https://huggingface.co/spaces/webml-community/bonsai-webgpu-kernels

@ai_machinelearning_big_data

#llm #ai #ml

Читать полностью…

Android разработка

Java и инкапсуляция без магии

Публичные поля выглядят удобно ровно до первого бага.


account.balance = new BigDecimal("-100");


Код скомпилировался, объект изменился, бизнес-правило сломалось.
Никакой проверки, никакого контроля, никакой гарантии, что BankAccount остаётся в корректном состоянии.

Поэтому поле баланса не должно быть частью публичного API. Наружу можно отдать чтение, а изменение проводить через методы, где явно описаны правила:


private BigDecimal balance = BigDecimal.ZERO;

public BigDecimal getBalance() {
return balance;
}

public void withdraw(BigDecimal amount) {
if (amount.signum() <= 0) {
throw new IllegalArgumentException("amount must be positive");
}

if (balance.compareTo(amount) < 0) {
throw new IllegalStateException("insufficient funds");
}

balance = balance.subtract(amount);
}


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

Смысл инкапсуляции в том, чтобы объект сам защищал свои инварианты: баланс не уходит в минус, сумма списания валидна, состояние нельзя сломать прямым присваиванием.

Если значение можно менять только по правилам, это уже не просто структура данных, а нормальная доменная модель.

Читать полностью…

Android разработка

🖥 Китайский разработчик выложил в открытый доступ целую автомобильную ОС, которая превращает любой Android-смартфон в беспроводной адаптер CarPlay.

Она называется OkcarOS. Это кастомная прошивка Android 13, которая напрямую общается с экраном автомобиля по протоколу CarPlay.

→ Подключение за 4 секунды
→ Видео 60 fps, битрейт 25 Мбит/с
→ Без потерь аудио PCM
→ Разрешение 1:1 с экраном в автомобиле

100% с открытым исходным кодом.

https://github.com/okcar-os/android

Читать полностью…

Android разработка

🔍📱 Doorr: Android интерфейс для поиска с Prowlarr и Jackett

Doorr — это мобильное приложение для Android, которое упрощает поиск контента через Prowlarr и Jackett. Удобный интерфейс и функциональные возможности делают его отличным инструментом для пользователей.

🚀Основные моменты:
- Интуитивно понятный интерфейс для поиска
- Поддержка Prowlarr и Jackett
- Легкий доступ к файлам и настройкам

📌 GitHub: https://github.com/Lifailon/doorr

Читать полностью…

Android разработка

⚡️ CORS в Spring Boot: не лечите это костылями на фронте

Если frontend и backend живут на разных доменах или портах, браузер начнет резать запросы по CORS. Это не баг Spring Boot и не проблема React. Это нормальный механизм безопасности браузера.

Правильный способ - настроить CORS на стороне backend.

В Spring Boot это можно сделать глобально через WebMvcConfigurer: указать маршруты, разрешенные origins, HTTP-методы, заголовки и работу с credentials.

Главное - не ставить бездумно * везде подряд, особенно если используете cookies, токены или allowCredentials(true). В проде лучше явно перечислять доверенные домены, например frontend-домен приложения.

Такой подход дает централизованный контроль: вы один раз задаете политику CORS и не размазываете настройки по каждому контроллеру.

Для Java backend-разработчика это базовая, но важная вещь: CORS должен быть частью архитектуры API, а не случайной правкой перед деплоем.

Читать полностью…

Android разработка

📌Кейноут Android Dev Summit 2026

Сквозная линия всей конференции - агенты: им открыли инструментарий среды разработки, устройства из лаборатории Google и функции сторонних приложений.

🟡Агенты в Android Studio

Android Studio Rabbit 2 вышла в стабильном канале с режимом Bring Your Own Agent: подключить можно любой из более сорока агентов с поддержкой открытого протокола ACP, в том числе Claude Agent, Codex и Antigravity.

Агент получает структуру проекта, данные о сборке, разрешение символов, отрисовку Compose Preview, эмулятор и Logcat.

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

🟡Android CLI и плагины

Android CLI работает в любом терминале и в CI. Команда android device remote выдаёт настоящий телефон из лаборатории устройств Google и подключает его как локальный по adb, android preview рисует предпросмотр интерфейсов на Compose без эмулятора и сборки APK. Остальное закрывает профилирование, отчёты о падениях из продакшена, анализ сборок логикой Google Play и поиск по базе знаний.

По внутренним замерам Google, на задачах по интерфейсу агенты с android preview справляются на 77% быстрее и тратят до трёх раз меньше токенов.

Плагин для Antigravity обновили, а для Claude Code и Codex официальные плагины выпустили впервые.

Вместе с ними выложено больше тридцати навыков по двум десяткам тем, от безопасности разрешений до политик Google Play.

🟡Память и производительность

Команда android profiler leakcanary разбирает дамп памяти на компьютере вместо устройства, поэтому приложение не тормозит во время анализа.

По замерам Google, сильнейшие модели проходят этот сценарий почти вдвое быстрее и расходуют до 25% меньше токенов, чем без Android CLI.

Цифра приведена для Claude Opus 5.5, сама подкоманда пока обещана.


🟡Android Bench 2.0

Лидерборд для моделей и агентных окружений на длинных реальных задачах Android. Задачи рассчитаны на дни работы инженера, а решения оценивают ещё и по стоимости и затраченному времени.

🟡Агентные возможности внутри приложений

AppFunctions, единый слой вызова функций в Android, переведён в бету: разработчик описывает возможности приложения, а системный или собственный агент вызывает их напрямую, не открывая экраны.

Наружу это выставляется через Android MCP. Альфа A2UI для Jetpack Compose даёт агенту отвечать живым интерфейсом, собранным из компонентов самого приложения, вместо тонны текста, а агентный API в ML Kit на Gemini Nano 4, тоже в альфе, сам вызывает функции, хранит историю разговора и ставит ограничители.

🟡Connected Apps Platform

Платформа для выхода приложений в Gemini и поиск открыта в предпросмотре.

Интеграция идёт через Android MCP или удалённый MCP-сервер на тех же API AppFunctions, регистрация и тесты - в консоли Google Connected Console.

Сейчас в поиске и Gemini больше пятидесяти подключённых приложений, среди партнёров Adobe, Calm, Peloton, Experian и Localiza.


@ai_machinelearning_big_data

#news #ai #ml

Читать полностью…

Android разработка

🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

Окружение решает больше, чем кажется.

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

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: /channel/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_ci
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: /channel/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка Frontend: /channel/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: /channel/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.

Читать полностью…

Android разработка

📞 Входящий звонок: VK JT Mobile Meetup

31 октября в Москве и 14 ноября в Санкт-Петербурге VK собирает опытных iOS- и Android-разработчиков.

В Москве пройдут два параллельных трека — по iOS и Android. В Петербурге — общий трек для обеих платформ.

Спикеры из ВКонтакте, Дзена, MAX, VK Tech и других команд VK разберут инженерные кейсы: расскажут о производительности, тестировании, архитектуре, импакт-анализе, ИИ и других задачах мобильной разработки.

После докладов можно обсудить подходы с коллегами, поучаствовать в интерактивах и пообщаться на афтепати.

Только офлайн. Количество мест ограничено.

👉 Регистрация

Читать полностью…

Android разработка

💥 `supervisorScope` не спасает Android-приложение от краша


supervisorScope {
launch { process1() }
launch { error("Boom!") }
}


Ошибка во второй корутине не отменит первую. Но исключение всё равно нужно обработать: без подходящего обработчика оно может завершить Android-приложение.

Для необработанных ошибок дочернего launch можно добавить:


val handler = CoroutineExceptionHandler { _, e ->
Log.e("Coroutine", "Task failed", e)
}

supervisorScope {
launch { process1() }
launch(handler) { process2() }
}


Ожидаемые ошибки обрабатывайте через `try/catch` внутри задачи. CoroutineExceptionHandler получает уже завершившуюся с ошибкой корутину и не может продолжить её выполнение.

Супервизия изолирует сбои задач. Обработка исключений определяет, что делать с самим сбоем.

Читать полностью…

Android разработка

Доступна Android-прошивка CalyxOS 8.0, не привязанная к сервисам Google

Опубликован выпуск CalyxOS 8.0, прошивки на основе платформы Android, избавленной от привязок к сервисам Google и предоставляющей дополнительные средства для обеспечения конфиденциальности и безопасности. Новый выпуск переведён на кодовую базу Android 17 и доступен в сборках для устройств Pixel 5-10, Fairphone 4-6, Motorola Moto G32-G84 и SHIFTphone 8.

Подробнее:
https://opennet.ru/66382/
https://opennet.me/66382/

Читать полностью…

Android разработка

📱 Qwen представила Qwen Intelligence - набор ИИ-агентов для смартфонов.

В основе три агента:

* Mobile Planner Agent - разбивает сложные задачи на шаги и координирует выполнение.
* Mobile-Use Agent - выполняет действия в приложениях через API, а при необходимости переключается на GUI. На MobileWorld — 82.1%, на MobileWorld-Real — 92.2%.
* Mobile Creative Agent — превращает короткий запрос в готовый визуальный контент; заявленная генерация изображения - около 3 секунд.

Qwen также открывает набор мобильных бенчмарков: MobilePA-Bench, MobileWorld, MobileWorld-Real и MobileWorld-Safety — для проверки планирования, работы между приложениями, реальных устройств и безопасности.

Один агент планирует, второй действует, третий создаёт контент - прямо на смартфоне.

🔗 Learn more about the agents:
- Qwen Intelligence official website: https://qwenintelligence.com
- Mobile Planner Agent: https://github.com/Tongyi-MAI/Qwen-Planner-Agent
- Mobile-Use Agent: https://tongyi-mai.github.io/Qwen-UI-Agent/
- Mobile Creative Agent: https://arxiv.org/abs/2608.16887

🔗 Explore our open benchmark suite:
- MobilePA-Bench: https://tongyi-mai.github.io/MobilePA-Bench/
- MobileWorld (GitHub): https://github.com/Tongyi-MAI/MobileWorld
- Leaderboard: https://tongyi-mai.github.io/MobileWorld/#leaderboard

@ai_machinelearning_big_data

#qwen #mobile

Читать полностью…

Android разработка

✔️ Как работают SAM-conversions

Single Abstract Method (SAM) интерфейсы — это интерфейсы только с одним абстрактным методом (функциональные интерфейсы). Kotlin поддерживает соглашение SAM — автоматическую конвертацию функций и lambda между Kotlin и Java.

SAM-conversions позволяют использовать Java-интерфейсы с единственным абстрактным методом в Kotlin, как если бы это были функциональные типы. В Kotlin вы можете использовать такие интерфейсы для создания лямбда-выражений без явного определения функционального типа.

При использовании интерфейса с единственным абстрактным методом в качестве функционального интерфейса в Java, вы можете передавать его экземпляры вместо лямбда-выражений. Это тоже возможно в Kotlin, но на самом деле Kotlin предоставляет более простой синтаксис для этого.

Когда вам нужно использовать функциональный интерфейс в Kotlin, вы можете передать lambda-выражение, которое соответствует сигнатуре единственного метода интерфейса, вместо экземпляра интерфейса. Компилятор сам преобразует лямбда-выражение в экземпляр интерфейса, используя функцию-расширение метода invoke интерфейса.

Пример:


interface OnClickListener {
fun onClick(view: View)
}

class Button {
fun setOnClickListener(listener: OnClickListener) {
// ...
}
}

val button = Button()
button.setOnClickListener { view ->
// обработка нажатия кнопки
}


В этом примере мы определяем интерфейс OnClickListener с единственным абстрактным методом onClick. Затем мы создаем класс Button, который может иметь слушатель, реализующий данный интерфейс. После этого мы создаем экземпляр Button и передаем лямбда-выражение с соответствующей сигнатурой в качестве слушателя. Компилятор автоматически преобразует это лямбда-выражение в экземпляр интерфейса OnClickListener, используя функцию-расширение invoke интерфейса.

#буст #JuniorKit #Kotlin

Читать полностью…

Android разработка

✔️ Апдейт ChatGPT: изолированный контекст в Projects, тесты для проверки знаний и правки для Android

У проектов появился переключатель контекста - модель может брать общую память или работать только с тем, что загружено внутрь проекта, игнорируя историю остальных чатов. Пересоздавать проект для этого не нужно. Проекты с общим доступом работают только во втором режиме.

Пользователи платных тарифов стали видеть на стартовом экране персональные подсказки, которые собираются из прошлых чатов и истории использования инструментов.

Бесплатным и образовательным аккаунтам добавили генерацию тестов для самопроверки.

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


@ai_machinelearning_big_data

#news #ai #ml

Читать полностью…

Android разработка

Лето, ИТ-Пикник и музыка известных артистов уже через несколько дней!

8 августа в Коломенском пройдет ИТ-Пикник.

В программе — выступления проекта LAB Антона Беляева, IOWA, Cream Soda, Pompeya, мартина и Совы.

А днем — научпоп-лекции, дискуссии об ИИ и больших языковых моделях, мастер-классы и интерактивы. Полезные знакомства и развлечения тоже будут.

Зарегистрироваться и узнать подробности можно на сайте мероприятия.

В билет входит +1 — можно позвать близких и друзей.

До встречи в месте притяжения ИТ.

Читать полностью…

Android разработка

Google убрала последний барьер для перехода с iPhone на Android 😐

В Android 17 переезд с iPhone сделали максимально бесшовным: новый смартфон сам подтягивает фотографии, видео, сообщения, контакты, сохранённые сети Wi-Fi и даже eSIM. Без отдельных приложений, без танцев с бубном и без традиционного «что-то точно не перенесётся».

На первый взгляд — просто обновление. На практике — это ломает один из последних якорей, которые держали людей в экосистеме Apple. 

Кто с Pixel или новыми Samsung Z Flip8 / Z Fold8 — уже могут щупать. Остальным — подвезут позже.

Читать полностью…

Android разработка

Open-source IDE на Qt6 для реверс-инжиниринга Android APK.

https://github.com/vaibhavpandeyvpz/apkstudio

Читать полностью…

Android разработка

В библиотеку ANGLE, используемую в Chrome и Android, добавлена поддержка Wayland

Разработчики Chromium реализовали поддержку протокола Wayland библиотеке ANGLE. Библиотека осуществляет трансляцию вызовов OpenGL ES в графические API OpenGL, Direct3D 9/11 и Vulkan, и применяется в Chrome в качестве бэкенда для WebGL, а в Android для реализации OpenGL ES поверх Vulkan. Упоминается, что изменение позволит реализовать поддержку Wayland во фреймворке CEF (Chromium Embedded Framework), предназначенном для встраивания браузерного движка Chromium в приложения. Среди прочего, отсутствие поддержки Wayland в CEF не позволяет реализовать Wayland-версию клиента Steam.

Подробнее:
https://opennet.ru/65541/
https://opennet.me/65541/

Читать полностью…

Android разработка

Google показала Android 17 - систему, где Gemini встраивают почти в каждый слой

Android 17 выглядит не как обычное обновление с новыми иконками, а как попытка превратить смартфон в полноценного AI-ассистента.

Что обещают внутри:

- ИИ сможет взаимодействовать с приложениями от имени пользователя
- система будет собирать автоматизации под конкретные задачи
- появятся кастомные AI-виджеты
- голосовой ввод научат чистить от пауз, мусора и слов-паразитов
- Gemini Intelligence станет частью повседневных сценариев, а не отдельной кнопкой в приложении

Одна из самых заметных фич - Screen Reactions. Она позволит одновременно записывать экран и себя, а потом накладывать реакцию поверх видео, комментариев или другого контента. По сути, встроенный инструмент для реактов и коротких роликов без стороннего софта.

Отдельно Google анонсировала Googlebook - премиальные компьютеры под ChromeOS и глубокую интеграцию Gemini Intelligence.

Похоже, Google больше не продаёт просто Android и ChromeOS.

Она собирает экосистему, где ИИ становится стандартным интерфейсом между пользователем, приложениями и устройством.

Читать полностью…

Android разработка

Tencent ужал переводчик до 440 мегабайт и сделал его умнее Google Translate

Китайцы из Tencent выложили в открытый доступ модель Hy-MT1.5-1.8B-1.25bit, и это тот случай, когда длинное название скрывает по-настоящему любопытную штуку. Переводчик весит 440 мегабайт, целиком работает офлайн на телефоне, понимает 33 языка и при этом обгоняет Google Translate на стандартных бенчмарках.

Главный фокус тут в квантовании. Обычно модель такого размера в FP16 занимает около 3,3 гигабайта, что для смартфона уже многовато. Tencent сжали её до 1,25 бита на вес, и в итоге получили файл в семь с половиной раз меньше оригинала. Что особенно приятно, это не привычная история «сжали и оно начало нести чушь». Точность не просела, а по сравнению с предыдущими подходами на 1,67 бита новая версия ещё и работает примерно на десять процентов быстрее.
При своих скромных 1,8 миллиарда параметров модель умудряется тягаться с коммерческими API и даже с гигантами на 235 миллиардов.

То есть на стандартных тестах перевода она играет в одной лиге с системами, которые в сотню раз тяжелее и крутятся в дата-центрах, а не у вас в кармане.

Покрытие тоже не для галочки. 33 языка, 5 диалектов и 1056 направлений перевода, причём в список попали тибетский и монгольский. Это редкий случай, когда крупный игрок не ограничивается английским, испанским и парой ходовых европейских, а реально вкладывается в малые языки, которые обычно остаются за бортом коммерческих сервисов.
В довесок Tencent напоминают, что их переводческий стек уже тридцать раз брал первые места на международных соревнованиях по машинному переводу и стоит внутри продуктов компании.

ЭТО боевая технология, которую просто решили отдать наружу. На Hugging Face лежит сама модель, на GitHub код, и есть готовый APK для Android, чтобы потрогать всё руками без танцев со сборкой.

Если коротко, то идея «переводчик уровня Google прямо на телефоне без интернета и подписки» из разряда фантастики окончательно переехала в разряд скачал и пользуйся.

📲Demo APK (Android): https://huggingface.co/AngelSlim/Hy-MT1.5-1.8B-1.25bit-GGUF/resolve/main/Hy-MT-demo.apk
🤗Hugging Face:: https://huggingface.co/AngelSlim/Hy-MT1.5-1.8B-1.25bit
🔗GitHub: https://github.com/tencent/AngelSlim
📄Paper: https://arxiv.org/abs/2601.07892

Читать полностью…

Android разработка

🦀 Google затащили Rust туда, где его реально ждали - прямо в cellular baseband у Pixel 10.

Не в приложение, не в системный сервис и даже не в очередную утилиту, а в прошивку модема. Это уже совсем другой уровень.

Первым шагом заменили DNS-парсер, который раньше был написан на C и регулярно оставался источником memory-safety проблем. Теперь там Rust на базе hickory-proto: bare-metal, no_std, FFI к существующим C-аллокаторам - все по-взрослому.

И самое важное тут даже не сам DNS-парсер. Главное, что Google уже протащили Rust в build system baseband. А значит, это не разовая демонстрация, а начало нормальной поэтапной миграции.

Вот так и выглядит реальное внедрение Rust в критическую инфраструктуру: без громких лозунгов, но с максимальной пользой. Сначала один опасный компонент, потом еще один, а дальше язык постепенно заходит в самые уязвимые части системы.

Для всей индустрии это очень показательный кейс. Rust все чаще идет не в новые игрушечные проекты, а в старые и сложные куски железа, где цена ошибки слишком высокая.

security.googleblog.com/2026/04/bringing-rust-to-pixel-baseband.html

#Rust #RustLang #MemorySafety #EmbeddedSystems #Android

Читать полностью…
Subscribe to a channel