Что такое порт прошивки андроид

Портирование ROM’ов GB/CM7/Stock на своё устройство

Данная статья, которая посвящена портированию прошивок на официально неподдерживаемые Android-девайсы будет полезна тем, кто желает обновить программное обеспечение своего «робота», но кому недостаточно «стандартного» набор официальных и кастомных прошивок.

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

Для портирования понадобятся такие программы, как Notepad++ (или любой другой качественный текстовый редактор), WinRar (или другая программа-архиватор), персональный компьютер (с операционной системой Windows или другой), а также хотя бы базовый уровень познаний в структуре операционной системы Android и здравый смысл (например, нет смысла портировать HDPI-ROM напрямую на MDPI и так далее).

Также потребуются два ROM`а – портируемый и CM7/GB/Stock в качестве базы для создаваемого порта. Вы также должны быть обознаны в том, на основе какой ревизии платформы ARM создан ваш девайс (ARMv5, ARMv6 или ARMv7), так как ROM-основа и ROM-порт обязательно должны быть под один и тот же тип процессора.

По факту, работа проводится с тремя основными папками – портируемым ROM’ом, из которого извлекаем всё необходимое; базовым ROM’ом – то есть, куда производит портирование, и где собираем уже новую версию ROM`а; резервными копиями, создаваемыми по ходу дела.

Для начала, создадим резервную копию из папки базового ROM, а именно файлов, которые находятся в директории /system/app:

stk.apk
vpnservices.apk
camera.apk
bluetooth.apk

Backup можно поместить куда душе угодно, даже на рабочий стол.

Удаляем нижеуказанные папки из базового ROM и заменяем их портируемым:

/data
/system/app
/system/framework
/system/fonts
/system/media

Не забываем скопировать из портируемого ROM в базовый библиотеку libandroid_runtime.so в папку /system/lib, поскольку без неё новый ROM с высокой долей вероятности не запустится вовсе. Впрочем, если при условии замены устройство уходит в циклический ребут, то есть безостановочно и безрезультатно перезагружается – стоит попробовать использовать libandroid_runtime.so из базового ROM’а.

Копируем файлы, резервные копии который создали, в базовый ROM. Далее, копируем все библиотеки и папки, находящиеся в system/lib базового ROM, в соответствующую директорию портируемого. Заменяем все файлы в случае совпадения имен. В базе удаляем директорию lib полностью, перемещаем такую же папку из портируемого в базовый ROM.

Переходим в папку /system/etc базового ROM`а, открываем папку init.d. Копируем всё её содержимое в такую же (/system/etc/init.d) директорию портируемого ROM`а. После чего удаляем папку в «базе». Копируем init.d в «базу» из «порта», в /system/etc.

Снова открываем директорию /system/etc базового ROM`а, где открываем папку permissions. Копируем всё её содержимое в такую же папку (/system/etc/permissions) портируемого ROM`а. Опять-таки, удаляем папку permissions в «базе», после чего из портируемого ROM`а копруем permissions в /system/etc базового ROM. Такие незамысловатые действия способны исправить проблемы с permission и gapps до их реального появления.

Открываем при помощи текстового редактора (рекомендуем использовать Notepad++) файл build.prop портируемого ROM и «базы». Размещаем два окна Notepad++ друг возле друга, и правим build.prop портируемого ROM в соответствии с базовым, так, чтобы они совпадали. Очень важно, чтобы параметры:

Читайте также:  Резать человека для андроид

В build.prop портируемого ROM`а были такими же, как в базового, иначе созданная прошивка не будет работать вовсе. Сохраняем build.prop и закрываем Notepad++, после чего копируем Build.prop из портируемого ROM в базовый.

Теперь необходимо подредактировать updater-script. Переходим в папку META-INFcomgoogleandroid базового ROM`а и открываем данный файл при помощи Notepad++. Так же открываем и updater-script и портируемого ROM`а. Располагаем два окошка Notepad++ рядом, и меняем updater-script «базы» для схожести с updater-script «порта». Настоятельно не рекомендуется менять symlinks. Просто нужно исправить или добавить всякие permissions, asserts, ui_prints, run_programs и устанавливаемое ядро прошивки. В updater-script «базы» тщательно сверяемся, чтобы Format values были установлены для нужной модели мобильного девайса. Перепроверяем, или выбрали нужное ядро. Если устройство не от того же производителя, от которого взято ядро, то обязательно нужно его распаковать, после чего поправить BOOTCLASSPATH в init.rc. BOOTCLASSPATH из «порта» копируем в базовый ROM, после чего снова упаковываем ядро.

Вот, в принципе, и всё. Финальная прошивка получилась в папке базового ROM. Также в неё можно добавить по вкусу разные приложения, патчи, скрипты и так далее.

Источник

Что такое порт прошивки андроид

Что такое 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

Источник

Что такое порт прошивки андроид

Разработка и портирование прошивок для устройств на 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 не работает, не включается

Читайте также:  Android включить mtp это

Кто проверял, как у Вас?
Образ прошивки на 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

Источник

Портирование прошивок 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 делается так. Удачи!

Источник

Оцените статью