Как я портировал прошивки для смартфона с процессором Spreadtrum SC7731G

Информация о способе портирования прошивки для смартфона с процессором Spreadtrum SC7731G на примере ZTE Blade AF3

ПРЕДУПРЕЖДЕНИЕ: ПРОЦЕСС ПОРТИРОВАНИЯ ПРОШИВОК МОЖЕТ ЗАКОНЧИТСЯ ДЛЯ ВАШЕГО ТЕЛЕФОНА КРАЙНЕ ПЛАЧЕВНО. ВСЁ ЧТО ВЫ БУДЕТЕ ДЕЛАТЬ – ТОЛЬКО НА СВОЙ СТРАХ И РИСК…

Мне, чтобы собрать первую прошивку для смартфона Blade AF3 потребовалось около двух месяцев. Но по-большому счёту, всё оказалось проще,  чем я думал. Желающим, прочитав эту страницу будет несомненно легче….

Информация к сведению: Прошивку можно собрать в формате .PAC для прошивки через компьютер с помощью ResearchDownload или в виде zip-файла для установки через CWM-TWRP Рекавери.

На этой странице я опишу как собрать прошивку Андроид 4.4.2 в формате .PAC для установки на телефон через компьютер.

Что желательно знать.

1. Уметь прошивать телефон прошивкой в формате .PAC, что поможет в конечном итоге и при распаковке прошивки в  формате .PAC для её предварительного редактирования. Как это делается можно посмотреть на этой странице – Немного информации о прошивке на смартфоне ZTE Blade AF3
2. Уметь разбирать главный файл прошивки system.img и в определённых случаях его собрать.
3. Не будет лишним уметь разбирать (а так же изменять и собирать) файлы прошивки boot.img и recovery.img.
4. Не будет лишним уметь редактировать-декомпилировать-компилировать приложения в формате .apk.

Используемые программы

1. Для прошивки (распаковки прошивки) использовал сначала программу ResearchDownload_R2.9.9005, с появлением Андроид 5.0 – RESEARCHDOWNLOAD_R2.9.9016.
2. Для разборки system.img (4.4.2-5.1) использовал RKwinToolsMod_v2_8. Собирал тоже этой прогой, но начиная с Андроид 5.0 – собрать рабочий system.img не получилось.
3. Файлы прошивки boot.img и recovery.img разбирал и собирал с помощью Android Image Kitchen.
4. Для сборки прошивки в виде zip-а для CWM использовал обыкновенный WinRAR, а также текстовый редактор Notepad++.
5. Для декомпиляции файлов  .apk использовал в основном ApkTools200b9m, что не всегда помогало. Вообще работа с .apk имеет специфические тонкости которые я до конца так ещё и не постиг..

Портирование прошивок в формате .PAC

ИНФОРМАЦИЯ НА ДАННОЙ СТРАНИЦЕ РАССЧИТАНА НА ЛЮДЕЙ ЗНАКОМЫХ НЕ ПО НАСЛЫШКЕ С СИСТЕМОЙ АНДРОИДОМ И ПОЭТОМУ ЭЛЕМЕНТОВ “РАЗЖЁВЫВАНИЯ” МАТЕРИАЛА НЕ БУДЕТ.

Основным критерием в выборе донора должно быть сходство процессоров и Андроидов – если телефон с 4.4.2, то и донор тоже должен быть 4.4.2. Крайне желательно (но не критично) чтобы и по “железу” устройства были максимально схожи.

Для начала надо скачать прошивку от донора. Такие есть на сайте http://www.needrom.com/. Для телефонов с процессором SC7731ЗДЕСЬ. В описании прошивки обычно указывается кое-какая информация о данном ПО и выглядит примерно так – Official ROM Colors X14 version: FS031M02_Z10_WK_K548_T20_FWVGA_V01_64X4_BT_FM_WIFI_GPS_ACC_PLS_2SIM_20150803_1739 – scx35_sp7731gea_fs031_project-user 4.4.2 KOT49H, где обращаем на выделенные мною красным цветом буквы и цифры. Если посмотреть в build.prop телефона Blade AF3, то такие строки тоже найдутся. И хоть это не обязательное правило, но чем более похоже ПО, тем легче может пойти процесс портирования.

Скаченную прошивку распаковать и запустить ResearchDownload_R2.9.9005, выбрать распакованный из архива PAC-файл. Перейти по пути C:\Users\User-Name\AppData\Local\Temp\_DownloadFiles****** – где в последнем каталоге и будет находится прошивка в более привычном виде.

Если использовать RESEARCHDOWNLOAD_R2.9.9016 – то путь к распакованной прошивке будет выглядеть примерно так (зависит от того в каком каталоге находится данная программа) – E:\Downloads\RESEARCHDOWNLOAD_R2.9.9016\Bin\ImageFiles\_DownloadFiles****** .

Для дальнейших действий копирую файлы – boot.img, kernel_logo.bmp(1), boot_logo.bmp (могут называться по другому), recovery.img, system.img и SC77xx.xml (может также называться по другому, но имеет расширение .xml) в отдельную папку с названием телефона данной прошивки.

Первым делом надо посмотреть файл SC77xx.xml, чтобы определить установленную разметку данной прошивки.

Она бывает в основном двух видов – первый вариант применяется на телефоне Blade AF3. При портировании второго варианта донора будут проблемы с отображением памяти, но чаще всего это можно решить путём дополнительных действий… но не всегда…

Также надо обращать внимание на размер файла system.img. Желательно чтобы он не должен превышать размер этого же файла стоковой прошивки (Для стокового Blade AF3 – 1187840 Кб). Или придётся вносить изменения в файл SC77xx.xml.

Далее открываю  стоковую прошивку от Blade AF3 в ResearchDownload и захожу в настройки программы (кнопка с двумя шестерёнками), где снимаю все галочки (останутся только на первых двух строчках). Далее устанавливаю галочку напротив system  и нажимаю на данную строку правой кнопкой мышки – откроется окно выбора файла, где надо выбрать system из прошивки-донора.

Далее надо прошить этот файл. Когда процесс закончится – нажать кнопку Stop (в виде квадратика), отсоединить телефон от компьютера, извлечь и вставить обратно аккумулятор и включить  телефон… если прошивки от похожих телефонов – есть большая вероятность, что система загрузится… Если нет – всегда есть возможность восстановить исходное состояние телефона, прошив обратно system из стоковой прошивки (такую прошивку можно попробовать запустить сделав в виде ZIP-а с установкой через CWM-TWRP Рекавери. В таком варианте проще вносить и проверять изменения в системе).

Если система запустилась, то одна из наиболее встречающихся неполадок – это неработающие камеры. Также возможно не работает поворот экрана. Данные проблемы часто  решает простая замена следующих нескольких либов из стоковой прошивки в папку /system/lib/hw. По камере – camera.sc8830.so и camera2.sc8830.so, по экрану – sensors.sc8830.so. В тяжёлых случая надо попробовать менять либы относящиеся к камере в папке /system/lib. Правда в некоторых случаях после такой замены система не запускается.

Если у донора разметка отличается от стоковой, то при запуске обнаружится что нет sd-карты, а возможно и не отображается внутренняя память. В этом случае иногда помогает небольшое редактирование файла framework-res.apk из папку /system/framework. Для этого нужно скопировать эти оба файла из прошивок стоковой и донора. Открыть стоковый framework-res.apk обыкновенным WinRAR-ом и извлечь из него файл – storage_list.xml, находящийся по такому пути – framework-res/res/xml. Далее открыть framework-res.apk донора и заменить в нём storage_list.xml файлом извлечённым из стокового. Теперь осталось его только как-то заменить в прошивке, что возможно сделать через TWRP-Рекавери встроенным файловым менеджером, предварительно поместив изменённый (и копию не изменённого на всякий случай)  framework-res.apk на sd-карту. И запустить систему… иногда вариант редактирования с помощью storage_list.xml от стоковой прошивки не проходит и я добавлял от другой прошивки, где с память было нормально сразу. По идее надо разбирать (декомпелировать)  framework-res.apk, но здесь возникает много сложностей для описания которых потребуется большая страница.

Статьи по теме:

69 мысли о “Как я портировал прошивки для смартфона с процессором Spreadtrum SC7731G

  1. Здравствуйте. Я пытаюсь портировать на свой телефон прошивки с других телефонов, если пытаться прошить отдельно system, то researchDownload ругается на разметку. Пробовал изменить значение (стоит на стоке) на (стоит на портируемой прошивке) не помогает, если прошивать полностью портируемую прошивку, то по экрану идут полосы и ничего не видно.(Сама прошивка запускается,(можно прибавить/убавить громкость на телефоне, слышен звук, телефон нормально определяется компьютером+полосы на экране различных оттенков, можно понять что там)) но не работает сенсор, не видно практически ничего на дисплее). Пытался прошивать прошивки с андроид 5.1, 6. (у меня на телефоне андроид 5). Так же недавно в теме моего телефона на 4pda один пользователь пытался портировать twrp рекавери, у него вроде бы получилось, но только с переразметкой телефона (он увеличил образ рекавери с 12 до 14 мб). Запаковал это все в .pac со стоковой прошивкой. После прошивки у всех на экране точно такие же полосы и ничего не видно. Так вот, подскажите пожалуйста, как правильно переразметить память, и из-за чего может возникать проблема с дисплеем, и как ее можно исправить?


    1. * Пробовал изменить значение Partition id=”system” size=”1200″ (стоит на стоке) на Partition id=”system” size=”2050″ (стоит на портируемой прошивке). И еще, в одной теме вы писали, что уменьшили размер system.img. Как вы это сделали?


    2. Здравствуйте…
      1.я уже писал что при изменении размера system в *.xml надо чтобы файл system.img был не больше этого размера…
      2. С полосами тоже встречался на своём телефоне и победить такую ситуацию я пока не мог… это что-то на уровне ядра… приходилось отказываться от этого ядра…
      3. Для рекавери я также увеличивал размер блока с 12 до 14 или 16… чтобы не было полос – надо использовать другое ядро… другого способа я пока не нашёл…
      4. Для уменьшения большого файла system.img (для прошивки в формате .PAC) применял довольно трудоёмкий способ (нужно twrp-рекавери)…
      а) надо прошить любой файл system.img подходящий по размеру в нужную прошивку…
      б) большой файл system.img распаковываю с помощью RKwinToolsMod_v2_8, удаляю всё лишнее,
      в) на основе большого файла system.img делаю прошивку в формате .zip и прошиваю с помощью twrp-рекавери на телефон…
      г) запускаю систему, получаю Рут, устанавливаю Терминал и с его помощью копирую раздел system на sd-карту как system.img… этот файл в конечном итоге вставляю в прошивку .PAC… немножко геморойно но зато получается как надо… :)


      1. Спасибо за ответ, размер system 1855mb, в разметке стоит 2050, ставил точно такой же размер в стоковом файле с разметкой, не прошивается. Почему так? И еще, замена zImage в ядре не поможет? Просто на андроид 5, 5.1, 6 – версия ядра 3.10, по идее должно работать и со старым ядром


      2. Лично у меня с изменением разметки проблем не бывало… самое главное – правильно указать реальный размер system… можно system.img сделать меньше или в разметке поставить несколько больше… ведь на компьютере размер system.img указан в Кб (килобайтах), а в разметке – в Мб (мегабайтах)… надо не забывать что в одном Мб находится 1024 Кб
        А так проблема бывает из-за userdata.img, который может быть больше чем требуется потому что прошивка предназначена для телефона с большой памятью… но тогда ошибка происходит в самом конце прошивки…

        Версии одинаковые на андроид 5.1 и 6.0 — 3.10.65, на 5.0 – 3.10.64 и это ядро не поддерживает модули в буте…
        А так по идее ядро 6.0 должно бы работать на Андроид 5.1 (и наоборот), но по факту мои попытки это сделать также не увенчались успехом… может дело в рамдиске бута, может в чём-то другом… :)


  2. Здрасивуйте
    Валерий Привалов у нас в теме проблема вот сама тема http://4pda.ru/forum/index.php?showtopic=755200&st=1380#entry56262572
    У нас проблема в портирование android 5 а как я знаю у вас есть опыт и моглибы вы нам помочь в портирование мы будем всей темой очень благодарны если что у нас alcatel 4024d spreadtrum 7731 1.2gz 4gb ram и 512 rom и моглибы вы влица в нашу тему чтобы мы могли иметь с вами связь


    1. Если что мы уже от безысходности готовы всей темой скинутся тому кто сможет портирывать нам систему


    2. Здравствуйте… не всё так просто как может показаться со стороны… ведь сам я часто делаю “методом научного тыка” и, по большому счёту, мне самому ещё надо учится, учится и ещё раз учится… :) потому что хоть вроде бы как я и компилирую успешно для АФ3 ядро 5.1, но на телефоне оно не запускается… значить делаю что-то не так и поэтому пока сделал перерыв…
      В вашем случае всё-таки можно попробовать поискать прошивку с ядром подходящим под “железо” ваше телефона… в этом может помочь приложение DeviceInfoHW2.0-rc3.apkhttp://4pda.ru/forum/dl/post/9236577/DeviceInfoHW2.0-rc3.apk (ссылка доступна для зарегистрированных на сайте 4пда), которое надо запустить на стоковой прошивке… самое главное – тачскрин… потому что без работающего тачскрина другое уже не имеет смысла… Чтобы не прошиваться неподходящей прошивкой – скачать нужное, извлечь boot.img и проверить – если или нет нужное “железо” с помощью hex-редактора (например NEO) вводя нужное значение в строку поиск… найдя нужный тачскрин в boot.img – не факт что прошивка запустится… ещё нужно подобрать подходящий u-boot.bin… в общем простого решения здесь нет – если бы у меня был ваш телефон то возможно дело и как-то продвинулось… но вашего телефона нет и поэтому вам придётся как-то выкручиваться самим… могу лишь пожелать удачи…


    3. Прошивку надо обязательно подбирать от телефонов с разрешением экрана как на вашем alcatel 4024d


  3. Для работы с APK лучше всего использовать jBart. Хотя бы потому что у него понятный интерфейс, и он может распаковать все апк и собрать их обратно сразу же. Т.е не приходится распаковывать каждый файл по отдельности.



    1. Никогда не занимался этим… не владею точной инфой, но похоже в прошивках уже реализована похожая функция – может только в ограниченном по размеру виде…
      В крайнем случае можно по-экспериментировать с приложениями типа Simple Root Swap


  4. Валера какая прошивка лучше всего? (ну какая вам нравится)
    P.s Верните прежний шрифт


    1. Если бы не доводка андроида 5.1, то пользовался бы портом от А5про… порт с YunOS 3.0.1 (Операционная система YunOS 3.0.1 на смартфоне ZTE Blade AF3) стоит на втором месте… но должен заметить – Андроид 5.1 работает по-шустрее, чем порты с Андроид 5.0
      P.S. Шрифт конечно интересный но немножко тяжёлый для чтения… а мне приходится думать о всех посетителях этого сайта… :)




Нецензурные выражения и прямые оскорбления не допускаются на этом сайте и будут удалены...

Добавить комментарий

Ваш e-mail не будет опубликован.

Ввод в сообщение текстовых символов смайлов (типа - :-) и :-P ) автоматически преобразовываются в картинки (перед вставкой должен быть пробел - можно скопировать и вставить)... ПРИМЕРЫ:
:-) улыбающийся :-D громко смеющийся :-))) смеющийся :-( Озадаченность или недовольство
:-|| Сердитый, разгневанный ;-) подмигивающий :-P показывающий язык :clap: браво, хлопать в ладоши
:arrow: Биться головой в стенку...

В комментариях вы можете использовать эти HTML Теги и атрибуты к вашему комментарию:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>