Как портируют прошивки android
Разработка и портирование для устройств на платформе Spreadtrum SC7731
Сообщения, не относящиеся к теме обсуждения (оффтоп), удаляются без предупреждения.
Multi Image Kitchen — Программа распаковки и упаковки Android образов разделов (в том числе и распаковка super.img)
Флешеры для телефонов на процессоров Spreadtrum. Также могут распаковать PAC-файл (распакованное находится в папке *название флешера*/Bin/ImageFiles):
ResearchDownload 2.9.9005
Утилита для распаковки system.img – ImgExtractor
Утилита для распаковки recovery.img и boot.img – AndImgTool
В теме нет куратора. По вопросам наполнения шапки, обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.
Сообщение отредактировал derak1129 — 26.08.21, 11:22
Инструкция по портированию TWRP Recovery:
За инструкцию благодарим не меня, а Kaco1324 и n-bear
1. На ПК скачиваем утилиту AndImgTool, распаковываем в любую папку.
2. Скачиваем IMG-образ стокового recovery вашего телефона и IMG-образ TWRP от любого телефона на процессоре SC7731 и перемещаем в папку с утилитой AndImgTool. Чем больше схожи характеристики вашего телефона и донора, тем лучше. Критерии для донора
3. Переименуйте образ стокового recovery.img в stock.img и образ TWRP в twrp.img
4. Нажимаем на stock.img и не отпуская кнопку наводим на утилиту AndImgTool. Если всё сделали правильно, то появится папка stock_
Проделывайте тоже самое и с twrp.img
5. Удалите папки dtb и kernel в папке twrp_
Скопируйте папки dtb и kernel из папки stock_ в папку twrp_
6. Вернитесь на то место, где находится утилита AndImgTool. Нажмите на папку twrp_ и не отпуская кнопку наведите на утилиту AndImgTool.
7. Если всё сделали правильно, то появится файл twrp_new.img. Теперь осталось его протестировать на устройстве. Если TWRP запустился, то можно его пускать в общий доступ.
Сообщение отредактировал Artemka778 — 11.08.16, 09:51
1. Скачиваем Research/Upgrade/Factory Download (без разницы).
2. Открываем программу (.exe-файл в папке *название программы*/Bin/) не закрывая файловый менеджер
3. Нажимаем на первую кнопку слева. Выбираем .pac-файл и ждём.
4. Не закрывая программу, открываем окно файлового менеджера и переходим в *название программы*/Bin/ImageFiles/_DownloadFiles12345678/
Вместо 12345678 могут быть другие цифры
В этой папке и находится распакованный .pac-файл
Критерии для поиска донора:
Чем больше схожи характеристики у базы и у донора — тем лучше!
Диоганаль и разрешение экрана:
Неважно, однако может быть либо маленький интерфейс (лечится изменением значения DPI на тот, что в стоковой прошивке), либо отражение частей изображения.
Частота процессора:
Неважно, так как во всех телефонах с процессором SC7731 одинаковые 1,3 Ггц.
Внутр. и опер. память:
Должны быть одинаковы!
Сообщение отредактировал Artemka778 — 02.06.17, 10:20
Какой утилитой можно запаковать файлы в system.img обратно? android 5.1 файл system.img получается меньше по размеру чем должен быть
Сообщение отредактировал e2ome2o — 10.08.16, 13:44
Обновлённая инструкция по портированию прошивок
Благодарность:
- kirill240 — нашёл способ фикса камеры
- порталу Androidcribs — за мануал
- And_pda — за утилиту ImgExtractor
- jeka230788 — за скрипт установки прошивки
В отличии от той инструкции, что находится на androidcribs и переведена Kaco, этой можно добиться работающей камеры в готовой прошивке :foto:
Также вместо ext4extractor мы будем использовать ImgExtractor от AndPDA, который протестирован и хорошо работает.
В конце также расскажу, как сделать архив для прошивки через TWRP, исправить ошибки и баги и залить прошивку в общий доступ
- ПК
- Устр-во, на которое будете портировать прошивку, с установленным TWRP.
- Стоковая прошивка
- Прошивка, которую будете портировать
- Архиватор WinRAR
- Флешер Research, Upgrade или Factory Download
- Утилита ImgExtractor
- Скрипт установки прошивки через TWRP
1.1. Скачиваем Research/Upgrade/Factory Download (без разницы).
1.2. Открываем программу (.exe-файл в папке *название программы*/Bin/) не закрывая файловый менеджер
1.3. Нажимаем на первую кнопку слева. Выбираем .pac-файл и ждём.
1.4. Не закрывая программу, открываем окно файлового менеджера и переходим в *название программы*/Bin/ImageFiles/_DownloadFiles12345678/
Вместо 12345678 могут быть другие цифры
В этой папке и находится распакованный .pac-файл
2.1. Скачиваем утилиту ImgExtractor (ссылка находится в шапке).
2.2. Переносим system.img из папки распакованного .pac-файла в папку с утилитой ImgExtractor.
2.3. Нажмимаем ЛКМ на system.img и перенесите на файл ImgExtractor.exe
Скорость распаковки зависит из-за мощности компьютера. После распаковки появится папка system_ — это и есть распакованный system.img
Вот тут — сам процесс портирования.
Вам нужно перенести некоторые файлы и папки со стоковой прошивки в прошивку от другого телефона, чтобы её (прошивку) портировать на ваше.
Копируем из стоковой прошивки в прошивку донора в ту же директорию:
Зелёным обозначены папки
Красным — файлы
usr (всю папку, кроме папки keylayout)
4.1. Берём архив стоковой прошивки. Удаляем в нём всё, кроме boot.img
4.2. Скачиваем архив отсюда (какой — ваше дело). Распаковываем.
4.3. Кладём папку META-INF из архива в будущий архив для прошивки. Ничего не трогаем и нажимаем ОК.
4.4. Переименовываем папку system_ на system и кладём в архив. Сжатие выбираем «Максимальное».
Заливаем готовый архив на SD-карт, перезагружаем девайс в TWRP Recovery. Делаем полный бэкап, вайп во всех разделах (кроме SD-карты) и прошиваем прошивку.
В процессе или после прошивки могут быть ошибки и баги. К ним есть решения:
- Зависает на бутлого/бутанимации — попробуйте пере-выполнить инструкцию. Если не помогло, то прошивка не подходит и/или не соответствует критериям для донора
Если в списке нет других ошибок и багов, значит решений к ним пока нет. Если вы смогли убрать баг, отправьте мне сообщение в QMS скажите модератору через жалобу
Прямо на форум залить прошивку не получится. Но можно залить в облачное хранилище (Google Drive, Яндекс.Диск, Mega, Облако Mail и т.д.). В какое — ваше дело.
Чтобы залить прошивку в облако, достаточно нажать и удерживать ЛКМ на zip-архив и перетащить в окно облачного хранилища.
После заливки предоставляем доступ к архиву по ссылке. Копируем ссылку.
Заходим на 4pda.ru/forum и нажимаем на кнопку «Поиск». Ставим галочку на «Результаты в виде тем» и грамотно пишем название устр-ва (например, Fly FS502). Если нашлась тема «название вашего устройства — Прошивки», заходим в неё. Если нету, заходим в «название вашего устройства — Обсуждение»
Пишем пост с названием прошивки, описанием, скришотами, списком багов прошивки и самой ссылкой на прошивку.
Если хотите, чтобы в шапке (первом посте) была ссылка на пост с прошивкой, то нажимаете на кнопку «Жалоба» на посте с вашей прошивкой и пишите, чтобы подняли в шапку.
Сообщение отредактировал Artemka778 — 29.03.17, 14:46
Источник
Как портируют прошивки android
Что такое ADB и с чем его едят?
Если все готово то давайте начнём:
Если что то не понятно то спрашивайте, не стесняётесь, если не сможете найти сами ошибку в логе то кидайте его сюда попробуем вместе разобрать.
Сообщение отредактировал domnesu — 14.08.15, 20:54
что нужно править вот логlog.txt ( 15.55 КБ )
Ошибку нашёл, но где искать не пойму
декомпилируйте framework.jar и там по пути com/android найдёте файл PhoneApp.smali фот его правьте
просто из интереса 🙂 не работает дайлер или не запускается прошивка ?
Добавлено 21.04.2014, 22:06:
VaDiK XD,
BOOTCLASH 🙂 здесь не надо править не парься
он правиться только когда портируется другая версия андроида или когда портируется циан
Прошивка запустилась, но постоянно высвечивается ошибка и она мешает посмотреть функции
Я разобрал framework.jar прошёл по пути com/android/phone/PhoneApp , но там нету такого файла
Сообщение отредактировал FatuRe — 22.04.14, 11:01
neur0n7,
будут проблемы пиши сюда 🙂 разберёмся вместе
Добавлено 23.04.2014, 23:50:
neur0n7,
в MIUI анимация загрузки не очень то подвижна, возможно что прошивка готова но первый запуск занимает больше времени чем остальные так как при первом запуске создаётся dalwik cache(создаются odex файл)
Сообщение отредактировал neur0n7 — 24.04.14, 07:11
domnesu,
6 версия. Я придурок-вайпы делал(
Сообщение отредактировал neur0n7 — 24.04.14, 10:43
Если у вас не nexus — можете и не пытаться.
Все прошивки miui на 4.4, что есть в доступе — это порты с nexus 7 на другие nexus устройства.
Прошивка с интерфейсом запилинным под таблетки.
На базе cm прошивка не стартанет 100%, если вы имеете чистейший aosp, с минимум изменений, то можно еще попробовать, но вероятность очень мала.
Есть единственная miui на 4.4 с интерфейсом для телефонов — прошивка от mi3, но она еще в закрытом доступе и вам ее никто не даст, да и ее завести на другом аппарате крайне сложно (я смотрел эту прошивку и видел как она собрана).
Ждите когда xiaomi выложат репозитарии.
Сообщение отредактировал narkoman88 — 24.04.14, 10:20
Источник
Портирование прошивок Android
Тема, как портировать прошивку Android, довольно избитая, но не теряет актуальности. Наоборот, всё больше людей начинают ею интересоваться. В этой статье мы рассмотрим только портирование устройств с одинаковыми ядрами. Если вы хотите себе суперинтересную прошивку, то самое время начинать разбираться с «кухней» этого процесса.
Пошаговая инструкция
- компьютер с любой ОС;
- WinRAR или подобный архиватор;
- Notepad++;
- два ROMа: портируемый (далее PROM – из которого будем брать «цацки») и базовый (далее BROM – на котором будем собирать).
*BROM – как правило, родная прошивка.
**Так как здесь будет рассмотрено ARM устройство, сперва нужно узнать, какой у вас процессор.
Действие первое
Cоздайте backup из директории system/app в любую папку на десктопе. Копируя файлы, вы поймёте, в чём дело, ведь если приступили к портированию, значит, наверное, не раз прошивали свой MID.
Действие второе
Удалите приведённые на картинке директории из BROM и, соответственно, вставьте вместо них папки из PROM.
Действие третье
Теперь файлы из первого действия забрасываем обратно в BROM.
Действие четвёртое
Заходим в папку system/lib BROM и копируем с заменой все библиотеки в соответственное хранилище PROM (не удивляйтесь, так проще). То же самое проделываем по путям /system/etc/init.d и /system/etc/permissions. Три вышеуказанные директории теперь можно уничтожить (в BROM), а на их место скопировать всё из PROM.
Важно: откройте файлы build.prop в обеих ROM-ах через Notepad++. Этот усовершенствованный блокнот хорошо показывает табы. Последние должны быть один напротив другого, а запись ro.build.description= должна абсолютно совпадать, иначе прошить устройство у вас не получится вовсе. Если запись не такая, проредактируйте её. То же самое проделайте с updater-script, находящийся по пути META-INFcomgoogleandroid. Естественно, запись должна быть идентична с записью PROMа.
Очень важно: совершенно нельзя менять symlinks. Вы можете изменить или исправить, то ли добавить ui_prints, run_programs, asserts и, конечно, ядро.
Самое важное: в Updater-script BROM Format values должны быть для вашего устройства. Иногда нужно исправить в init.rc BOOTCLASSPATH или просто скопировать его из RBOOT. Потом, естественно, перепаковать ядро.
Ну, всё! Портирование прошивок Android на базе ARM делается так. Удачи!
Источник
Как портируют прошивки android
Разработка и портирование прошивок для устройств на SOC Amlogic
Устройство или ОС, прошивка: Android OS
Полезная информация о портирование и разработке прошивок, обсуждение различных нюансов.
Multi IMG Tools — Программа для работы с прошивкой
В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.
Сообщение отредактировал derak1129 — 10.07.21, 12:35
Если кому интересно собрал Android 9.0 из исходников от khadas https://github.com/khadas/
Работает:
Включение с пульта
Кнопки пульта работают в системе
Bluetooth
Wifi
Ethernet
Воспроизведение видео
Известные проблемы:
Мерцание при использовании курсора
Пишите что еще
2020-06-27
Обновлен код hwcomposer — исправлены проблемы с черным экраном при смене настроек экрана и при выходе из воспроизведения видео
update_khadas_pie_9377_20200627.img
Это первая прошивка на android 9.0 для устройств на базе S912. Прошивка treble, так что возможна установка gsi ромов в раздел system.
Сообщение отредактировал HighwayStar — 29.06.20, 06:36
Сообщение отредактировал 11asd11 — 05.07.20, 23:19
А вот такой WI-FI+Bluetooth получится прикрутить? AP6630wifi.7z ( 156.49 КБ )
Сообщение отредактировал iCr — 07.07.20, 12:15
Еще вопрос, а в этой сборке поддержка композитного AV-выхода будет?
HighwayStar,
Фактически 3Гб. ОЗУ.
И можно добавить поддержку гигабитных лан?
Доделал u-boot для того чтоб им можно было загружать прошивки на 9 андроиде на устрйоствах с LPDDR3. Пришлось откатить некоторые хаки добавленные khadas и добавить тайминги памяти из ветки android 7.1. Вот исходный код u-boot для android 9.0 для устройств с LPDDR3 https://github.com/Amlogic-Lineage/u-boot/commits/khadas-vims-pie_lpddr
Код u-boot для LPDDR3 не умеет правильно определять размер установленной памяти, поэтому готовые прошивки собраны только для варианта 3 Гб, вроде бы с LPDDR3 таких боксов больше. Ссылки на сборки добавил в исходный пост TAP pro [Android] (Пост HighwayStar #97984308)
LPDDR3 chl: Rank0+1 @ 912MHz
bist_test rank: 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 730 rank: 1 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 730 — PASS
Сообщение отредактировал Brahner — 10.07.20, 08:40
Добавил сборки для DDR3/DDR4 с поддержкой автовыбора 1/2/3 Gb памяти. TAP pro [Android] (Пост HighwayStar #97984308)
Для DDR3 немного снижена частота, так как некоторые 3Gb боксы используют более дешевую память и не запускаются на 912Mhz
Davietpda выложил бету прошивки под 912-й.
Запустил прошивку Davietpda на 3/32 lpddr3(tx9pro). Загрузчик брал из toxtarparavos.
+ Мерцания в сборке Davietpda нет
+ Одновременно работают пульты от h96pro plus и от ветки tx92(z6, z6 plus, tx9pro и тд.). Как в андройде, так и включение коробки
+ WiFi(qc9377 ) и 1000 ethernet работают
— Но у меня не работает один из usb портов на моей плате
— bluetooth не работает, не включается
Кто проверял, как у Вас?
Образ прошивки на mega
Отдельно архив с загрузчиками lpddr3 из образ toxtarparavos: Менять нужно все. DDR.USB и UBOOT.USB нужны в момент прошивки. bootloader.partition прошивается в пзу и загружает коробку.bootloader_LPDDR3_Android_9.zip ( 1.58 МБ )
Сообщение отредактировал Brahner — 13.07.20, 14:24
alexesgg,
Поставил на h96pro+ 3/32
Проводная сеть воркает, вайфай тоже.
Бт вроде как нет.
Вообщем то очень неплохо.
Правда видит только 2гб памяти..
Сообщение отредактировал xam1988 — 11.07.20, 01:37
Скорее всего, проблема в загрузчике, который я использовал от toxtarparavos, не совсем подходит к tx92-LP.
Записал лог, проверял порты проводной мышкой.putty.txt ( 185.09 КБ )
У Davietpda появилась образ для LPDDR3. На этой прошивке, оба usb работают. :scratch_one-s_head:
Сообщение отредактировал Brahner — 11.07.20, 16:27
Источник