Как я делал кастомное ОТА для PixelExperience, на 10 андроиде.
!Статья в стадии наполнения, будет дописываться, нужно описать много других нюансов и оформить скринами.
Итак если вы уже читали на сайте как сделать кастомное ота в, этой статье, значит вы уже будете понимать, что да как, но в 9 андроиде процесс создания был немного проще, сейчас же считаются другие хеш суммы архива и нужен их генератор.
Полный процесс с проверкой у меня занял пару вечеров и несколько экспериментов днем, но ОТА стала работать как на официальной PixelExperience.
Что же нам нужно для корректной работы ОТА:
- Свой домен и ssl сертификат или репозиторий на гитхаб.
- Немного смекалки и прямые руки
Процесс сильно облегчаю, так как влазить и переписывать все, что было вшито давно мне было в падлу.
И так начнем с самого начала, что же нужно было сделать, чтобы OTA (Обновление по воздуху) работала как надо:
- Это переделать немного приложение Updates, которое находится в самих исходниках PixelExperience по пути packages/apps/Updates.
- Решить где будет лежать и как сам файл .json
- Подшаманить генерацию другой ветки в build.prop, конфиги и другие мелочи, обособить Вашу ОТА, (Чтобы в вашу прошивку, с Вашей ОТА не приходили левые обновления с официальной)
- Подкинуть небольшой скрипт и дать ему права на выполнение, для генерации хеш сумм и дат в формате UTS.
- Объяснить процесс релиза прошивки и правки .json, создания ченджлога, загрузки архива на сервер.
Рассказываю, как это сделал я, ни на что не претендую, если есть варианты лучше, предлагайте, пишите, все только ЗА.
- Переделываем Updates, или зеркалим репозиторий к себе на гит и правим пару файлов.
Правим файлы:
res/layout/update_item_view.xmlВ этом файле для отображения прокрутки доступного ОТА, правим на примере:
tools:text="PixelExperience_device-9.0-20190324-0250-CAF-OFFICIAL.zip" />
на вот это:
tools:text="PixelExperience_device-9.0-20190324-0250-CAF-ROMODEL.RU-OFFICIAL.zip" />
res/values/colors.xml (по желанию)Тут я просто решил сделать отличие в цвете шрифта, так как черный в апдейтере если честно хреново смотрится.
Поменять:
<color name="theme_accent">#000000</color>
на
<color name="theme_accent">#373f52</color>
src/org/pixelexperience/ota/misc/Constants.javaНу и самое главное эти константы.
Поменять две строки:
static final String OTA_URL = "https://download.pixelexperience.org/ota_v3/%s/%s";
static final String DOWNLOAD_WEBPAGE_URL = "https://download.pixelexperience.org/changelog/%s/%s";
на эти строки:
static final String OTA_URL = "https://ota.romodel.ru/ota_v3/builds/lavender.json";
static final String DOWNLOAD_WEBPAGE_URL = "https://ota.romodel.ru/ota_v3/changelog/%s/%s.txt";
Немного описания OTA_URL ссылка на сам .json файлик с параметрами для обновлений.
Уточнение: я выбрал прямую ссылку, мне так удобнее, те кто будет собирать на несколько телефонов, с одним апдейтером используйте конструкцию:
OTA_URL = "https://ota.romodel.ru/ota_v3/builds/%s !При переадресации на сервере через .htaccess - в этом случае Ваш патченый апдейтер будет слать запрос по пути на ваш сервер или гит по названию девайса.
DOWNLOAD_WEBPAGE_URL, по этой же ссылке находится чейнджлог с описанием изменений.
Ну если вы поправили эти файлики, то просто шлите изменения в коммите на свой гит.
Переходим к серверной части.
Источник
Кастомное ОТА Updater ОТА обновление PixelExperience