vash-web.ru

Веб-разработка, WordPress, мобильные устройства...


vash-web.ru

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

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

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

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

ZTE_Blade_AF3-8-0903331

Информация к сведению: Прошивку можно собрать в формате .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****** — где в последнем каталоге и будет находится прошивка в более привычном виде.

ZTE_Blade_AF3-19-50-1710011

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

ZTE_Blade_AF3-17-2222

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

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

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

ZTE_Blade_AF3-15-20-1111

Далее надо прошить этот файл. Когда процесс закончится — нажать кнопку 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, но здесь возникает много сложностей для описания которых потребуется большая страница.

Продолжение следует…..

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




63 комментария

  • Дмитрий сказал-(а):

    Здравствуйте!Проблема такая сдохла прошивка в виде пропадания изображения,после передергивания батареи все становилось нормально на несколько недель,после последнего раза батарея перестала помогать,нет изо,прошивку заводскую на тел bqs-5009 не удалось найти ,зашил похожую от Prestigio Multiphone PSP5506 подошла,все включаеться есть звук подсветка дисплея но нет все равно изображения так вот возможно что драйвера изо не подошли ?

    Ответить
    • Валера Привалов admin

      Здравствуйте… вам желательно на новой прошивке использовать ядро (и u-boot) от стоковой прошивки…. в каких-нибудь мелочах часто прошивки от даже очень похожих телефонов не совпадают… и возможно что не подошли драйвера…

      Ответить
  • deneridze сказал-(а):

    а если тач не работает какой файл со стока кидать?

    Ответить
    • Валера Привалов admin

      Обычно поддержка тачскрина заложена на уровне ядра (изменить ничего невозможно — если только подобрать в boot.img подходящий файл dtb, а это практически также невозможно)… я даже не заморачивался с перекидыванием файлов как советуют некоторые «спецы»… тем более если на телефоне КитКат а портируешь Андроид 5+… а так в рекомендациях есть такое —

      Файлы, отвечающие за работу Тачскрина

      etc -> permissions ->
      android.hardware. touchscreen.multitouch.xml
      android.hardware. touchscreen.xml

      usr -> keylayout ->
      Generic.kl

      Но по большому счёту это ничего не изменит (может сработает только в каком-то очень частном случае)…
      Надо искать нужную комбинацию boot — uboot… или всё собирать самому…

      Ответить
  • Даниил Чашков сказал-(а):

    Здравствуйте, вообщем я портировал прошивку Emui, но на ней обнаружилось достаточно багов: не включается передача данных, не работает камера (пишет типо отключите приложение в фоне, хотя никакого приложения пользующиеся фонариком или камерой в фоне нет), не включается wifi, а если и включается, то не видит сети wifi, так же фонарик не работает.

    Ответить
    • Валера Привалов admin

      Здравствуйте… прошивкой Emui никогда не занимался и не даже не пытался (мне она не интересна) и по этому в этом вопросе вам лучше обратится на сайте 4pda (ZTE Blade AF3 — Прошивки) к пользователю с ником — ChitoS87… он как раз тоже ей занимается… и ,насколько мне известно, у него такие же проблемы…

      Ответить
  • CoMMoN сказал-(а):

    Доброго Валерий Привалов я хотел бы попросить Вас написать статью про Asus ZenFone GO ZB452KG про прошивку и рут, только при помощи ваших статей я смог шить експлей без труда.

    Ответить
    • Валера Привалов admin

      Здравствуйте… Я меня нет этого смартфона… а я пишу только про те устройства что имею на руках…

      Ответить
  • Владимир сказал-(а):

    Какое другое название у этих файлов kernel_logo, boot_logo.bmp, а то при портировании прошивки в формате pac , не могу найти эти файлы

    Ответить
    • Валера Привалов admin

      Надо смотреть на расширение .bmp и .bmp(1) — обычно они присутствуют оба рядышком, а названия могут быть различные…

      Ответить
      • Владимир сказал-(а):

        Валера,а будут еше порты на af3 ?

        Ответить
        • Валера Привалов admin

          У меня пока нет… с Андроидом 5.1 из-за неработающего тачскрина не получается (а так была бы куча портов)… ядро надо собирать или u-boot — проблема в одном из них…

          Ответить
          • владимир сказал-(а):

            Валера я пробую портировать по твоей инструкции ,не мог бы ты обьяснить получьше

          • Валера Привалов admin

            Чтобы объяснить по-лучше — надо писать книгу… специфика портирования для каждой прошивки может быть своя и всё описать на одной странице невозможно… надо просто портировать то что надо — а именно смотреть процессор… чтобы он был точно такой же… и прошивка чтобы была именно для этого процессора ( в нашем случае обязательно должны быть в buld.prop такие строчки — sp7731gea или sc7731gea)… и Андроид должен быть 4.4.2… 5-ые Андроиды портировать вообще «труба», потому что нет нормального ядра… ладно хоть 5.0 сочинили…

  • Владимир сказал-(а):

    Валера киньте пожалуйста ссылку на программу ApkTools200b9, а то не могу ее скачать

    Ответить
  • даниил сказал-(а):

    Как вы портирывали ядро раскажите пожалусто в теме и если можно поэтапно как вы его портирывали я думаю это большой вопрос который многих интересует зарание спасибо

    Ответить
    • Валера Привалов admin

      Я вам уже ответил… эта цитата ответа на ваш вопрос на другой странице сайта (инфа возможно пригодится для других пользователей) —

      здесь надо разделить — boot.img и kernel (ядро) немножко разные понятия, хотя второй входит в первый… kernel применяется только полностью, потому что его можно использовать только так (если подходит) и никак иначе… ядро надо собирать (компилировать) под определённый телефон из исходников… или подыскать подходящий… для Blade AF3 boot.img подошёл от Blade A5 Pro полностью (от Леново А1000 подходит тоже но вылазит один косяк приводящий к зависанию) потому что телефоны очень похожи… но по большому счёту boot.img можно подобрать, а вот u-boot под него — будет гораздо сложнее, а все проблемы в основном будут от него… для прошивок Андроид 5.0 на Блед АФ3 u-boot совершенно от другого телефона…
      В Android Image Kitchen в очень-очень редких случаях помогало замена ramdisk и split_img от разных телефонов… всё делается индивидуально в конкретном случае и часто не работает…

      Ответить
  • Александр сказал-(а):

    Не знаешь какие lib-ы отвечают за датчик приближения и поворота экрана
    замучился почти все либы перекинул и нулль.

    Ответить
    • Валера Привалов admin

      Поворот экрана обычно помогала замена sensors.sc8830.so от стокового в папке lib/hw… с датчиком приближения как бы проблем никогда не было….

      Ответить
  • Прохожий163 сказал-(а):

    Ждёмс продолжения

    Ответить
    • Валера Привалов admin

      Пишем по-потихоньку… только свободного времени маловато… :)

      Ответить
  • Прохожий163 сказал-(а):

    Красава, спасибо за инструкцию, удачи!

    Ответить

Поделиться мнением









Ввод в сообщение текстовых символов смайлов (типа - :-) и :-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>