Google обновила требования к ОС для поддержки Wallet. С 10 июня кошелёк потребует Android 9 или выше на смартфоне и Wear OS 2.x или выше на умных часах.
Это необходимо, чтобы обеспечить большую безопасность функций, в том числе оплату касанием.
Ранее для работы Wallet было достаточно Android 7.0. Когда Google выпустила приложение кошелька в 2022 году, оно поддерживалось в версиях начиная с Android 5.0.
Обновление затронет пользователей Android Nougat (2016: 7.0, 7.1) и Oreo (2017: 8.0, 8.1). Wear OS 2 была основана на Android 8.0 Oreo, но позже была обновлена до Android 9.0 Pie.
2 мая 2024 года Mozilla сообщила о преодолении рубежа в 1000 дополнений, доступных для Android-версии Firefox в каталоге AMO (addons.mozilla.org).
В декабре 2023 года, после введения в строй инфраструктуры дополнений для Android-версии Firefox, в каталоге насчитывалось 489 дополнений. Менее чем за пять месяцев число дополнений, портированных для Android-версии Firefox, удвоилось.
Разработчики дополнений, уже поставляемых для настольной версии Firefox, могут адаптировать свои продукты для работы в мобильной версии, переведя дополнение с модели постоянного фонового выполнения (extension.getBackgroundPage) на режим обработки событий (browser.runtime.onMessage.addListener), а также задействовав методы адаптивной компоновки элементов интерфейса.
В ходе работы над своим драйвером печати мне пришлось написать эмулятор IPP принтера. Оформил его как бесплатное приложение в гугл плее. Анонс сервиса в mDNS IppVirtual._ipp._tcp.local. Добился автоматического его распознования стандартной службы печати андроида. Поднял http сервер на порту 10631. отдаю иконку принтера и 404 страницы. При обращении по rp = p/virеual реализовал команды IPP протокола: получить свойства принтера, печать документа и другие. Проще всего было реализовать поддержу PDL для PCLm (по сути тотже aplication/pdf), полученный файл просто передается встроенному просмотровщику. Для urf,pwg и SPL(QPDL) написал декодеры в битмап с последующей конвертацией в pdf.
Не получилось полностью реализовать драйверлес для macOS и windows :(
На маках находит, но ставиться только при ручном указание ppd, который можно сформировать запуском
На виндовс устанавливается через мастер установки Bonjour. Драйвер приходится выбирать в ручную. Подходят стандартные от майкрософт (н-р универсальный IPP).
Эмулятор может быть полезен программистам, которые решили внедрить в свою программу прямую печать на IPP принтеры.
Приложение в данный момент опубликовано для открытого тестирования
В новую версию мобильного приложение «Госуслуги» (для RuSrore. Google Play и App Store) разработчики добавили сторис.
В версии 18 приложения добавлен информационный блок в формате сторис. Как и в других приложениях, карточки находятся на главном экране сверху и перелистываются автоматически. Если нужно внимательнее прочитать текст, достаточно задержать палец на экране.
Из сторис на «Госуслугах» можно в краткой форме узнать о возможностях приложения. Например, как подключить уведомления о судебных решениях, быстро оформить онлайн-выписку или подключить вход по QR-коду.
Компания-разработчик Avroid («Авроид») выпустила обновление для мобильного приложения Tavro («Тавро») — мобильного клиента мессенджера Telegram для ОС «Аврора».
В новой версии Tavro улучшена навигация, стали доступны дополнительные возможности администрирования групп и каналов. В приложении появились элементы навигации — табы в нижней части экрана, стала доступна возможность редактировать сообщения, закреплять чаты, управлять группами и каналами: удалять участников, менять названия и аватары.
Разработчики пояснили, что Tavro выполняет основные функции мессенджера: отображает списки чатов, может отправлять текстовые сообщения, изображения и видео, эмодзи, файлы, совершать звонки между пользователями Telegram, поддерживает различные системные уведомления в чатах, позволяет работать без подключения к интернету и многое другое.
В начале марта 2024 года «Авроид» открыла доступ (с ограничениями) для всех к мобильному приложению Tavro для ОС «Аврора». Так как этот клиент разработан не самим Telegram, он считается сторонним. Ранее «Авроид» официально зарегистрировала ID разработчика в Telegram.
С выпуском стабильной версии JDK 22 в конце марта, вышла окончательная версия FFM API — современного переосмысления доступа к нативной памяти и функциям. Примечательно, что его история начиналась ещё в JDK 14 несколько лет назад, тогда же я и обратил на него своё внимание. Мне стало интересно, возможно ли без поддержки со стороны платформы полноценное портирование этого API, и ответ — ДА!
На скриншоте выше - пример из официальной документации, запущенный на android 8.0. В нём происходит вызов функции qsort из libc, при этом один из параметров — указатель на функцию сравнения. С помощью метода upcallStub можно создать указатель на MethodHandle как на нативную функцию, что и демонстрирует пример. Полная документация исходного апи доступна на официальном сайте oracle
Отдельно отмечу отличия:
Полностью воссоздать API не получилось т.к. до android 9.0 отсутствует его важный компонент — класс VarHandle, поэтому был создан другой класс с теми же методами, но без полиморфного поведения (чуть хуже оптимизация)
MemoryLayout`ы нулевого размера не разрешены (в исходном варианте их поведение не совпадает с фактическим в компиляторах C и C++)
Временно не работают upcall вызовы из потоков, не подключённых к jvm. Скоро исправлю, но ещё не придумал оптимальный путь
Вернул методы MemoryLayout.valueLayout и paddedStructLayout. Не знаю почему их убрали в конечной версии
PixelExperience - это кастомная прошивка на базе AOSP для смартфонов, которая придает им удобный пользовательский интерфейс, аналогичный устройствам Google Pixel. Она стремится обеспечить стабильную работу, высокую производительность и безопасность системы, а также предоставлять регулярные обновления даже после прекращения официальной поддержки производителем.
Друзья! Может кто‑то из моих читателей продаёт HTC Dream aka T‑Mobile G1? Сейчас готовлю новый материал из серии «сам себе экосистема», где пилю клиенты современных сервисов под смартфоны 14+ летней давности. В идеале, конечно, показать работоспособность клиента на самом первом Android‑смартфоне:) Тг — @monobogdan
ЭФФЕКТ ДОПЛЕРА против БРЮСА ЛИ - для теста нужен лишь Андроид
Этот пост - предвварительная проверка идеи или концепта и, может быть, НИОКР и/или попытка предварительного анализа востребованности, реакции читателей Хабра.
Концепт приложения для "диванных" каратистов - измерение скорости удара
Приложение Джексона использовало интегрирование показаний акселерометра. Это проблемы с низкой частотой сэмплирования (не все хорошо по Найквисту-Котельникову), ограниченным динамическим диапазоном, калибровкой и дрейфом.
Существуют игровые автоматы для измерения силы удара. Но с ними есть проблема.
Известный боец смешанных единоборств Конор Макгрегор рассмешил фанатов своим ударом по силомеру. Об этом сообщило издание Tengri Sport. Ирландская звезда ММА решил показать сокрушительную мощь удара, но выбил лишь 1 очко из 999 возможных. >> Видео - лучшая анти-реклама измерителя силы удара
Apple в ответ на антимонопольный иск Министерства юстиции США сообщила, что инженеры компании пытались организовать поддержку работу умных часов Apple Watch со смартфонами на Android.
После трехлетних исследований и тестов в компании пришла к выводу, что выпуск Apple Watch с поддержкой Android невозможен из-за технических ограничений. Поэтому от этой идеи руководству компании пришлось отказаться.
По информации обозревателя Bloomberg Марка Гурмана, внутри Apple некоторое время работала команда Project Fennel, цель которой было распространить возможности Apple Watch и функций по отслеживанию здоровья и физической активности на сторонние платформы, включая приложение «Здоровье» для Android. Технически совместимость была почти реализована, но компания закрыла проект из‑за деловых соображений.
По словам источника Гурмана, руководство Apple посчитало, что Apple Watch являются драйвером продаж iPhone. А реализация совместимости с Android снизит ценность собственного смартфона компании у потребителей.
Epic Games объявила о планах открыть магазины приложений для Android и iOS. Компания намерена брать комиссию в размере 12%, что меньше 30%, которые взимают Apple и Google.
Ранее Epic подала в суд на Apple и Google, обвинив их в антиконкурентном поведении относительно магазинов мобильных игр. Генеральный директор компании Тим Суини раскритиковал модель распределения доходов в соотношении 70% к 30%, которую установили ответчики.
Принятие Закона о цифровых рынках ЕС, который заработал в марте, открыло для Epic возможность запустить собственные магазины приложений и предложить разработчикам более выгодные условия.
После появления более трех модулей в приложении становится сложновато отслеживать, какие либы и какой версии были подключены
Существует несколько способов их упорядочить:
• общий модуль с зависимостями
подключение библиотек обычно осуществляется через ключевое слово implementation — оно подключает библиотеку только в текущий модуль
но если заменить его на api (например, api "androidx.core.coroutine:1.0.0"), то доступ к библиотеке получат все модули, которые подключат текущий модуль
минусы: чтобы расфасовать библиотеки по группам, нужно создавать несколько модулей-хранителей. больно
• отдельный gradle-файл
создаем пустой gradle-файл. например, dependencies.gradle
записываем в него версии и названия либ через создание переменных:
Интеграция нативных SDK в Flutter-приложение — классный способ использовать функции и возможности, недоступные во Flutter. Для этого используют Platform Channels, которые позволяют Flutter общаться с нативной частью приложения — отправлять и получать сообщения.
Platform Channels — мостики, которые позволяют запускать нативный код из Flutter-приложения. Стандартный декодер обеспечивает эффективную двоичную сериализацию простых значений типа JSON. Сюда относятся логические значения, числа, строки, массивы байт, а также списки и мапы.
Сперва нужно выбрать тип канала в зависимости от потребностей:
MethodChannel: используют в большинстве случаев, когда вызов метода во Flutter запускает нативный метод. Поддерживает асинхронные вызовы методов.
EventChannel: для передачи потоков данных из нативного кода во Flutter.
BasicMessageChannel: для отправки простых сообщений между Flutter и нативным кодом.
Для интеграции нативных SDK чаще всего используют MethodChannel:
Подробнее о том, как как работает интеграция нативных SDK для iOS и для Android и с какими особенности платформ вы можете столкнуться, читайте в нашем переводе.
Овладев этими параметрами View, вы перестанете хранить несколько экземпляров иконок, покрашенных в разные цвета, и сэкономите время на создании одинаковых по форме, но отличающихся по цвету drawable-ресурсов
• android:background = цвет, картинка, иконка, фигура или селектор, описанный в xml-файле
• android:backgroundTint = цвет, который будет накладываться на background
• android:backgroundTintMode = способ смешения цветов
Например, выбрав tintMode, можно определить, будут ли смешиваться альфа-каналы (прозрачность) заданного цвета и ресурса из background.
Также можно задать tintMode, который позволит полностью игнорировать исходный цвет ресурса, заданного в поле background.
Но перекрашивать можно не только background. Например, можно менять цвет ресурса, заданного атрибутом android:src
В этом случае нам понадобятся:
android:tint — цвет, который будет накладываться на src android:tintMode — способ смешения цветов
Если минимальная версия sdk не позволяет использовать эти атрибуты, можно установить их через библиотеку AppCompat — достаточно заменить префикс android на app (например, app:tintMode)
Вывод: не стоит дублировать ресурсы одной формы — можно хранить их в одном экземпляре, например, черного цвета, а там где нужно — перекрашивать его
Есть такая магия — SMS приходит на телефон, а приложение его автоматически читает и подставляет в поле для ввода OTP (one-time password)
На первый взгляд механизм понятен:
система получает SMS -> кидает Intent в приложение -> Broadcast Receiver получается Intent с текстом SMS
Но есть подвох — это опасно. Если все приложения будут получать этот Intent, то они смогут перехватить OTP (читать "аккаунт украден")
Поэтому вводятся дополнительные степени защиты
Первая:
Ограничение по времени — приложение получает Intent только в течение 5 минут после начала ожидания OTP
А вторая на выбор:
2.1 Или показываем пользователю системную диаложку "Вы ТОЧНО хотите вставить этот код в это приложение?" 2.2 Или в SMS должен быть зашит hash-код приложения
Подход 2.1 называется One-tap SMS verification (потому что требует от юзера одного нажатия на кнопку "да, ТОЧНО"
Подход 2.2 вообще не требует от юзера тапов
hash-код для 2.2 формирутеся из подписи приложения и заранее сообщается бекенду, который отправляет SMS
бекенд вставляет hash-код в конец текста SMS
Например,
"Никому не сообщайте код 110011, Ваш Банк? Sdnjh!a+iDn", где Sdnjh!a+iDn — hash-код приложения
Разработчики «Google Телефон» (номеронабирателя по умолчанию на многих смартфонах на Android) тестируют на ограниченной группе пользователей возможность отображения в приложении истории звонков из мессенджера WhatsApp.
Согласно скриншоту одного из тестеров, в бета‑версии «Google Телефона» (124.0.608 164 421-publicbeta) в истории вызовов отображается звонок через WhatsApp, а также возможно прямо с его экрана набрать того же абонента по голосовой или видеосвязи или отправить текстовое сообщение.
Некоторые могут помнить, как в комментариях под одной из своих статей на тему Unsafe в Android я писал, что занимаюсь портированием FFM API на эту платформу. Не так давно API окончательно вышло из предварительного доступа и стало полноправной частью JDK 22. Я поймал за хвост вдохновение и с утроенными силами начал писать код и придумывать как перенести непереносимое. Так начались поиски способа рантайм генерации нативного кода под любую из поддерживаемых андроидом архитектур, и он был найден! Выходом стала системная библиотека libLLVM.so, которая умеет делать всё, что мне нужно. Осталось лишь подключить её к java коду без готового линкера. После серии экспериментов и кучи кода родилось это:
На данном скриншоте видно тестовый запуск генерации простенькой функции с выводом полученного машинного кода (он парсится из выходного ELF файла). Я планирую использовать что-то подобное как часть линкера для FFM API.
В общем, работа кипит, и никакие преграды не страшны, если хорошенько постараться. В будущем надеюсь осилить написание цикла статей про нюансы разработки, с которыми пришлось столкнуться.
Если вас заинтересовала тема, за процессом можно следить на github`е проекта
«Сбер» посоветовал пользователям Android‑устройств обновить приложение «СберБанк Онлайн». Сделать это необходимо уже сейчас, потому что в ближайшие дни у клиентов с устаревшими версиями, которые запускались в течение 2022 года, работа приложения будет ограничена. Это версии приложения от 12.14 до 14.6.
Банк также рекомендует обновить приложения, установленные в 2023 году. Это версии от 14.7 до 14.9. Узнать, какая версия приложения установлена на смартфоне, можно при входе в приложение, номер отображается на экране ввода пароля внизу. Также эта информация доступна в разделе «Профиль» — «О приложении».
Обновить приложение можно всего за несколько минут любым удобным способом: в магазинах приложений RuStore (для устройств любых производителей), GetApps (для Xiaomi), AppGallery (Huawei) и Galaxy Store (Samsung) или на сайте банка.
«Сбер» постоянно говорит своим клиентам о необходимости обновлять «СберБанк Онлайн» сразу после появления новой версии. Это помогает приложению работать быстрее и стабильнее, а пользователям становятся доступны все новые функции и возможности. В 2024 году банк выпустил три версии приложения «СберБанк Онлайн» для Android‑устройств, самой актуальной является версия 15.5, выпущенная 19 февраля.
Телевизоры на Android TV ждет масштабное изменение
Систему сделают удобнее. Заметно преобразится домашний экран.
Google добавит новую панель на рабочий стол операционной системы Android TV для телевизоров. Об этом компания сообщила на официальном сайте тех. поддержки.
Под строкой с любимыми приложениями разместят пять новых кнопок. Они помогут быстрее определиться с тем, что стоит посмотреть.
Первая кнопка — «Включить дальше», которая позволяет выбрать контент из различных приложений на телевизоре. Дальше следуют «Бесплатные каналы», «Самые продаваемые фильмы» и «Популярные фильмы и шоу». Последняя кнопка в списке — «Тренды Google». С ее помощью можно быстро ознакомиться с популярным контентом.
Пока что обновление доступно только для пользователей на территории США. В Google не уточнили, когда новая функция появится у зрителей из других стран. Также в компании не раскрыли внешний вид каждого нового раздела.
Ранее опубликовали список устройств Samsung, которые получат обновление операционной системы Android 15. Свежую ОС смогут установить пользователи около 40 смартфонов Galaxy и почти 10 планшетов Galaxy Tab.
16 февраля 2024 года вышла первая предварительная версия Android 15 для разработчиков. Проект доступен только на смартфонах и планшетах Pixel (6/6 Pro/6a/7/7 Pro/7a/Tablet/Fold/88 Pro). Также Developer Preview можно протестировать через эмулятор Android Studio.
• регулировка яркости в панели быстрых настроек теперь работает с тактильной отдачей при перемещении ползунка;
• можно отключить виброотклик при работе с виртуальной клавиатурой;
• функция «Снижение громкости уведомлений» для приложений, которые присылают много оповещений подряд;
• появились новые варианты взаимодействия с программной платформой на устройствах с гибким дисплеем;
• внесен ряд оптимизаций для снижения энергопотребления ресурсоемких приложений; повышена энергоэффективность для приложений, долго работающих в фоновом режиме;
• новая версия Privacy Sandbox для ограничения работы приложений с таргетированной рекламой;
• новая объединенная платформа Health Connect, FileIntegrityManager с fs-verity в ядре Linux (криптошифрование для защиты данных);
• теперь можно демонстрировать только экран приложения, а не всего интерфейса устройства;
• различные улучшения для разработчиков.
Процесс тестирования Android 15 разбит на три этапа: Developer Preview — два релиза (в феврале и марте); Beta — два релиза (в апреле и мае); Platform Stability — два релиза (в июне и июле).
Финальная версия Android 15 выйдет в конце лета или начале осени 2024 года.