Кастомный Android: делаем свою прошивку из стоковой, не копаясь в исходниках
Наверняка у тебя как у пользователя Android возникало желание сделать операционную систему лучше, добавить полезное, убрать лишнее и поделиться своим творением с обществом. Сборка собственной прошивки из исходников — сложный процесс, требующий глубоких знаний предмета, однако никто не запрещает взять стандартную прошивку смартфона и адаптировать ее под свои нужды. Это не так уж и сложно сделать.
Начнем с того, что тебе нужен Linux. В Windows ты сможешь только разобрать прошивку, но собрать обратно уже не получится по чисто техническим причинам. Теперь о прошивке. Обычно они распространяются в виде ZIP-архивов, прошиваемых через кастомные рекавери. Именно один из них нам и понадобится для опытов. Начинать путь ромодела я рекомендую с какой-нибудь максимально приближенной к AOSP кастомной прошивки, потому что в ней зачастую проще разобраться, чем в стоке.
Нужный ZIP можно найти на XDA Developers или 4PDA. Но имей в виду, что нужна прошивка конкретно для твоей модели аппарата, — у того же Galaxy S7 есть несколько модификаций для разных рынков, не всегда совместимых между собой.
Структура ZIP-файла с прошивкой
После загрузки распакуем архив с помощью любого архиватора. Внутри будет следующий набор файлов и папок:
- META-INF — папка с метаинформацией о прошивке (сертификат автора, манифест со списком файлов, их контрольными суммами), скриптом обновления (updater-script) и инсталлятором (update-binary), который выполняет команды скрипта по монтированию разделов, копированию файлов и другим действиям с NAND-памятью;
- boot.img — образ с ядром и RAM-диском (он прошивается в раздел boot);
- system.new.dat — это, грубо говоря, и есть сама прошивка, а точнее образ раздела system, содержащий операционную систему Android за вычетом ядра;
- system.transfer.list — содержит список команд, которые необходимо выполнить, чтобы поблочно скопировать содержимое system.new.dat в раздел system при установке прошивки;
- system.patch.dat — используется для OTA-обновлений, то есть выборочного внесения изменений в прошивку; если прошивка «полная», он имеет нулевой размер.
Рекомендуем почитать:
Xakep #293. MikroTik Nightmare
- Содержание выпуска
- Подписка на «Хакер» -60%
Распаковываем system.new.dat
Файлы system.new.dat и system.transfer.list представляют для нас наибольший интерес. Точнее, не они, а содержащаяся в них система. Но добраться до нее не так просто.
Скрипт
Самые ленивые могут разобрать прошивку с помощью скрипта System_Extractor-Linux.
- Распаковываем архив с прошивкой в любую папку.
- Качаем скрипт по ссылке и разархивируем в любую папку.
- Запускаем файл ext (если будет ругаться на отсутствие Java, просто пропусти, нажав y ; Java нужна только для запаковки).
- Теперь выбираем распаковку, нажав кнопку 1, а затем Enter.
- Новая папка с именем extract_* появится рядом с файлом ext и папкой tools . Копируем в нее файлы system.new.dat и system.transfer.list .
- После копирования файлов нажимаем Enter и ждем. Через некоторое время нужно будет опять нажать Enter, ввести пароль администратора и еще раз тапнуть Enter.
- Готово. Содержимое system в папке extract_*/output .
Ручной способ
Распаковываем архив с прошивкой в любую папку (например, в rom ):
$ mkdir ~/rom $ unzip путь_до_архива -d ~/rom/
Скачиваем нужные нам инструменты в эту папку:
$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py
$ chmod +x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img
Он преобразует файл system.new.dat в raw-образ с именем system.img . Монтируем образ к подпапке mnt :
$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/mnt
Структура каталогов Android
После распаковки system появится следующая каталоговая структура:
- app — предустановленные приложения со стандартными привилегиями;
- priv-app — предустановленные приложения с повышенными привилегиями, в том числе некоторые компоненты системы;
- bin — бинарные файлы формата ELF, аналог каталогов /bin и /usr/bin в Linux. Содержит различные системные компоненты, используемые более высокоуровневыми компонентами системы;
- etc — файлы настроек. Полный аналог /etc в Linux, используемый, однако, только теми самыми системными компонентами. Приложения Android хранят индивидуальные настройки в каталогах /data/data/ ;
- fonts — шрифты. По умолчанию содержит только фирменные шрифты Roboto;
- framework — библиотеки Java-классов, используемых системой и приложениями. Тут же лежит файл framework-res.apk , содержащий полное описание интерфейса операционной системы, включая все графические файлы;
- lib и lib64 — Linux-библиотеки, используемые низкоуровневыми компонентами системы. Аналог каталогов /lib и /usr/lib в Linux, включая такие стандартные библиотеки, как libc, libz, libssl. На устройствах с архитектурой ARMv7 и ниже каталог lib64 будет отсутствовать;
- media — медиафайлы: рингтоны, звуки уведомлений, звуки интерфейса и анимация загрузки ОС;
- tts — файлы, необходимые синтезатору речи;
- usr — каталог, который обычно содержит файлы, необходимые для работы приложений из каталога bin. По сути, аналог /usr/share ;
- vendor — файлы, поставляемые производителем устройства. Обычно содержит бинарный firmware для различных железных компонентов, например модуля Wi-Fi;
- xbin — необязательный каталог; кастомные прошивки используют его для хранения таких вещей, как интерпретатор bash, SSH, PowerTOP, BusyBox, и других полезных инструментов;
- build.prop — файл, содержащий информацию о сборке, а также различные низкоуровневые настройки;
- addon.d — содержит скрипты, запускаемые после установки прошивки. Сюда же GApps прописывают свой скрипт, благодаря которому возрождаются после переустановки прошивки.
Ознакомившись с базовой структурой Android, начнем вносить изменения.
Удаляем и добавляем приложения
Все предустановленные программы можно найти в двух папках:
- /system/app/;
- /system/priv-app/.
Друг от друга они отличаются привилегиями доступа. Если программы из app имеют такие же полномочия, как сторонние программы (например, установленные из Play Store), то приложения из priv-app могут использовать привилегированные API (права privileged). Подробнее об этом можно узнать из нашей статьи.
Для предустановки приложения в прошивку просто кинь ее APK-файл в /system/app/ . Можно, конечно, создать отдельную папку, но в нашем случае в этом нет смысла, потому что папка служит для хранения библиотек и odex-файлов, которых у нас попросту нет. Для удаления просто удали папку с ним.
Можно пойти дальше и поменять стоковые приложения на аналоги. К примеру, для замены календаря удаляем папку Calendar и копируем в /system/app наш любимый com.rpagyc.simplecalendar.apk . А можно и не копировать. Тогда прошивка будет без календаря.
Главное, помни: стоковые программы могут быть связаны между собой. Поэтому удаление одной проги вполне может привести к полной неработоспособности другой (к примеру, CalendarProvider и Calendar: удалив первый, ты сделаешь неработоспособным не только стоковый, но и любой другой календарь). К счастью, в чистых AOSP-прошивках взаимосвязей не так много.
Меняем анимацию загрузки
Анимация хранится в виде PNG-картинок, упакованных в архив /system/media/bootanimation.zip без сжатия. Внутри архива находятся:
- desc.txt — файл, описывающий анимацию;
- part0 — папка с файлами анимаций, которые воспроизводятся первыми;
- part1 — папка с файлами анимаций, которые воспроизводятся вторыми;
- .
- part? — крайняя папка, изображения с которой воспроизводятся в конце.
Файл desc.txt может содержать нечто вроде
1920 1080 60 p 1 0 part0 p 0 0 part1
Назначение этих строк интуитивно понятно: 1920 × 1080 — разрешение картинки, 60 — число кадров в секунду. Part0 и part1 указывают на папки, из которых будет воспроизводиться анимация, и последовательность воспроизведения. Вообще, может быть как одна часть, так и несколько (три и больше).
Изображения, находящиеся в папках part, пронумерованы пятью цифрами в порядке воспроизведения: 00000.png , 00001.png , 00002.png . Эти изображения можно поменять на свои, тем самым создав оригинальную анимацию. А можно просто удалить файл bootanimation.zip . Тогда девайс будет показывать анимацию из стандартного Android. Или воспользоваться уже готовой коллекцией анимаций на 4PDA.
Изменяем звуковое оформление
Фактически все звуки, которые воспроизводит система, хранятся в папке /system/media/audio . Внутри нее ты найдешь следующие папки:
- alarms — мелодии будильника;
- notifications — звуки уведомлений;
- ringtones — мелодии звонка;
- ui — системные звуки, например низкий заряд батареи, фокусировка камеры, выбор элементов интерфейса.
В alarms, notifications, ringtones можно накидать сколько угодно любых мелодий. Взять их можно, например, здесь:
- стандартные мелодии из разных телефонов и смартфонов Nokia;
- знаменитые стандартные рингтоны;
- просто множество рингтонов;
- мелодии с разных телефонов.
И маленький лайфхак: удаление файлов из папки ui приведет не к сбоям и ошибкам, а к исчезновению системных звуков. Поэтому ты можешь легко отключить звук создания снимка с камеры, снятия скриншота, просто потерев содержащие эти звуки файлы (их имена интуитивно понятны).
Добавляем шрифты
Шрифты хранятся в fonts . Найти архивы с файлами шрифтов можно на 4PDA и XDA. Для установки достаточно скопировать с заменой ttf-файлы из архива в папку fonts .
Меняем системные настройки (build.prop)
В образе system есть интересный файлик build.prop , содержащий множество полезной информации о железе устройства и настройках, устанавливаемых по умолчанию, для различных стоковых приложений. Справедливости ради замечу, что это не всегда так. Например, в Gigaset ME и ME Pro build.prop разделен на две части. В одной части содержатся настройки для Gigaset ME, а для ME Pro некоторые строки продублированы, но ключи (название смартфона и так далее) в них другие. Это было сделано, чтобы обеспечить более-менее корректную работоспособность одной и той же прошивки на разных аппаратах.
Build.prop содержит (или может содержать) огромное количество настроек. Некоторые из них ничего не меняют, некоторые улучшают одно за счет ухудшения другого, но есть те, которые действительно полезны:
- ro.product.model и ro.product.manufacturer — модель смартфона и имя производителя. С помощью замены этих строк можно заставить Play Store думать, будто у тебя другой смартфон, что откроет доступ к большему количеству софта. Для всяких малоизвестных китайских смартфонов эти строчки могут стать спасительными;
- hw.qemu.mainkeys — принимает только два значения: 0 — показать наэкранные клавиши навигации, 1 — не показывать кнопки. Отсутствие строки соответствует 0;
- debug.sf.nobootanimation — значение 1 отключает анимацию загрузки, что немного поднимает ее скорость. Установка 0 или удаление строки возвращает анимацию на место;
- ro.telephony.default_network — говорит системе, в какой режим должна быть переключена мобильная сеть при загрузке;
- ro.sf.lcd_density — DPI дисплея, наиболее точное значение для дисплея можно посчитать через удобный сайт. Но никто не запрещает поставить и большее или меньшее значение по своему вкусу: более высокие значения делают элементы интерфейса крупнее, низкие — меньше;
- ro.config.vc_call_vol_steps — количество шагов громкости во время разговора (по умолчанию 8);
- ro.config.media_vol_steps — количество шагов громкости мультимедиа (по умолчанию 15).
Внедряем в прошивку Google Apps
Почти всегда кастомные прошивки поставляются без сервисов Google и магазина приложений. Разработчики предлагают нам установить их отдельно с помощью пакета GApps. Однако его можно интегрировать прямо в прошивку.
Для начала необходимо скачать пакет GApps. Я рекомендую брать архивы Open GApps. Выбираешь версию Android, архитектуру процессора и вариант комплектации (Pico, Nano, Stock. ), который определяет, сколько различных приложений Google содержит архив. Я рекомендую скачать версию Pico. Она содержит только Play Store и набор необходимых для его работы библиотек.
Интеграция GApps в прошивку выполняется так:
- Распаковываем ZIP-архив GApps с помощью любого архиватора.
- Переходим в папку Core.
- Видим множество архивов с расширением .tar.lz . Извлекаем с помощью lzip.
- После распаковки копируем файлы из папок в соответствующие папки в system. Что куда кидать, нетрудно догадаться по структуре каталогов в архиве. Например, configupdater (со скриншота) нужно кидать в папку priv-app .
- Переходим в папку GApps (находится рядом с Core) и проделываем пункты 3 и 4 для файлов в ней.
- Все, мы интегрировали GApps в нашу прошивку!
Свободное место
Необходимо понимать, что место для установки прошивок ограниченно. Нельзя установить прошивку, размер которой перевешивает размер раздела system устройства. Посмотреть его значение можно, используя ADB:
$ adb shell df /system
Второй вариант: поставить на устройство терминал и набрать команду
$ df /system
Размер раздела в байтах можно узнать, установив на смартфон BusyBox и выполнив в терминале команду
$ busybox df -B 1 /system
Или то же самое с помощью ADB:
$ adb shell busybox df -B 1 /system
Место, занимаемое прошивкой, будет приблизительно равно размеру system в распакованном виде. Вообще, при создании прошивки необходимо учитывать, что юзер также может прошить поверх нее различные модификации (SuperSU, Xposed) или перенести приложения в раздел system. Например, минимальный пакет приложений Google (Pico) требует минимум 150 Мбайт дополнительного пространства для установки.
При необходимости размер файла прошивки можно уменьшить, удалив не только ненужные программы из /system/app ( /system/priv-app ) и звуки вызова из system/media/audio и bootanimation.zip , но и:
- /system/tts/lang_pico — языки примитивного голосового движка Pico TTS, голосовой движок Google это не затронет;
- /system/usr/srec/config/ — офлайн-языки. Можно будет скачать потом онлайн, если понадобится.
Сборка
После внесения изменений нужно собрать все обратно. Сначала запакуем раздел system в system.new.dat . Скачиваем нужные нам инструменты:
$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https://github.com/xpirt/img2sdat/raw/master/common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/master/sparse_img.py $ sudo apt-get install android-tools-fsutils
Преобразовываем нашу папку обратно в RAW-образ. Назовем его system_new.img :
$ sudo make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img output/
1073741824 меняем на размер раздела system в байтах. Желательно даже сделать его чуть меньше. Делаем из RAW-образа sparse-образ:
$ img2simg system_new.img system_snew.img
Преобразуем наш образ в system.transfer.list и system.new.dat , которые и нужно кидать в архив с прошивкой, но сначала удалим старые файлы:
$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod +x img2sdat.py $ ./img2sdat.py system_snew.img
Отделим файлы прошивки от лишней шелухи (файлов, которые мы загружали для работы. Для этого удобно пользоваться архивом с прошивкой). Удалили? Теперь нужно запаковать прошивку в ZIP-архив (любым архиватором).
Осталось подписать архив. Сделать это можно как на самом Android с помощью ZipSigner, так и на ПК (потребуется установленная Java):
$ wget https://github.com/appium/sign/raw/master/dist/sign.jar $ java -jar файл.zip
Подводные камни
Во время сборки system.new.dat ты можешь столкнуться с несколькими проблемами, вызванными постоянными изменениями в механизмах формирования прошивок Android. Описанный выше способ должен хорошо сработать в случае основанной на Android 5.1 прошивки, в более новых могут возникнуть сложности, так что потребуется использовать другие версии инструментов сборки. К сожалению, мы не можем описать все нюансы сборки, поэтому, возможно, придется погуглить.
Установка
Для установки кастомной прошивки необходим кастомный рекавери TWRP, позволяющий устанавливать неподписанные или подписанные тестовым ключом прошивки (именно такую мы создали). В журнале мы неоднократно описывали процесс его установки, да и в ветках форума, посвященных твоему устройству, обычно есть достаточно информации для того, чтобы это сделать.
Выводы
Эта статья описывает лишь верхушку огромного айсберга под названием «модификация прошивок». «Серьезные» прошивки не только дополняют ядро и саму прошивку со стоковыми приложениями множеством функций (которые зачастую вырваны из других ядер и прошивок), организовывая или даже меняя принципы их взаимодействия, но и вполне могут кардинально менять принципы работы ОС. Правда, такая поделка — это уже не Android, а отдельная ОС, даже если Play-сервисы получится туда поставить (кстати, такие действия, мягко говоря, не поощряются Google). Ну и не забываем: все оболочки от производителей — TouchWiz, ZenUI, HTC Sense и так далее — всего лишь обычные кастомы, максимально привязанные к железу устройства и друг к другу.
Кастомные Android-прошивки и всё, что с ними связано
Покупаешь новый смартфон и ходишь радостный пока опять новый кастом не накатил. Он и работает шустро, и игрушки идут лучше: явно побыстрее стока. Но тут прилетело OTA, ядро новое вышло, да и Magisk обновился уже — пора ставить апдейты и получать “бутлупы”. Да, от общего числа пользователей Android смартфонов доля тех, кто сидит на кастомах крайне мала. Однако, всё же людям приходят в голову странные мысли по типу: “А не прошить бы мне свой Xiaomi, что б летал как ракета”. По такому случаю статья, в которой рассказывается про кастомные Android прошивки от А до Я.
Кастомные прошивки и их классификация
Что же из себя представляет кастомная Android-прошивка? Это система, к созданию которой причастны сторонние разработчики: то есть любая неофициальная прошивка. В большинстве случаев отличительными чертами подобных прошивок является иная оболочка, модифицированное ядро системы, широкая кастомизация и много разных плюшек, которых нет в официальных Android прошивках, созданных компанией-производителем. Чаще всего такие прошивки работают быстрее официальных, но реже они работают стабильнее. Существует огромное множество кастомов, которые делятся на виды, изучением которых мы сейчас и займёмся.
Вот основые вариации Android-прошивок:
- Официальная от производителя (модифицированная)
- Кастомная — собранная из исходников
- GSI-прошивка
- Портированная прошивка
А теперь про каждую поподробнее. Официальная прошивка от производителя установлена в смартфоне с завода: то есть вы покупаете телефон именно с ней. Её делал отдел компании-производителя, который отвечает за программное обеспечение своих устройств. Эти прошивки часто модифицируют умельцы путём распаковки образа прошивки, внося свои изменения. Также, любая уважающая себя компания предоставляет исходный код прошивки, которую они создали: те самые исходники. Далее по списку кастомная прошивка, собранная из исходников — та, которую собирали сторонние разработчики с нуля. Такая прошивка может включать в себя всевозмножные улучшения и кастомизации, которых не было в официальной, и их нельзя было добавить путём простой распаковки/запаковки образа. Следующая у нас GSI-прошивка — отличается от двух предыдущих тем, что при её установке не затрагивается раздел Vendor, так как GSI-образ это и есть образ системы. Работают эти GSI прошивки куда медленнее и менее стабильно, чем собранные из исходников. Ну и последняя — порт прошивки с другого девайса. Это прошивка, полностью перенесённая с иного устройства и изменённая для работы на конкретном смартфоне. По большей части это самые багованные прошивки, так как система не просто не родная, она ещё и содрана с другого устройства. Но их используют: к примеру те же любители фирменных оболочек различных устройств. Существует огромное колличество портированных прошивок со смартфонов OnePlus с их оболочкой OxygenOS, которая многим приходится по душе.
Мы будем рассматривать именно те кастомы, которые собираются из исходного кода. На это есть ряд причин, а именно: такие прошивки работают быстрее остальных, они стабильнее и представляют из себя полноценную замену стоковой, так как собирались с оптимизацией под конкретный девайс. Естественно, не без учёта качества сборки. На данный момент кастомы имеют широкое распространение среди многих моделей различных брендов. Также, само сообщество создателей кастомов постоянно растёт и развивается, поэтому найти стабильно работающую прошивку под свой смартфон не представляет особой трудности.
Существует классификация прошивок, показывающая, на основе какого исходного кода взята база для сборки:
- AOSP — Android Open Source Project. Представляет из себя абсолютно голую систему Android, на которую в последующем «навешивают» оболочки, по типу One UI, MIUI, OxygenOS и так далее. Пояснение: смартфонах Google Pixel не AOSP, в них установлена собственная оболочка на базе AOSP.
- CAF — Code Aurora Forum. Проект Linux Foundation, который содержит программный код для прошивок смартфонов на базе процессоров Qualcomm. Прошивки, которые базируются на CAF-тегах могут быть не самыми стабильными, но за счёт последних версий драйверов они имеют ряд приемуществ: лучшая производительность, более высокая скорость интернет соединения, хорошая автономность и улучшенное качество звучание.
- LineageOS — кастом, на котором базируются многие другие кастомы, вроде CRdroid, Resurrection Remix и им подобные. Изначально был CyanogenMod: именно он был на слуху, да и развивался постоянно. Позже переименовался в LineageOS. В какой-то момент в AOSP было внесено столько изменений разработчиками линейки, что её начали использовать как базу для других прошивок.
Зачем же нужны кастомные прошивки?
Простому пользователю — незачем. Если хочется поиздеваться над устройством, либо наоборот преобразить его с помощью новоиспечённого кастома на последней версии Android и перевернуть в нём всё, чтобы сделать так, как хочется — это ваше. Когда человек ставит кастом, он берёт ответственность за работоспособность девайса полностью на себя, и в случае, если вдруг что-то пойдёт не так, а вы не сможете починить свой смартфон, то, это уже будет ваше личное дело. Скорее всего ваш случай не попадёт под гарантийный, даже если сломалась аппаратная часть смартфона. Придётся как минимум заставлять СЦ проводить нормальную диагностику, чтобы исключить самую тупую причину поломки: кастом. Также, почти любую софтовую поломку во время прошивки можно устранить в домашних условиях, не прибегая к помощи работников сервисного центра. Так что если кто надумал шиться, знайте: кирпич это не так страшно. В любом случае в интернете есть огромное колличество гайдов «как и что в случае чего».
Рассматривая использование на повседневной основе кастомной прошивки, созданной хорошим сборщиком, можно ощутить высокую плавность и скорость работы пользовательского интерфеса в сравнении со стоковой прошивкой. Прирост производительности в играх и повышение автономности также обеспечены. Вполне возможно улучшение качества звучания, фото и видео съёмки смартфона. Если не из основного, то кастомы часто имеют последние патчи безопасности и обновления системы, которые повышают стабильность и скорость работы устройства. Также, в зависимости от прошивки появляются возможности кастомизации, которых не было в стоке.
Процесс установки прошивки и разделы накопителя
Итак, вот мы и подошли к самому главному: установка. Это универсальная инструкция для всех смартфонов, которая будет работать при установке большей части прошивок. Но, на некоторых устройствах могут быть свои особенности установки, которые нужно уточнять в источнике откуда берёте прошивку. Обращать внимание на нюансы действительно очень важно, так как если шить «как захотел», то в лучшем случае можно получить «бутлуп», а в худшем будет «кирпич». Все манипуляции должны производится на уже разблокированном загрузчике. Разблокировка осуществляется с помощью софта от производителя смартфона, либо командами Fastboot. За подробностями — в тему своего устройства.
При подготовке скачиваем всё, что необходимо для установки прошивки: нужное TWRP, последний Firmware (если имеется на ваш смартфон), сама прошивка, кастомное ядро (вдруг нужно), патчи и фиксы (при надобности), по желанию GAPPS (Google Apps), дешифратор (снятие шифрования Data) и Magisk (Root-права). После того, как всё скачалось, лучшим вариантом будет перекинуть все эти файлы на флешку, чтобы шиться с неё. Из всего выше перечисленного для установки прошивки нужно только TWRP и сама прошивка, но, чаще всего люди шьют и всё остальное, поэтому вот последовательность, которая включает в себя самую обычную установку прошивки.
TWRP — модифицированная версия Recovery (режим восстановления), в котором мы и будем производить все манипуляции. Для этого достаточно установить драйвера для своего устройства на компьютер и прошить образ нужного TWRP в раздел «Recovery» (если не грузиться, то и в Boot) через специальную утилиту в зависимости от платформы процессора смартфона: MediaTek или Qualcomm (SPFlashTool или Minimal ADB and Fastboot). Выбирайте TWRP на вкус и цвет, главное чтобы работало. Если TWRP уже установлен, сразу начинаем со второго пункта.
Основные разделы смартфона, которые видно в TWRP:
- Dalvik / ART Cache — кэш виртуальных машин Dalvik / ART.
- Cache — системный кэш.
- Data — раздел с данными системы и всех установленных в ней программ.
- System — сама система. Те же GSI-образы устанавливаются именно в этот раздел.
- Vendor — бинарники, конфиги, библиотеки. В общем всё, что запихнул производитель в смартфон, для нормальной его работы.
- Внутренняя память — она у вас на главной странице в проводнике. Созданные или скачанные вами файлы.
- Micro SDCard — точка монтирования карты памяти (флеш-память).
- USB OTG — точка монтирования флешки, либо харда, подключенных по OTG-кабелю.
Заходим в TWRP той комбинацией клавиш смартфона, которой заходят в режим Recovery и производим очистку смартфона, чтобы кастом шился на чистый накопитель. Для этого в TWRP ищём пункт связанный с очисткой и заходим в него. Там же мы наблюдаем разделы смартфона и галочки рядом с ними. Нам нужно поставить галки напротив разделов Dalvik / ART Cache, Cache, Data, System, Vendor (необязательно), Внутренняя память, но не ставить на Micro SDCard и USB OTG, которые указывают на SD-карту, либо OTG-накопитель, в зависимости от того, где у вас лежат файлы для прошивки. После мы просто проводим свайп для очистки разделов (вы потеряете все данные на смартфоне). Далее нам нужно отформатировать DATA-раздел. Делается это там же в меню очистки с введением подтверждения в виде слова «yes». После успешного форматирования DATA-раздела нам нужно сделать перезапуск в TWRP. Зачем? Это может быть необходимо, для правильного определения разделов самим TWRP во избежание ошибок при установке прошивки. Также, существует вариант OTA-обновления: установка прошивки как обновления уже существующей, без форматирования памяти.
- Грузимся обратно в TWRP и приступаем к установке: Выбираем накопитель на котором лежат необходимые файлы и ставим всё в такой последовательности:
- Firmware
- Прошивка (Система, которую ставим)
- Перезагрузка в TWRP (По причине, описанной выше)
- Ядро
- Перезагрузка в TWRP
- Необходимые патчи / фиксы
- GAPPS (Google Services)
- DFE (Отключение шифрования)
- Magisk (Root права)
- Перезагрузка в систему и дальнейшая её настройка на ваш вкус.
Составляющих в последовательности установки может быть и меньше. Как я уже сказал, достаточно в TWRP установить лишь прошивку и если ей ничего более не нужно, то она запустится и будет работать.
Проблемы при установке прошивки
Ошибки могут быть разные, но решаются по одному и тому же алгоритму. Если TWRP выдаёт ошибку, то:
- Проверить какую прошивку вы ставите. Всякое бывает, можно и не свою скачать случайно.
- Перечитать инструкцию если таковая есть, вдруг что-то пропустили.
- Перекачать установочный zip с прошивкой (он может быть битый).
- Если 1-2-3 не сработали, то проводим очистку разделов и форматируем Data.
- Крайний случай: прошиваем стоковой прошивкой через фирменный прошивальщик.
- Только при наличии программатора и умения с ним работать: шьём через него сток (может решить проблему, если не помог обычный прошивальщик)
- Пробуем восстановить смартфон по индивидуальной для каждого инструкции «Восстановление из кирпича», которая ищется в теме своего устройства.
- Если совсем никак, скорее всего проблема в железе. Поэтому остаётся только вариант сервисного центра.
Все проблемы, которые могут возникнуть в рабочей системе решаются установкой «Фикса от Васяна», сменой ядра, либо установкой другого кастома.
Если вы уже решили заняться этим делом, то ищите и пытайтесь пофиксить, а ещё лучше показать остальным как вы решили свою проблему, если решения до вас не было.
Выводы: нужно оно нам, или нет
Для начала придётся немного пострадать, а там уже опыт наберётся и можно будет шиться без гайдов и фиксить любую проблему самому. Получение удовольствия от использования своего смартфона станет не таким редким явлением. Захотели себе что-то особенное и лучше чем сток? Готовы уделять этому время? Форумы с прошивками вас ждут. «Кастом будет всегда лучше любого стока» — эта фраза будет иметь смысл только в том случае, если прошивка хорошо собрана, имеет ядро с различными оптимизациями и почищена от мусорных приложений. Тут дело уже не во вкусах, а в том, как на самом деле.
- Разработка под Android
- Разработка под Linux
- Гаджеты
- Смартфоны
Как создать свой собственный Android ROM
Одна из ключевых особенностей Android – это открытый исходный код. Исходный код всей операционной системы, включая ядро, пользовательский интерфейс, библиотеки и ключевые приложения, доступен бесплатно. Это означает, что любой (обладающий необходимыми техническими навыками) может собрать Android из исходных кодов и перенести его на совместимое устройство. Эта гибкость позволила различным группам, как коммерческим, так и любителям, разработать альтернативные дистрибутивы Android. Их обычно называют «кастомные прошивки», но лучше называть их «кастомные прошивки».
Поскольку все необходимые строительные блоки доступны, возможно, вы задавались вопросом, насколько сложно создать свой собственный ПЗУ, собственную персонализированную версию Android! Это действительно возможно, читайте дальше, чтобы узнать больше.
Предупреждение
Прежде чем мы погрузимся в темный мир создания пользовательских версий Android, нам нужно сделать паузу и оценить масштабность предстоящей задачи, сдерживая свои ожидания. Если у вас нет абсолютно никакого опыта программирования, нулевого опыта использования командной строки (в Linux или macOS) или вы не знаете, что такое «Makefile», то это не для вас.
Android – это полноценная операционная система. Он сложен и содержит множество различных подсистем. Создание такой сложной и полезной операционной системы, как Android, не произошло за одну ночь. Это означает, что любую настройку, которую вы хотите выполнить, придется начинать с малого. Чтобы создать альтернативный дистрибутив Android, который радикально отличается, потребуется много-много часов тяжелой работы и самоотверженности.
Было сказано, что. Если вы знакомы с написанием кода, если вы немного знаете о Make-файлах и компиляторах, то создание собственной версии Android может быть полезным опытом!
Предпосылки
Теоретически можно было бы создать специальную прошивку Android для любого вычислительного устройства, способного работать с современной операционной системой. Однако, чтобы облегчить жизнь, мы ограничимся сборкой Android для устройств, которые поддерживают «из коробки», а именно для устройств Nexus. Для демонстрационной сборки я использовал Nexus 5X.
Чтобы собрать Android, вам понадобится доступ (и знакомство) с Linux-машиной или Mac. В обоих случаях вы будете часто использовать терминал, и вам нужно быть уверенным в командах оболочки. Я сделал свою первую сборку с использованием виртуальной машины Linux, однако она не распознала Nexus 5X в режиме загрузчика, поэтому мне не удалось прошить новую прошивку на устройстве. Затем я переключился на Mac, и он работал без особых проблем.
Вам понадобится 130 ГБ дискового пространства и, вероятно, около 8 ГБ ОЗУ. Я попытался собрать Android всего с 4 ГБ оперативной памяти и столкнулся с множеством проблем. Я также столкнулся с аналогичными проблемами с 8 ГБ оперативной памяти, однако, используя некоторые уловки (см. Ниже), я смог создать успешную сборку.
Научитесь терпению. Создать Android не так быстро. На синхронизацию исходного репозитория с моей локальной машиной ушло почти 24 часа! Кроме того, полная чистая сборка займет несколько часов. Даже после внесения незначительных изменений вам может потребоваться подождать от 10 до 20 минут для сборки. Все зависит от вашего оборудования, однако не ожидайте, что ваша новая версия Android будет запущена всего за несколько минут.
Версия Android для проекта с открытым исходным кодом Android не включает никаких сервисов Google. Так что таких вещей, как Google Play, YouTube, Gmail и Chrome, не будет. Есть способы прошить эти «гаппсы» на вашу собственную прошивку, но я оставлю вас, чтобы узнать, как это сделать. Подсказка: выполните поиск по запросу «установить gapps».
Когда начать
Основной процесс таков. Загрузите и соберите Android из Android Open Source Project, затем измените исходный код, чтобы получить свою собственную версию. Просто!
Google предоставляет отличную документацию по созданию AOSP. Вам нужно прочитать его, а затем перечитать, а затем прочитать еще раз. Не перепрыгивайте через ступеньки и не думайте, что вы знаете, что будет сказано дальше, и просматривайте части.
Я не буду дословно повторять здесь инструкции по сборке, однако общие шаги следующие:
- Настройте среду сборки, включая установку правильных инструментов разработки, Java Development Kit и настройку всех путей и каталогов.
- Возьмите исходный код – это делается с помощью инструмента «Репо» и git.
- Получите проприетарные двоичные файлы – некоторые драйверы выпускаются только в двоичной форме.
- Выберите цель – с помощью инструмента «обед».
- Начните сборку – с помощью make и Джека.
- Прошить сборку на свое устройство – с помощью adb и fastboot.
Советы и рекомендации по процессу сборки
Все это звучит легко, но на этом пути есть несколько подводных камней. Вот несколько замечаний, которые я сделал в процессе, которые могут вам пригодиться:
Настройте среду сборки – Ubuntu 14.04 является рекомендуемой средой сборки для пользователей Linux и OS X 10.11 для пользователей Mac. Вам необходимо установить OpenJDK 8 в Linux и Oracles JDK 8 в OS X. В OS X вам также необходимо установить Macports вместе с Xcode и инструментами командной строки Xcode. Я использовал OS X 10.12, что вызвало небольшую проблему с устаревшими функциями системных вызовов в 10.12 OS X SDK. Работа здесь: http://palanceli.com/2016/09/25/2016/0925AOSPOnMac/
Возьмите исходный код – это простой шаг, но он занимает много времени. Для меня это заняло более 24 часов. Такая большая загрузка происходит только один раз, дальнейшая синхронизация с основным деревом исходных кодов будет постепенной.
Получите проприетарные двоичные файлы – двоичные драйверы должны быть распакованы в вашем рабочем каталоге.
Выберите цель – для Nexus 5X используйте aosp_bullhead-user
Начать сборку – вы запускаете сборку с помощью make. GNU make может обрабатывать параллельные задачи с аргументом -jN, и обычно используется количество задач N, которое в 1-2 раза превышает количество аппаратных потоков на компьютере, используемом для сборки. Однако, если вы обнаружите, что ваша машина испытывает трудности в процессе сборки, попробуйте что-нибудь вроде «make -j2».
Если вы получаете ошибки сборки, которые кажутся связанными с памятью, особенно с сервером Jack и памятью, выполните следующие действия:
-
export ANDROID_JACK_VM_ARGS=”-Xmx4g -Dfile.encoding=UTF-8 -XX:+TieredCompilation”change the jack.server.max-service in $HOME/.jack-server/config.properties to 1 Если вы измените какую-либо конфигурацию сервера Джека (включая установку или изменение переменной ANDROID_JACK_VM_ARGS), вам нужно убить сервер Джека и снова запустить make. Используйте ./prebuilts/sdk/tools/jack-admin kill-server, чтобы остановить сервер Джека. Если у вас возникнут какие-либо ошибки связи, связанные с сервером Jack, просто запустите сборку снова, это обычно исправляет. Запишите сборку на свое устройство – вы найдете adb и fastboot в ./out/host/darwin-x86/bin/ или ./out/host/darwin-x86/bin/ для OS X или Linux соответственно.
Прошить это
После того, как у вас будет успешная сборка и вы загрузите ее на свое устройство с помощью команды «fastboot flashall -w», перезагрузите устройство. Вы увидите ванильную версию AOSP. Нет сервисов Google, нет Play Store и только несколько основных приложений. Это основа Android. Тем не менее, наши поздравления не заставят себя ждать. Вам удалось собрать Android из исходного кода и установить его на устройство. Это немалый подвиг.
настройка
Теперь, когда у вас есть Android, вы можете приступить к его настройке и созданию собственного специализированного ПЗУ. На самом деле здесь все усложняется. Вы собираетесь повозиться с операционной системой Android, и проблема в том, что Android огромен. В моем рабочем каталоге более 120 ГБ данных. Это исходный код, графика, скомпилированные двоичные файлы, инструменты, все. Это много всего. Итак, начнем с простого. Вот две простые настройки, которые помогут вам начать путь к тому, чтобы стать хакером прошивки Android!
Настройте приложение для обмена сообщениями
Относительно простая настройка – изменить одно из предварительно созданных приложений. Если бы вам пришлось разработать полный альтернативный дистрибутив Android, то изменение или замена некоторых основных приложений было бы само собой разумеющимся. В этом случае мы просто собираемся настроить его, однако принципы остаются прежними для более сложных изменений и исправлений. Основные приложения находятся в каталоге ./packages/apps/, и нас интересует приложение обмена сообщениями в ./packages/apps/Messaging/. Просмотрите src / com / android / messaging / и отредактируйте BugleApplication.java. Вы можете редактировать его с помощью вашего любимого редактора графического интерфейса или, если вы хотите остаться в командной строке, используйте vi или nano . BugleApplication.java – это точка входа для приложения обмена сообщениями. Для простоты мы собираемся добавить тост, который будет отображаться при первом запуске приложения. В верхней части файла под длинным списком операторов импорта добавьте эту строку:
import android.widget.Toast;
Теперь найдите функцию onCreate(). Ближе к концу функции, перед последним вызовом Trace.endSection (); добавьте следующие две строки:
Toast myToast = Toast.makeText(getApplicationContext(), "Welcome!", Toast.LENGTH_LONG); myToast.show();
Сохраните файл и запустите новую сборку с помощью команды make. Как только сборка будет завершена, запишите ее на свое устройство и перезагрузите. Запустите приложение обмена сообщениями и найдите «Добро пожаловать!» тост. Очевидно, что это простая модификация, однако есть возможность изменить любое из приложений по умолчанию, как вам угодно.
Больше настроек
Любой уважающий себя кастомный дистрибутив Android должен включать некоторую информацию о самом ПЗУ. Для этого мы можем изменить встроенное приложение «Настройки» и добавить некоторую информацию в раздел «О телефоне». Для этого отредактируйте файл device_info_settings.xml из ./packages/apps/Settings/res/xml/ и добавьте следующие два раздела в конец файла перед последним тегом :
Сохраните файл, а затем восстановите и перепрограммируйте прошивку на вашем устройстве. После перезагрузки перейдите в Настройки-> О телефоне и прокрутите вниз: Вышеупомянутое изменение – это небольшая хитрость, поскольку на самом деле строки должны быть определены в strings.xml для английского и других языков. Если вы планируете серьезно заниматься разработкой AOSP, вам нужно делать все правильно!
Создание приложений без кода: как сделать свое мобильное приложение для Android или iOS
Создание приложений, если не умеешь программировать — это вполне реально. Нужно просто понять, для чего делаешь приложение, выбрать подходящий конструктор и работать поэтапно.
В этой статье разбираемся, как создать приложение: в каких случаях его стоит делать самостоятельно и как в итоге получить жизнеспособный инструмент для бизнеса. В конце — подборка конструкторов приложений с описанием и ценами.
Содержание:
- Зачем создавать мобильное приложение
- Когда можно создать приложение самостоятельно
- Способы создания приложений
- Разработка c программистом
- Zero-code конструкторы приложений
- Как создать мобильное приложение: этапы работы
- Подготовка
- Разработка
- Запуск и тестирование
- Продвижение и поддержка
- Сервисы для создания мобильных приложений на Android и iOS
- Draftbit
- Adalo
- Bravo Studio
- Kodika
- Mobincube
- AppsBuilder
- Apps Global
- Альтернатива мобильным приложениям — чат-бот
- Создание приложений: что стоит запомнить
Зачем создавать мобильное приложение
Каждый год люди все больше пользуются мобильными вместо компьютеров. Вместе с этим растет и количество устанавливаемых приложений, и проведенное в них время — на телефоне удобнее зайти в приложение, а не на сайт.
График ниже показывает, сколько времени люди проводят в телефоне — в браузере и в приложениях. Приложения уверенно лидируют и, судя по прогнозу, продолжат наращивать отрыв.
При этом люди устанавливают довольно много разных приложений. По данным на графике ниже, на каждом четвертом телефоне стоит более 30 приложений.
Когда можно создать приложение самостоятельно
Самостоятельно можно создать небольшое и простое приложение, которое закроет потребность ваших существующих клиентов. Это поможет сформировать лояльность: вы покажете, что компания старается стать еще удобнее.
Например, у вас пиццерия и много постоянных клиентов. Вы знаете, что через сайт поступает гораздо больше заказов, чем через телефон. Вы делаете приложение — клиенту становится проще покупать у вас пиццу. К тому же через приложение можно посылать push уведомления: рассказывать про акции, сообщать о готовности заказа.
В общем, если есть потребность, которую можно быстро закрыть приложением — стоит его создать. Вот еще примеры. Новостное издание может сделать приложение, чтобы подписчикам было удобно читать новости. Медицинская клиника — чтобы клиенты могли выбрать нужного врача и записаться на прием. Компания — чтобы у сотрудников был быстрый доступ к стандартам, правилам и базе знаний.
А вот самостоятельно создавать приложение ради промоушена компании — плохая затея. Вам нужно очень точно угадать запрос потенциальных клиентов и сделать приложение, которое увидят, скачают и не удалят после первого использования. Это сложно и, скорее всего, не оправдает вложенных усилий.
Способы создания приложений
Классический способ разработки — нанять программистов. Но есть и вариант, когда вы создаете приложение самостоятельно, с помощью специальных сервисов. Рассмотрим оба.
Разработка c программистом
Способ подходит для команд, у которых в штате есть разработчик с соответствующим опытом или деньги, чтобы такого нанять. Это может быть или отдельный специалист-фрилансер, или целое агентство — выбор будет зависеть от сложности приложения и размера бюджета.
Перед тем, как нанимать специалиста со стороны, убедитесь в опыте — попросите примеры работ. В идеале это должны быть примеры в вашей теме: например, магазин или бронирование билетов.
Zero-code конструкторы приложений
Для тех, кто не умеет программировать, на рынке есть сервисы для самостоятельного создания приложений — так называемые no-code или zero-code сервисы. Подборку таких сервисов с описанием и ценами вы получите дальше в статье.
Zero-code сервисы работают по принципу конструкторов: вы собираете приложение из имеющегося набора элементов и функций, создаете свой дизайн. Традиционно есть набор готовых шаблонов, которые можно адаптировать под себя.
Функциональность этих сервисов напрямую зависит от тарифа. На бесплатных или дешевых доступен минимум функций. Скорее всего, для создания качественного нативного приложения для iOS и Android придется купить тариф подороже, но может выйти дешевле, чем привлекать разработчика.
Как создать мобильное приложение: этапы работы
Условно разделим самостоятельное создание приложения на четыре этапа:
- подготовка,
- разработка,
- запуск и тестирование,
- продвижение и поддержка.
Подготовка
На этапе подготовки нужно определиться, для кого, зачем и как будет делаться приложение. Всю эту информацию нужно собрать в одном документе, который будет точкой опоры для всех участников процесса.
- Для кого. Определяем целевую аудиторию — для кого создаем приложение.
- Зачем. Расписываем, какая проблема есть у целевой аудитории и как приложение ее решит. Отсюда уже вывод — какая польза для компании от приложения. Понимание, для кого и зачем вы делаете приложение — критически важная вещь. Без понимания не будет реальной пользы, а значит, приложением не будут пользоваться.
- Что у других.Конкурентный анализ — обязательный этап подготовки. Проанализируйте, какие схожие мобильные приложения есть на рынке. Попробуйте самые популярные: отметьте, что удобно и неудобно, чего не хватает и какие есть интересные функции. Кроме того, полезно заглянуть в отзывы. Их можно найти в прямо на странице приложения в маркете или погуглить.
- Как. Рассчитываем силы — получится сделать приложение самостоятельно или нужно обратиться к разработчику. Если самим — выбираем подходящую платформу, список будет дальше в статье.
- Что потом. Это необязательный этап, но полезный. Подумайте о том, как приложение впишется в экосистему вашего продвижения в целом. Какие у него есть шансы на развитие, будут ли силы, время и деньги на поддержку.
Итог подготовки: полностью готовое описание будущего приложения с целевой аудиторией, функционалом и бизнес-требованиями.
Разработка
Сконцентрируйтесь на проблеме целевой аудитории, которую вы определили на предыдущем этапе. Исходя из этого опишите список базовых функций. Например, для приложения клиники это могут быть:
- посмотреть каталог с карточками всех специалистов,
- записаться на прием и оставить отзыв,
- найти цену на нужную услугу,
- поставить напоминание о записи или приеме лекарств.
Затем соберите функции в общий сценарий приложения. Для этого пригодится метод сторифреймов: это черновые экраны, из которых будет состоять ваше приложение. В них нет ничего, кроме текста. Грубо говоря, это диалог пользователя и приложения: приложение предлагает — пользователь реагирует — приложение отвечает, и так далее. Их можно собрать в сервисах вроде miro, Figma, Sketch, или использовать любой инструмент для создания майнд-карт из нашей подборки.
Например, вы делаете приложение для рекомендаций по уровню активности. Человек вводит туда свой рост, вес и возраст и получает нужное количество шагов или тренировок. Тогда будет примерно такой сценарий:
- Приветствие — рассказать, по какому методу определяете активность и зачем это нужно.
- Ввод данных — запрашиваем у пользователя его параметры.
- Результаты — подсчитанное количество шагов/тренировок для этого пользователя.
- Расширенные рекомендации — советы, как начать больше тренироваться.
На этапе сторифреймов вырисовывается логика: сколько понадобится экранов, какие они будут, что нужно объединить или разделить, где нужен просто текст, а где понадобится иллюстрация. И уже на основе сторифреймов вы построите чистовые экраны приложения. Не придется менять логику на ходу и вносить большие правки.
Что еще учесть, чтобы создать хорошее приложение:
- Онбординг. Если что-то может быть понято неправильно, так и будет. Объясняйте пользователю, куда он попал и как пользоваться приложением.
- Немедленный отклик. Каждое взаимодействие с интерфейсом должно получать ответ. Смена цвета элемента при нажатии, появление значка загрузки, текстовая подсказка — чтобы пользователь понимал, что его действие сработало.
- Меньше раздражителей. Делайте минималистичный интерфейс — лучше потом что-то добавить, чем убирать. Чем проще и понятнее будет приложение, тем выше его шанс на долгую жизнь в телефоне.
А еще в идеале приложение должно немного весить, не раздражать рекламой и уведомлениями. Статистика ниже — основные причины удаления приложений.
Итог разработки: первая рабочая версия приложения.
Запуск и тестирование
Перед тем, как выкатывать приложение в общий доступ, его нужно протестировать и устранить все найденные баги и ошибки в логике. Самый простой вариант — установить его на телефоны команды и активно использовать хотя бы несколько дней. Лучше всего привлечь фокус-группу — людей со стороны, которые подходят под описание ЦА и пока незнакомы с проектом.
Не откладывайте тестирование на последний момент. Если обнаружатся серьезные проблемы, дата релиза сдвинется, из-за чего вы можете потерять время и деньги. Лучше отведите под проверку несколько недель — пусть она проходит в глубоком и спокойном режиме, а у вас точно будет время на отладку.
Итог запуска и тестирования: бета-версия приложения, проверенная на группе пользователей.
Продвижение и поддержка
Готовое оттестированное приложение можно запускать в промоушен. Если есть прямая ссылка для скачивания — запускайте рекламные кампании с ней. Предлагайте приложение посетителям сайта, анонсируйте его выход в соцсетях, сделайте рассылки по базе постоянных клиентов. Выложите в магазин приложений — Google Play или AppStore.
В рекламных системах есть специальные форматы кампаний для продвижения мобильных приложений. Собрала для вас ссылки на информацию по таким кампаниям в разных системах:
Итог продвижения и поддержки: приложение вышло на рынок, при необходимости вы его поддерживаете и дорабатываете.
Сервисы для создания мобильных приложений на Android и iOS
Как я рассказывала выше, для создания мобильного приложения необязательно знать код. Есть zero coding сервисы, в которых вы создаете приложения по визуальной логике — собираете их из готовых блоков, настраиваете внешний вид и функции.
Что учесть при выборе сервиса:
- Язык. Большинство хороших сервисов для создания приложений — англоязычные, русских очень мало, но в подборке такие есть.
- Интерфейс и функционал. Если есть какие-то особые требования, то проверяйте их выполнимость на этапе выбора сервиса. Заодно смотрите интерфейс — сможете ли вы в таком работать.
- Формат результатов. Это должен быть готовый пакет с файлами приложения (apk или aab для Android, ipa или pkg для iOS). Либо сервис сам поможет вам загрузить приложение в магазины — это идеальный вариант, чтобы избежать лишних сложностей.
Собрала для вас сервисы, которые позволяют создать мобильное приложение и поделиться результатом — скачать готовые пакеты, создать ссылку на скачивание для пользователей или загрузить приложение в магазин. Цена указана за тариф, на котором можно получить пакеты для загрузки в магазины или помощь сервиса по загрузке.
Draftbit
Язык: английский
Платформы: Android, iOS
Тариф: 50 долларов в месяц, можно попробовать бесплатно.
Есть интеграция с Zapier — сервисом, который позволяет соединить ваше приложение с 1500 других сервисов. Например, настроить интеграцию с Trello или SendPulse, вашей CRM или платежной системой. Есть также возможностью подключать источники данных.
Встроена возможность публикации в магазины приложений — у Adalo для этого приготовлены подробные пошаговые инструкции.
Bravo Studio
Язык: английский
Платформы: Android, iOS
Тариф: три скачивания пакетов в неделю на бесплатном тарифе. Чтобы убрать лимит и лого сервиса из готового продукта — 49 евро в месяц.
Этот сервис непохож на остальные подборки. Это не конструктор, а конвертер — он превращает макеты, сделанные в Figma или Adobe XD, в нативные приложения для iOS и Android. Каждый элемент макета размечается специальным тегом, и с их помощью сервис переводит макет в код. Внешние источники данных и сторонние сервисы подключаются к готовому приложению через REST API.
В базе знаний сервиса есть подробные гайдлайны для загрузки в App Store и Google Play, а также инструкции на случай отказа в публикации и для поддержки опубликованного приложения.
Kodika
Язык: английский
Платформы: iOS
Тариф: 30 евро в месяц, есть бесплатный тариф для тестирования.
Инструмент для создания iOS-приложений с помощью drag&drop. Самое приятное здесь — функция публикации в App Store, которая позволяет избежать самостоятельной загрузки. Поддерживает REST API.
Mobincube
Язык: русский (автоматический перевод).
Платформы: iOS, Android.
Тариф: бесплатный для приложений со встроенной рекламой от сервиса и месячной аудиторией до 2000 пользователей. Увеличить аудиторию, убрать лого сервиса и монетизировать приложение можно от 3 евро в месяц.
Единственный сервис в подборке, который позволяет создавать готовые пакеты под Android и App Store бесплатно. Конечно, есть ограничения: будет реклама от сервиса, а месячное число уникальных юзеров не должно превышать двух тысяч.
Откройте для себя чат-бота
Выстраивайте автоворонки продаж и отвечайте на вопросы пользователей с помощью чат-бота в Facebook, VK и Telegram.
AppsBuilder
Язык: английский.
Платформы: iOS, Android.
Тариф: 24 евро в месяц. Не бесплатного тарифа, есть небольшой триальный период.
Еще один drag&drop конструктор в нашей подборке. Приемлемый тариф по сравнению с конкурентами, но не очень современный интерфейс. Есть встроенные интеграции с соцсетями, технологией RSS, сервисами Facebook и Google, конструкторами форм и другими инструментами.
Apps Global
Язык: русский.
Платформы: iOS, Android.
Тариф: 9 долларов в месяц при ограниченном числе элементов в конструкторе. Полный доступ от 15 долларов. Есть тестовый период на 7 дней.
Конструктор, который позволяет не только создать приложение, но и управлять им и получать аналитические данные. Удобно, что сервис — не просто русифицированная калька зарубежного аналога. Здесь можно, например, подключить к приложению привычные платежные системы: «Сбербанк», «Яндекс», Qiwi.
Альтернатива мобильным приложениям — чат-бот
Вместо мобильного приложения можно использовать чат-бот в соцсети или мессенджере. Это хороший вариант, если пока нет ресурсов или желания разбираться с созданием приложений.
В чат-бот для бизнеса можно заложить много полезных функций — от онбординга до оплаты. Для пользователей это уже привычный инструмент, к тому же им не придется ничего устанавливать на телефон: все работает в привычных мессенджерах.
Вот три кейса по чат-ботам, которые решают реальные бизнес-задачи. Все сделаны в конструкторе чат-ботов SendPulse.
- Бот для участников онлайн-конференции. Выдавал программу, помогал связаться с организаторами, присылал напоминания и полезные материалы.
- Бот для болельщиков футбольного клуба. Разработан на бесплатном тарифе, а заменил целое приложение: здесь расписание игр, покупка билетов и мерча, информация об игроках и тренерах, а также специальный раздел, чтобы купить еду на стадионе во время матча.
- Бот для клиентов кафе «Цапа» в Чернигове. Здесь стандартный для кафе функционал полностью упакован в Facebook Messenger. Можно посмотреть меню, заказать доставку или столик, узнать адрес и оставить отзыв.
Мы собрали целый раздел с примерами чат-ботов. Там можно изучить функционал и протестировать каждого бота.
Боты, сделанные в SendPulse, легко масштабируется. Запустить можно малыша, в котором есть FAQ и ссылка на сайт, а потом превратить его в полноценный магазин с системой привлечения и удержания клиентов, связать его с CRM и email рассылками. Регистрируйтесь и создавайте до трех чат-ботов на бесплатном тарифе.
Создание приложений: что стоит запомнить
Чтобы создать мобильное приложение самостоятельно, необязательно быть разработчиком или нанимать специалистов. Нужно четко определить целевую аудиторию, задачи приложения и свои возможности, выбрать подходящий zero-code конструктор и следовать этапам разработки.
А для автоматизации вашего маркетинга регистрируйтесь в SendPulse. Мы объединили много инструментов, которые нужны бизнесу: рассылки по разным каналам, чат-боты в мессенджерах, конструктор лендингов и даже CRM систему.