Руководства, Инструкции, Бланки

инструкция по портированию прошивок img-1

инструкция по портированию прошивок

Категория: Инструкции

Описание

Как портировать прошивку android?

Как портировать прошивку android?

Какпортироватьпрошивкуandroid. Это интересует многих, ведь если сделать портирование прошивки андроид. то можно расширить возможности телефона. Для того, чтобы портировать прошивку необходимо понимать о какой платформе идет речь. К примеру, рассмотрим как портировать прошивку андроид с платформой ARM .

Что нужно для портирования прошивки.

  • текстовый редактор, к примеру Notepad
  • архиватор. Берем WinRar
  • компьютер и целых ROM`а, обязательное условие - они должны быть с одинаковыми ядрами.

Как портировать прошивку

  • нам нужно на компьютере создать папку backup, для чего мы копирует с директории system/app нужные нам файлы, у которых ark расширение - Camera, Stk, Vpnservices, Bluetooth.

  • теперь на телефоне или планшете (условное название BROM) мы удаляем эти файлы, а на их место ставим из источника PROM, копируем не все, а только такие директории:
  • вторая - /system/app.
  • третья - /system/framework.
  • четвертая ' /system/fonts.
  • и наконец, последнее, что мы копируем - /system/media.

Отдельное внимание уделяем копированию на базовый ROM в папку /system/lib перемещаемую библиотеку libandroid_runtime.so. Теперь в телефон перемнщаем удаленные ранее файлы.

Переходим к работе с Notepad:

на двух ROM`ах открываем build.prop

сверяем, чтобы было одинаково - ro.build.description

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

Другие статьи

Портирование наиболее популярных кастомных и стоковых прошивок

Портирование 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 «базы» тщательно сверяемся, чтобы Formatvalues были установлены для нужной модели мобильного девайса. Перепроверяем, или выбрали нужное ядро. Если устройство не от того же производителя, от которого взято ядро, то обязательно нужно его распаковать, после чего поправить BOOTCLASSPATH в init.rc. BOOTCLASSPATH из «порта» копируем в базовый ROM, после чего снова упаковываем ядро.

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

Инструкция по портированию

Что такое ADB и с чем его едят?

ADB (Android Debug Bridge)если понимайте английский хоть немного то вы поняли что это мост для отладки андроида
это одна из частей SDK, и для использования ADB нам нужно будет скачать весь SDK скачать его можно скачать по этой ссылке http://developer.android.com/sdk/index.html
итак. вы скачали этот архив, наверное попробовали посмотреть что внутри :) но уву 75% ничего не поняли
давайте теперь разберёмся:
распакуйте содержимое архива(куда вам угодно)
теперь нужно добавить переменную, к этой папке
для начала запустите меню ПУСК-далее сделайте правый клик по "Компьютер "


у вас сейчас открылось окошко где вы видите информацию о вашем компьютере, в левой части экрана есть ещё несколько "вкладок" нажмите на "Дополнительные параметры" системы там вы увидите вот такое

находим в этом списке переменную "Path" всплывёт очередное окно :D там через ";"(точку с запятой) добавим путь до папки platform-tools( она должна находиться примерно в таком месте "adt-bundle-windows-x86_64-20131030\sdk\platform-tools")
добавили сохранили и все у вас есть adb для того чтобы проверить так ли это, запуститеМеню "Пуск" и введите в поиск CMD нажимаем enter и все у вас открылась командная строка от имени администратора вводим "adb"(без кавычек) если видите много текста то все готово

Если все готово то давайте начнём:


Для того чтобы увидеть Инструкцию авторизуйтесь или зарегистрируйтесь.

по данной инструкции Нельзя портировать CyanogenMod. Но его можно собрать из исходников по Данной Инструкции

Данная инструкция это просто адаптация инструкции по Портированию MIUI с целью сделать более универсальной

Если что то не понятно то спрашивайте, не стесняётесь, если не сможете найти сами ошибку в логе то кидайте его сюда попробуем вместе разобрать.

Все предложение по добавлению информации в шапку темы или улучшению шапки пишите в QMS :) буду благодарен

Сообщение отредактировал domnesu - 14.08.15, 20:54

Причина редактирования: MIUI & LEWA & Опрос

Портирование прошивок на наш зверёк

Портирование прошивок на наш зверёк

Известны характеристики 4,6-дюймового флагмана Xiaomi
  • Asus представила видео к Zennovation на CES 2017
  • HTC намекает на новый анонс после CES
  • «ВКонтакте» выпустила конкурента Periscope
  • Micromax Q480 — хорошо и недорого
  • Характеристики Nokia Z2 Plus раскрыты бенчмарком
  • Meizu Pro 6 Plus: цена и старт предзаказов в России
  • Представлен узкорамочный флагман ZUK Edge
  • LeEco предлагает два флагмана по цене одного и раздает подарки
  • Возможности камеры Huawei Mate 9: герой в ночи
  • Обзор ZTE Nubia Z11 – за рамки не выйти
  • Флагман Nokia P будет конкурировать с Galaxy S8

  • Basiya ► ZiminY Здравствуйте. У меня проблема с Samsung Galaxy A3. Внезапно выключился и не может до конца включиться. Появляется только надпись Samsung Galaxy A3 и так постоянно. Перепробовала уже всё,нажимала все кнопки. Пробовала удерживать кнопки "выкл". "Домой" и "+". Появились какие-то надписи. Не подскажете, что делать дальше, боюсь что-нибудь не то нажать. Помогите пожалуйста, как можно включить его до конца.

  • Velaskes228 ► Miha2e мне нужна ваша помощь. у меня htc sensation xe. планирую брать батарейку анкер1900, ибо родная умирает и телефон не держит толком заряд. читаю про подделки и прочее, опасаюсь зря потраченых денег на фэйк, подскажите где её можно заказать, я с Украины. есть одна батарейка анкер1900 на сайте OLX, опасаюсь. хочется совета знатока)и батарейка эта белого цвета тоненькие полосочки сверху и снизу чёрного цвета

  • Портирование прошивок 4pda

    Портирование прошивок 4pda

    Портирование прошивок с утройства на устройство с процессором MT657x Нужное и полезное Нельзя портировать прошивки, например с MT6575 на MT6577. И базовая, и стоковая прошивка должны быть для Портирование прошивок с утройства на устройство с процессором MT657x Нужное и полезное Нельзя портировать прошивки, например с MT6575 на MT6577. И базовая, и стоковая прошивка должны быть для одного процессора. Обе прошивки должны быть одной версии ОС Перелопатив кучу сайтов и форумов в поисках нормальной инструкции по портированию прошивок с MT6577 на MT6577, нашел одну очень краткую и рабочую инструкцию. По ней у меня самого получилось потировать прошивку с одного устройства на другое. По другим инструкция при загрузке прошивка висла на логотипе. Инструкцию написал пользователь back37 с форума http://forum.china-iphone.ru. Вот тема. откуда я взял инструкцию. В ней вы найдете очень много полезной информации, нужной не только для процессоров MediaTek, но и для других. Создал тему на 4PDA, чтобы инструкцию было легче найти (лично я очень долго искал). Инструкцию немного перефразировал, но суть та же. Собственно сама инструкция: Берем рабочую прошивку для своего устройства ( БАЗА ); Берем портируемую прошивку для CWM ( ПОРТ ). В ПОРТ c заменой скидываем папки из БАЗЫ. /system/vendor /system/lib/hw /system/lib/modules и файлы /system/etc/vold.fstab /system/etc/vold.fstab.nand system/usr/keylayout/generic.kl boot.img Идем в META-INF/com/google/android ПОРТА. открываем updater-script. Если есть строки: assert(getprop("ro.product.device") == "Смартфон" || getprop("ro.product.board") == "Смартфон" || assert(package_extract_file("boot.img", "/tmp/boot.img"), write_raw_image("/tmp/boot.img", "bootimg"), delete("/tmp/boot.img")); дописываем их в конец скрипта. Прошивка получится в папке ПОРТА. Теперь все это нужно запаковать с обычным сжатием в zip (Если вы распаковывали). И обязательно подписать. Прошиваем. Если висит на лого больше 10 минут, уже не загрузится. Надо править boot.img, а именно распаковать оба бута и скинуть папку rmdisk из ПОРТА в БАЗУ с заменой. Распаковать/Запаковать boot.img можно этой программой. Получившийся бут (если название new_image.img, переименуйте на boot.img) засунуть в архив с прошивкой и опять подписать. Если в вашей прошивке после портирования что-то не работает, не факт, что после манипуляций, приведенных ниже, это заработает. Но попробовать стоит :yes2. Здесь написано, какие бинарники и либы отвечают за работу разных модулей(GPS, Bluetooth, Wi-Fi, радио и т.д.) Попробуйте позаменять их тоже. Не работает GSM, 3G - меняем папку /system/etc/firmware Не работает Wi-Fi - меняем файлы /system/bin/p2p_supplicant ; /system/bin/wpa_supplicant Не работает камера - меняем /system/lib/libcameracustom.so Проблемы со звуком - меняем /system/lib/libaudiosetting.so Не работает радио - заменяем system/lib/libaudiosetting.so и libfmcust.so Слышны хрипы/звуковые артефакты заменяем system/lib/soundfx Не работают аппаратные клавиши меняем папку system/usr/keylayout * Решение некоторых проблем (дополнение) Не ловит связь-с папки system/etc/firmware вытаскиваем modem.img,если после этого не сеть все же не работает то берем с папки system/lib/modules файлы ccci.ko. ccci_plat.ko Проблема с клавишей домой,не работает как задумано-с папки system/usr/keylayout берем файл Generic.kl и mtk-tpd.kl Не работает wi fi-с папки system/lib/modules/ берем эти файлы mtk_stp_wmt.ko и mtk_wmt_wifi.ko ,затем идем в META-INF/com/google/android/updater-script ищем симлинк symlink(“/system/lib/modules/wlan_mt6620.ko и меняем значение на 6628 если у вас такой чип,если не знаете какой у вас чип,идем в базу и в build.prop ищем в строке wlan Если проблемы с bluetooth то с папки берем файл system/lib/modules/mtk_stp_bt.ko если не работает то меняем эти два файла system/lib/libbluetooth_mtk.so system/lib/libbluetoothem_mtk.so Не работает радио - меняем system/lib/modules/mtk_fm_priv.ko и system/lib/modules/mtk_fm_drv.ko. если не работает, то меняем эти файлы system/lib/libfmar1000.so system/lib/libfmcust.so system/lib/libfmjni.so system/lib/libfmmt6616.so system/lib/libfmmt6620.so system/lib/libfmmt6626.so system/lib/libfmmt6628.so Если все же не работает меняем FMradio.apk Не работает камера-с папки system/lib/hw/ меняем этот файл camera.default.so,если не помогает,то с папки system/lib меняем: - libcamalgo.so libcamera_client.so libcameracustom.so libcameraprofile.so libcameraservice.so не работает видеозапись меняем эти файлы libmhal и libMTKOmx в папке system/lib Проблема с GPS- меняем эти файлы system/xbin/libmnlp и mnld Черный экран,медленная анимация,медленный автоповорот-меняем этот файл hwcomposer.mt6577.so в папке system/lib/hw - замечание от Andrey567 Не работает компас, датчик приближения или что-то из этой оперы, меняем system/lib/hw/sensors.default.so Сообщение отредактировал dns-25 - 20.10.2015, 19:32 accept_for_all @ 11.3.2013, 12:39 А если камни одинаковые, но экраны разные, то всё, без вариантов? Разные разрешения экранов? Портировать можно, думаю изображение подстроится, но если в apk и фреймворке нет файлов под разрешения экрана вашего смартфона не прокатит. Прошивку от 320*480 на 480*800 прикрутить правильно без дополнительного редактирования невозможно. Если с 1280*720 или 960*540 на 480*800 портировать - может получиться. Я так уже 2 прошивки портировал, обе были на весь экран. Так что пробуйте. Интересует как раз переход с меньшего на бОльший. А какие арk и фреймворк нужно ковырять? accept_for_all @ 11.3.2013, 20:32 Интересует как раз переход с меньшего на бОльший. А какие арk и фреймворк нужно ковырять? С какого разрешения на какое? Apk не знаю какие ковырять, но думаю, если изменить плотность пикселей в build.prop, то прокатит. Во всяком случае нужно сначала попробовать, а потом, если не заработает как надо, думать. 960х540 => 1280x720 В build.pop ни малейшего упоминания на ppi, если вы это имели ввиду. За это отвечает параметр ro.sf.lcd_density(которого опять же нет)? accept_for_all @ 12.03.2013, 10:44 960х540 => 1280x720 В build.pop ни малейшего упоминания на ppi, если вы это имели ввиду. За это отвечает параметр ro.sf.lcd_density(которого опять же нет)? Попробуй портировать так. Если не запустится или будет криво, будем думать. Это на будущее. Сейчас с Jelly Bean влом заморачиваться, вот выйдет 4.2, там покурим =) товарищи дрова на экран где лежат? system/lib/hw где то тут? Добавлено 14.03.2013, 09:28: сделал все как написано, прошивка от аппатрата с большим разрешением экрана, железо остальное идентичное, экран черный. почему. Вы брали uboot от своей прошивки? В нем дрова прописаны. Папку vendor меняли. Лучше использовать прошивку от такого же разрешения экрана.

    436-66-12
    415-15-26
    435-25-09
    435-25-39

    г. Нижний Новгород, ул. Б. Печерская, 26, 7 этаж
    тел. (831) 436-66-12, 435-25-39
    тел/факс: 435-25-37, 435-25-39
    E-mail: neomed@list.ru