Как собрать полноценное Android-приложение на смартфоне без Android Studio и серверов

23 июн 2026
6,481
992
30
1 неделя

Обычно превращение сайта в мобильное приложение выглядит так: вы открываете сервис-обертку, вставляете ссылку, ждете очереди на сборку в облаке и получаете сомнительный APK, который просто открывает WebView. Если же нужно что-то серьезнее — например, упаковать локальный проект на Node.js или Python — приходится расчехлять компьютер, настраивать окружение и тратить часы.

WebToApp icon

Проект WebToApp ломает эту схему. Это полноценная «мастерская» прямо в вашем телефоне, которая собирает, подписывает и упаковывает APK локально. Без облаков, без подписок и без необходимости отправлять свой код на чужие серверы.

Что это за инструмент

WebToApp — это нативный Android-клиент на Kotlin и Jetpack Compose. Его главная фишка в том, что он не просто делает WebView-заплатку. Внутри спрятан полноценный билдер, который умеет патчить бинарные ресурсы (AXML/ARSC), инжектить зависимости и подписывать пакеты сертификатами V1/V2/V3.

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

Четыре сценария, которые меня зацепили

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

Реклама

1. Серверные рантаймы в кармане

Это самая сильная сторона проекта. WebToApp позволяет упаковать в APK не только статику, но и полноценный бэкенд:

  • Node.js: запускается в отдельном процессе через нативный лончер.
  • PHP 8.4: работает через бинарники PMMP, поддерживает SQLite и даже WordPress.
  • Python: можно упаковать небольшое приложение на Flask, Django или FastAPI.
  • Go: поддерживается компиляция прямо на устройстве.

Автор пошел на хитрость — хост-приложение использует targetSdk = 28. Это осознанный выбор (как у Termux), который позволяет запускать нативные бинарники из внутреннего хранилища. При этом для итоговых приложений, которые вы захотите выложить в Google Play, билдер умеет переписывать манифест под актуальный targetSdk 35.

2. Глубокий контроль над WebView

Если вы делаете приложение из обычного сайта, WebToApp дает настроить все: от User-Agent и кастомных страниц ошибок до внедрения своих JS и CSS скриптов. Есть поддержка расширений Chrome (MV3) и скриптов в стиле Greasemonkey. Это превращает обычный сайт в кастомизированное приложение с блокировщиком рекламы, темной темой или дополнительными кнопками в интерфейсе.

3. Локальная сборка и подпись

Вы создаете хранилище ключей (Keystore) прямо в приложении. Весь процесс сборки происходит на лету через библиотеку apksig. Можно выбрать имя пакета, иконку, версию и даже вырезать ненужные разрешения из манифеста, чтобы приложение не просило лишнего. На выходе получается готовый к установке APK или AAB для стора.

4. Офлайн-скрапер сайтов

Внутри есть инструмент, который выкачивает указанный сайт целиком: HTML, стили, шрифты и картинки. Он переписывает пути так, чтобы всё работало без интернета. Идеально для создания документации к библиотекам или портфолио, которое всегда под рукой.

Техническая начинка

Архитектура состоит из двух модулей: app (сам билдер) и shell (пустая оболочка, которая становится основой для ваших приложений). Код написан на Kotlin, для инъекции зависимостей используется Koin, а для базы данных — Room.

Интересно, что проект не пытается запихнуть всё в один огромный APK. Рантаймы вроде Node.js или движок GeckoView подтягиваются только при необходимости. Это экономит место и позволяет обновлять компоненты независимо.

Зачем это разработчику

Конечно, большие коммерческие проекты так собирать никто не будет. Но есть ниши, где WebToApp незаменим:

  • Внутренние инструменты: сделать из обычной админки удобное приложение для сотрудников за пять минут.
  • Демонстрация: показать заказчику или коллегам работающий прототип сайта в виде установленного приложения.
  • Личные нужды: превратить любимый узкоспециализированный сервис в удобную утилиту с кастомными скриптами.
  • Эксперименты: проверить, как веб-проект ведет себя в нативной обертке с разными движками (System WebView vs GeckoView).

Стоит ли пробовать

Если вам нравится возиться с Android «под капотом» и вы цените инструменты, которые дают полный контроль над сборкой, WebToApp точно заслуживает места в папке с инструментами. Проект открытый (лицензия Unlicense), активно обновляется и имеет живое комьюнити.

Единственный нюанс — порог входа. Это не просто «нажми кнопку — получи результат». Чтобы выжать из него максимум, нужно понимать, как работают разрешения в Android и как настроить локальный прокси или DNS-over-HTTPS, если ваш проект того требует. Но в этом и весь интерес.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.