Обновить
256K+

Android *

Пишем под самую популярную мобильную ОС

196,34
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как я превратил OnePlus 3T в домашний сервер на базе postmarketOS

Время на прочтение13 мин
Охват и читатели17K

Я давно хотел захостить свой небольшой проект — бота, которым пользуюсь сам. Останавливал меня не код, а хостинг. Не хотелось арендовать VPS и настраивать всё удалённо — а потом обновлять и следить, чтобы не упало. Переплачивать за готовый хостинг, лишь бы этим не заниматься, тоже не хотелось. Так это и оставалось идеей.

Зато был старый OnePlus 3T в ящике: флагман 2016 года, Snapdragon 821, 6 ГБ оперативной памяти — рабочий, но не включавшийся годами. Выбрасывать рабочий компьютер не хотелось, а для одного небольшого always-on сервиса это более чем достаточно: пара ватт в простое, своя батарея, никаких ежемесячных платежей.

Читать далее

Как мы настраивали терминалы сбора данных на складах Ozon

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели11K

Привет, Хабр! В 2022 году я пришёл в Ozon Tech на позицию специалиста технической поддержки склада и начал разбираться, как настраивать и поддерживать оборудование на ФФ (фулфилмент), огромном складе площадью 70 000 м², где проходят операции от приёмки и хранения товаров до их подготовки к отправке на сортировочные центры. В тот момент всё работало стабильно. На складах использовались терминалы Zebra (ТСД — терминал сбора данных), вендор был на рынке, поддержка оставалась доступной, и никто особенно не задумывался, как всё устроено внутри. 

После изменения условий работы с вендором нам пришлось глубже разобраться в процессе настройки и поддержки устройств, чтобы сохранить стабильную работу терминалов на объектах. Оказалось, что поддерживать работу десятков тысяч терминалов по всей стране стало задачей с множеством неизвестных. Притом именно через них проходит большая часть складских операций, от приёмки и размещения товара до сборки и отгрузки заказов. Впереди нас ждали несколько лет разборов, ошибок, временных решений и постепенной перестройки всей системы. В какой-то момент казалось, что мы зашли в тупик. Но в итоге справились. Сейчас мы сократили время настройки терминала с 30 до 6 минут, управляем тысячами устройств удалённо и имеем единый лаунчер. В этой статье расскажу, как мы заново выстроили процесс настройки и управления терминалами на складах. Поехали!

Читать далее

Продолжаем рассказывать о создании продолжения DogPlanner…

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.3K

Ну что же…, на дворе 2026 год, первый DogPlanner живёт своей жизнью, доступен на многих площадках мобильных приложений, мы о нём много писали в соцсетях и различных блогах. С тех пор как мы сделали его, а опубликовали мы его аж в июне 2020 года, вы прислали нам много различных идей по его доработке, написали множество отзывов, а также мы узнали о приличном количестве проблемных мест по его функциональности и содержанию, и всё это было абсолютно заслуженно! Хотим сказать вам огромное спасибо за всю обратную связь, которую мы получили, и получаем до сих пор от вас! Но давайте снова вернёмся к критике…

Читать далее

Топ-10 вопросов с Android-собеседований в 2026 — с разборами

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.9K

Думаю, многие из нас успели заметить стремительное изменение рынка в последние пару лет: он плавно превратился из рынка соискателя в рынок нанимателя и, пожалуй, стал наиболее конкурентным и жёстким за всё время существования IT в России.

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

Поэтому навык прохождения собеседований становится всё важнее. В этой небольшой статье хотел бы разобрать 10 популярных вопросов, с которыми можно столкнуться на собеседованиях по Android в 2026, поехали 🚀

К вопросам

Мобильная разработка за неделю #636 (22 — 28 июня)

Время на прочтение4 мин
Охват и читатели8.7K

В этом выпуске хардкорная агентская разработка под iOS и Preview-Driven скриншот тестирование для Android, кольца-расстояния и инерция пальца, пять ошибок начинающих Android‑разработчиков и пять ошибок при работе с Jetpack Compose, динамические иконки приложения на Flutter, ручной DI в Kotlin Multiplatform, расширенные возможности оплаты и низкие комиссии в Google Play, и многое другое. Заходите!

Читать далее

Bitcord мессенджер со встроенной экономикой на базе Web3

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели16K

ПРЕКРАСНОЕ ДАЛЕКО

Мир цифровых технологий постоянно удивляет. Сначала появились супер процессоры с тактовой частотой аж 8 мегагерц (КР1810ВМ86М — до 8 МГц), затем память (К565РУ7 - Клон Intel 41256), удивляющая своими гигантскими объемами в 256 килобай при наборе из 8 штук. Казалось, мир сошел сума и достиг поистине фантастических возможностей. Но это было в далекие 90-е.

Вспоминаю как спустя пару лет впервые запустил установку своей Windows 95 ставя будильник на два часа позже, чтобы не пропустить фееричный запуск окончания установки на моем первом DX386 с 40 мегагерцами в турборежиме. Чуть позже написал своё первое приложение на Turbo Basic, размер которого составлял всего пару десятков килобайт. Славные были времена, ведь мне тогда было около 20-ти лет.

ВСЕ ВЫШЕ И ВЫШЕ

Время шло. Технологический прорыв казалось никак не мог затихнуть. Процессоры, память, интернет, все стремительно развивалось и уже никто не думал об ограничениях. Появились первые мессенджеры. ICQ со своим уникальным "ку-ку" звучал во всех офисах. Помню даже на некоторых фирмах штрафовали своих сотрудников за использовании мессенджера на рабочем компьютере. Появились первые программы по автоматизации финансовой деятельности предприятий. 1С-ку кажется уже знают все. Встроенный язык программирования, да ещё и с русским диалектом. Вау, вот времена наступили. Всё крутиться, сверкает и манит в магазин компьютерной техники прикупить очередную видюху с двумя или даже тремя куллерами. Эх, где же вы мои любимые Trident TVGA или Cirrus Logic с одним мегабайтов видеопамяти?

Читать далее

Как превратить Смарт ТВ в «почти» полноценную рабочую станцию на Linux

Уровень сложностиСложный
Время на прочтение9 мин
Охват и читатели8.7K

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

Читать далее

Android-троян Mamont — теперь на Kotlin

Уровень сложностиПростой
Время на прочтение59 мин
Охват и читатели12K

24 февраля 2026 года в 16 часов по Хабаровскому времени в мессенджере MAX от аккаунты папы приходит сообщения вида "Посмотри, это ты на фото" и следующим сообщением приложен файл "Фото(3).apk". Я сразу же позвонил отцу - интернет отключили, симку вытащили, а на следующий день он сходил в МФЦ и поменял пароль. Файл с вирусом скачать я не смог - через полчаса после этого аккаунт отца удалили за спам, плюс само сообщение я удалил. Но пока файл ещё был я попросил брата переслать его мне, но скачать я его уже не мог - из-за удаления аккаунта.

Работу пояснительную хоть и проводили, но "был без очков, что-то тыкнул" и установил - когда у тебя телефон от Huawei без гугл сервисов, то все приложения плюс минус так и ставились. Прошло время - аккаунт через месяц папе дали вновь зарегистрировать, телефон тот мы отложили от греха подальше, выдал свой старый Samsung A50 и про случай забыли. Но одним вечером, когда я лежал в кровати я подумал - "Стоп, если аккаунт восстановили, то и файл я могу скачать?" Зашел в чат с братом, долистал до пересланного сообщения и решил скачать файл вновь. И что вы думаете - я его скачал! Б - Безопасность. А раз файл скачан, то надо его проанализировать - о чём и будет статья.

Читать далее

Ручной DI в Kotlin Multiplatform: понравится и тебе, и твоему ИИ‑агенту

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели6.5K

Граф зависимостей KMP‑приложения можно собрать обычным Kotlin‑кодом — без рефлексии, кодогенерации, аннотаций и DSL. Composition root и конструкторы, никакой магии. Звучит как шаг назад от зрелых DI‑фреймворков — пока не посмотришь, кому такая форма удобна: тебе, новому человеку в команде и твоему ИИ‑агенту.

Читать далее

Чем является ваша работа сегодня?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.7K

В декабре 2025 года многие ведущие инженеры мира все-таки высказались вслух о том, о чём боялись даже думать: «Кажется, LLM пишет код лучше меня».

Фархан Тавар, руководитель инженерного направления Shopify (3000 инженеров, 10% мирового e-commerce), рассказал, как они к этому готовились — и что делать дальше. Спойлер: сокращать команду они не только не собираются, но и наняли уже 1000 интернов. Но обо всем – в статье

Понять, кто я теперь

Как мы тестируем планшеты KVADRA_T на производстве: архитектура DeviceTestPro

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

Тестирование мобильных устройств на производстве — это процесс, где цена ошибки очень высока. Баг в приложении можно исправить в обновлении, а дефект аппаратной части планшета или смартфона обычно обнаруживается после сборки устройства, а иногда — только у конечного пользователя, и устранить его намного сложнее. Поэтому важно находить дефекты на всех этапах производства: от поверхностного монтажа до сборки готового планшета.  

Привет, Хабр! Меня зовут Сергей, я ведущий инженер программист в отделе разработки приложений в YADRO. В статье расскажу, как мы создавали систему производственного тестирования Android-планшетов, которая используется на этапах сборки и в отделе технического контроля.

Читать далее

Пять ошибок начинающих Android‑разработчиков при работе с жизненным циклом

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели9.2K

Если после релиза Android‑приложения вы внезапно получаете краши, утечки памяти и жалобы на пропадающие данные, проблема может скрываться в нескольких строках кода вокруг Activity и Fragment.

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

Читать далее

Покой как фича: анти-шагомер на Expo, который ругает за активность

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6.7K

Я сделал анти-шагомер на Expo и React Native: приложение, которое награждает за неподвижность и ругает за шаги. Снаружи это шутка про anti-wellness, внутри — Android step counter, background tasks, локальные пуши, Zustand, native-модуль для TYPE_STEP_COUNTER и state machine для чек-апа “я живой, но мне лень”. Рассказываю, что сломалось по дороге и почему фоновая логика в мобильной разработке — это не cron.

Мне лень, но интересно

Ближайшие события

Пять ошибок при работе с Jetpack Compose, из-за которых тормозит recomposition

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9K

Привет, Хабр! Jetpack Compose в 2026 году стал стандартом разработки UI на Android, но в проектах регулярно повторяется одна и та же история: на экране со списком в пару сотен элементов прокрутка идёт рывками, профайлер показывает скачки кадров до 200 миллисекунд, а команда чешет голову и предлагает откатиться обратно на RecyclerView.

Проблема почти всегда не в Compose, а в том, как написан UI: recomposition спроектирован как дешёвая операция, но эта дешевизна работает только при соблюдении ряда правил, которые в документации описаны рассыпанно и часто игнорируются.

Разберём пять ошибок, из-за которых производительность Compose-экранов проседает заметно для глаза, и покажем, как их находить и чинить.

Ускорить Compose

Backend-Driven UI для умного дома: как обучить сервер верстать интерфейсы

Время на прочтение10 мин
Охват и читатели7.7K

Привет, Хабр! 

Я Дмитрий, iOS-разработчик из команды Салют — мы делаем устройства и программное обеспечение для Умного дома Сбер. У нас много собственных устройств и ещё больше устройств брендов-партнёров, которые поддерживает платформа. Релизный круговорот фичей и интеграций заставляет думать: как оптимизировать процесс доставки новых функций пользователям?

В статье расскажу про опыт разработки, внедрения и поддержки нашей собственной backend-driven UI парадигмы (BDUI) — подхода, в котором сервер управляет не только данными, но и вёрсткой интерфейсов.

Читать далее

Вынужден попрощаться: руководство Google окончательно утратило моральные принципы

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели73K

Это прощальное послание я отправил своим коллегам, когда решил покинуть Google, где последние годы занимал должность ведущего инженера-архитектора в подразделении Android Security. На эту позицию категории «Independent Contributor» (сотрудник без подчинённых) я перешёл с поста директора, сняв с себя управленческие обязанности ради возвращения с семьёй в Австрию. Публикуя здесь копию этого письма, я хочу открыто показать, что больше не являюсь сотрудником компании и не могу выступать связующим звеном с отделами безопасности Android.

Читать далее

Оживление android-планшета глазами новичка. Как я нашел себе классную читалку на лето

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели16K

По личным ощущениям, индустрия планшетов потихоньку отошла на второй план у массовых пользователей. И речь сейчас про буквально все сегменты, от недорогих устройств на Android до всей линейки iPad. Эта история осталась актуальной для гораздо более узкой прослойки людей, как будто.

Я же, в свою очередь, любил свой iPad сначала mini второго поколения (еще в студенческие годы), а затем и Air 2, который дожил до 2023 года, пока его случайно не разбила старшая дочь. Но вот как-то новый мне покупать не хотелось — я банально не нашел ни одной причины это делать по большей части.

А недавно, разбирая шкафы в квартире родителей, я нашел артефакт — Samsung Galaxy Tab A8. Компактный, красивый и, что самое главное, рабочий. И тут возникла у меня идея, ход исполнения и результаты которой я и расскажу в этом материале.

История о воскрешении далее

Мобильная разработка за неделю #635 (15 — 21 июня)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.6K

В новом дайджесте вопросы доступного пространства в условиях ненадежного поведения horizontalSizeClass и выход Android 17, гид в смешанной реальности с использованием Android XR и живой космос на Metal, иерархия корутин в Android, приложение с расписанием автобусов, скам сети с подписками, домашний сервер с Qwen Code за 25к и многое другое. Подключайтесь!

Читать далее

От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели8.5K

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

В этой части будут разобраны другие важные подходы: семафоры, каналы передачи данных, горячие потоки, модель акторов, последовательные обработчики задач, thread confinement.

Для каждого из этих подходов рассмотрим конкретные реализации, выделим плюсы и минусы, приведём примеры использования. В конце объединим все реализации в общую таблицу.

Читать далее

Тестирование верстки и layout на Android

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.8K

Всем привет, на связи Роман Бобков, тестировщик из проекта Wibes. В своей новой статье я решил поделиться личным опытом тестирования верстки и layout на Android и теми инструментами, которые можно использовать для этого.

Читать далее