Обновить
128K+

Android *

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

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

YPtun — клиент, который сам поднимает себе сервер

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

В YPtun появилась автоустановка серверов: вводите IP и пароль от VPS, нажимаете кнопку, и приложение само ставит сервер и заполняет поля подключения. Работает для семи движков на Android и ПК. Рассказываем, что происходит внутри и на чём мы спотыкались.

Как это устроено

Новости

Arch Linux на Xiaomi 12T Pro: стоковое ядро Android, vendor‑модули и девять граблей загрузки

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

На моём Xiaomi 12T Pro загружается Arch Linux. Это не Termux и не chroot, а полноценная система: штатное ядро телефона, systemd, Wayland. Android остаётся рядом, при включении выбор делается кнопкой громкости. Ниже: как это устроено, что работает и на какие грабли я наступил по дороге. Большинство из них не привязаны к модели и встретятся на любом Qualcomm‑телефоне с GKI.

Читать далее

Пишем свою мобильную ОС с нуля на Rust. Часть 4: GUI, SQLite и DOOM

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

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

Дальше началась системная работа, о которой я писал в предыдущей части. Теперь ОС наращивает userspace-слой. На экран вернулась картинка — уже с окнами, кнопками и приложениями для телефона, Raspberry Pi и QEMU. На телефоне заработал и тачскрин.

Эта часть будет обзорной: посмотрим, как теперь устроены связи между программами, файловая система и поддержка C и C++, запустим SQLite и DOOM. А в конце напишем своё GUI-приложение — калькулятор. В третьей части он выводил результат в UART. В этой сделаем калькулятор с окном и кнопками.

Читать далее

Планшет вместо ноутбука: RDP‑клиент под Android, после которого ноутбук остаётся дома

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

Открытый клиент удалённого рабочего стола с тачпадом чехла, общим диском, микрофоном и агентом для Windows — бесплатно, без рекламы и монетизации.

Я веб-разработчик, и моя работа устроена так, что «на связи» нужно быть в самый неожиданный момент: то прод упал в субботу вечером, то заказчик просит срочно поправить одну строчку, то нужно просто посмотреть, как ведёт себя вёрстка на боевом окружении. Всё это — на моём ПК: там настроенные программы, базы, локальный сервер для тестов и все проекты, которые я веду. ПК стоит дома, и уезжать от него далеко не хочется.

Какое-то время я честно пытался решить это ноутбуками. И каждый раз упирался в одно и то же.

Читать далее

Я вернулся на Android, и мне не понравилось

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

Под конец 2025 года мой iPhone 11 стал всеми силами показывать, как ему тяжело в современных реалиях, когда приложения повышают свои системные требования, а сама обновлённая iOS на старых девайсах выглядит хуже, чем на тех, что поновее, — всё же 4 гигабайта ОЗУ играют свою роль. До iPhone 11 у меня была «лопата» Xiaomi Mi Max (не самый плохой смартфон, кстати!) и другие бюджетники, так что «андроиды» для меня были не в новинку. Но, глядя на цены на новые айфоны и конкурентов в лице Samsung, возник вопрос: а что, собственно, я потеряю, вернувшись сейчас на Android в лице Galaxy S25 Plus? Ох, с чего бы начать…

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

Читать далее

PocketDeploy: веб-приложение и свой Bluesky PDS на Android — что получилось и где пока пределы

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

PocketDeploy запускает сайт и официальный Bluesky PDS внутри Android. Разбираю границы встроенного режима и Termux, HTTPS-шлюз, федерацию, резервную копию и известные проблемы безопасности. Реальные экраны, протоколы и неудачный опыт обслуживания облачного эмулятора на 2 ГБ. Следующий этап — воспроизводимый запуск и восстановление; готовность к работе 24/7 ещё не доказана.

Разобрать архитектуру

PyLab — 2 года: как пользователи превращают пет-проект в продукт

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

28 октября моему пет-проекту PyLab, приложению для изучения Python и написания кода прямо на смартфоне, исполнилось два года. В прошлой статье я рассказывал, что умеет приложение, а сегодня расскажу о решениях: почему горячие правки обходятся дороже, чем кажется, чем окупился полный редизайн в версии 4, как одна идея пользователя стала любимой функцией и почему модерация в сторах превращает каждую ошибку в проблему на неделю.

Читать далее

Обновляем приложение на Wear OS-часах без adb по Wi-Fi: мост через телефон

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

Oct 25, 2026 · @Andrei

Я научил телефон ставить свежую сборку на часы TicWatch Pro 5 Enduro по Bluetooth, без adb на самих часах. Одна команда на ПК собирает оба приложения и доставляет APK на часы примерно за 2,5 минуты. Ниже — архитектуру моста и пять граблей Android 12–14, каждая из которых стоила мне вечера.

Откуда задача. Wear OS-часы отлаживаются через «Wireless debugging» по Wi-Fi. TicWatch выключает Wi-Fi вместе с adb, как только его снимают с руки. Типичная картина: adb devices показывает часы, а adb shell висит вечно, или mDNS видит устройство, но connect отказывает. Помогает только надеть часы или поставить их на зарядку.

При этом телефон и часы постоянно держат связь по Bluetooth — по ней и так ходят данные пульса. Телефон же надёжно сидит на adb по USB. Отсюда идея: команда идёт на телефон, а телефон пересылает её на часы по тому же каналу, что и в продакшене. Заодно отладочный путь проверяет реальную связку, а не параллельную.

Читать далее

Пропуск вшитых интеграций в TikTok на Android: анализ TTVideoEngine, ReVanced-патч и k-анонимность

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

Разбор медиастека TikTok на Android: как устроен закрытый плеер TTVideoEngine, поиск методов в обфусцированном байт-коде через сигнатуры ReVanced, алгоритм адаптивной проверки таймлайна и архитектура базы таймкодов на Cloudflare с kk-анонимностью.

Читать далее

# Capacitor: от веба к мобильным приложениям. Часть 6. Встраиваем Capacitor в native-приложение

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

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

Читать далее

Как я оптимизировал TGS‑стикеры в Compose Multiplatform: от Compottie к Frame Baking

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

Когда я разрабатывал GhostGram - экспериментальный клиент Telegram на Kotlin Multiplatform, - со стикерами пришлось повозиться.

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

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

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

Читать далее

Купили родителям ТВ‑приставку за копейки, а в прошивке нашли предустановленный вредонос: разбор H96 Max V11

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

Хочу рассказать про одну приставку, которая «просто тормозила». Мы взяли H96 Max V11 для родителей: Rockchip RK3328, Android 11, 4 ГБ памяти, цена как у пары обедов. Через какое-то время начали жаловаться: интерфейс замирает, ролики на YouTube не грузятся, время на экране «уезжает». Я решил разобраться и в итоге нашёл в прошивке программы, которые не ставил ни я, ни родители. Ниже рассказываю, что именно, как мы это чистили и что стоит проверить, если вы купили похожее устройство.

Сразу про рамки: это история одной приставки и открытых исследований про эту модель. Я не утверждаю, что заражены все H96, и не делаю выводов про производителя.

Читать далее

Russian Trusted в Firefox для Android: выборочная проверка цепочек сертификатов

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

Как я сделал форк Fenix для сайтов, чьи TLS-цепочки не принимаются обычной сборкой Firefox, и почему это не «защита от MITM».

Началось всё с обычной пользовательской проблемы: некоторые сайты, в том числе банковские, не открывались в привычных мне браузерах. Из тех, что я проверил, подключение проходило в Яндекс Браузере и браузере с поддержкой ГОСТ. В мобильном Firefox соединение останавливалось на проверке сертификата.

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

Так появился matre$ka: форк Fenix на базе Firefox для Android с небольшим патчем GeckoView. Он добавляет ограниченную поддержку цепочек Russian Trusted и интерфейс, который показывает, когда сработало это дополнительное доверие.

Сразу важная оговорка: проект не устраняет атаки типа man-in-the-middle и не делает банковский сайт безопасным. Это изменение набора центров сертификации, которым браузер готов доверять в определённых случаях. Такой механизм решает проблему совместимости, но одновременно расширяет модель доверия.

Читать далее

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

Личный опыт публикации в магазинах приложений в России в 2026 году

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

Доброго времени суток! Меня зовут Кирилл Андреев. Я занимаюсь разработкой мобильного приложения Aisha, ИИ-репетитора английского языка для разговорной практики. Мы --российская компания, поэтому нам приходится иметь дело со всеми ограничениями российской юрисдикции. Некоторые магазины применяют ограничения для компаний из России. Российские Visa и Mastercard не работают за рубежом. 

По данным Mediascope за декабрь 2024 года, которые приводят «Ведомости», месячная аудитория Google Play составляла 80 млн человек, RuStore — 50 млн, Xiaomi Mi Store — 19 млн, Samsung Galaxy Store — 14 млн, Huawei AppGallery — 10 млн. По более свежим данным Mediascope, опубликованным RuStore, в июле 2026 года аудитория RuStore достигла 68,4 млн человек. На мой взгляд эти цифры полезны как ориентир по охвату, а регулярный поиск и скачивание приложений они описывают слабо.

У нас сейчас работают приложения в RuStore, Google Play, App Store и Huawei AppGallery. Мы неудачно пробовали разместиться в Samsung Galaxy Store. Эта статья про наш личный опыт.

Читать далее

Почему тормозят списки в .NET MAUI: замеры на слабом планшете и что реально помогло

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

В прошлой статье я рассказывала, как переводила приложение для торговых представителей с Xamarin.Forms на .NET MAUI. Там был короткий раздел про жалобы агентов на «тормоза»: бенчмарки показывали, что логика работает быстро, а проблема была в отрисовке списков. В этой статье — подробно: как я это мерила, что делала три с половиной месяца и что в итоге получилось в цифрах.

Спойлер: на слабом планшете новая версия листает каталог почти в 4 раза быстрее старой. Но идеала я не достигла, и про это тоже расскажу честно.

Узнать, что горит

Ping, traceroute и Path MTU на Android без root и NDK

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

Когда я садился портировать своё iOS-приложение на Android, я был уверен, что ping, traceroute и Path MTU там не сделать: ICMP — это raw-сокет, а raw-сокет — это root. Одна команда adb показала, что я ошибался: любое приложение может открыть непривилегированный ICMP-сокет — без root и без единой строчки на C.

Рассказываю, как на чистом Kotlin устроены ping, traceroute через очередь ошибок сокета и Path MTU через бит DF, и на чём я споткнулся по дороге.

Читать далее

Android-клиент для DeepSeek Harness: как работать с агентом на ПК с телефона без облака и FCM

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

Как я сделал Android-клиент для DeepSeek Harness, который работает с агентом на компьютере без облачного сервера и FCM. Внутри — плагин в процессе DSH вместо WebView, привязка по QR-коду с пином сертификата и журнал квитанций, из-за которого телефон никогда не повторяет команды вслепую.

Читать далее

Где тебя поймут по‑русски: как собрал карту для эмигрантов на Kotlin, PostGIS и пиксельной графике

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

Врач, нотариус, автосервис, сантехник на выезде — в новой стране такие места ищут по чатам релокантов, а через полгода половина ответов устаревает. SpeakMap собирает их на одной карте. Сейчас открыты Белград и Нови-Сад.

Главное в продукте — не карта, а честность метки «здесь говорят по-русски». Любой может нажать «Да» или «Нет», а доверие к метке считается по нижней границе интервала Уилсона: один голос «да» ещё ничего не подтверждает.

Читать далее

Мобильная разработка за неделю #650 (19 — 25 октября)

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

В этом дайджесте Metal без магии и лечение телевизоров, Suspend на пальцах и Warcraft II на «Авроре», ИИ для расшифровки языка растений, крупнейшее изменение Xcode за 30 лет, как устроен IDL, отказ от «ненастоящих» градиентов и многое другое. Заходите!

Читать далее

Я не умею программировать и рисовать, но сделал гео-игру про славянских духов. Как ИИ построил Mifozov за неделю

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

Несколько лет я играл в Pokémon GO. Дело было не столько в покемонах, сколько в прогулках: выходишь вечером «на пять минут», а возвращаешься через два часа, пройдя десять километров. Во дворах собирались люди, ходили на рейды, знакомились, обсуждали, где что появилось.

Потом игра ушла из России, и всё это пропало. Местные чаты затихли, а привычка гулять осталась без повода. Я всё думал: как снова собрать людей и выходить вместе на улицу так, чтобы это было не «надо пройтись», а «пойдём, там Жар-птица».

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

Читать далее
1
23 ...