Ликвидация безграмотности

Тема в разделе "Прошивка Samsung Galaxy S2 (II)", создана пользователем goriacheff, 23/6/13.

  1. goriacheff
    Offline

    goriacheff Модератор

    Ликвидация безграмотности

    Тема для тех, кто хочет что-то узнать...

    Давайте в этой теме поговорим немного о теории, немного о структуре кастомных прошивок для SGS2, о возможности небольшого редактирования прошивки, как на компьютере, так и прямо на телефоне. Для чего? Мне кажется, что любой пользователь кастома должен иметь некоторое представление, что ставит он на свой смартфон, что и как он может сделать самостоятельно. Что такое моды и твики и так далее, и тому подобное…
    В теме приветствуются любые вопросы, по мере возможности и своих скромных знаний я буду пытаться отвечать на них. Буду рад, если кто-нибудь также постарается отвечать на заданные вопросы. Единственное о чём хотелось бы попросить, вопросы должны быть достаточно продуманы и чётко сформулированы, а ответы обстоятельны и в меру подробны. Оставляю за собой право через некоторое время удалять не совсем информативные посты. Так что без обид, друзья.
    Тема будет построена следующим образом: я публикую пост, например, «Урок 1. Структура…..». После чего мы обсудим его, если будет что обсуждать. Затем последует следующий урок и так далее. В процессе обсуждения мы можем определить тему следующего урока, и если я смогу (будет что сказать), то с удовольствием поделюсь с вами своими знаниями. Если кто-либо захочет написать на выбранную тему, то прошу сразу в теме сообщить об этом, чтобы два человека одновременно не готовили один материал.

    Материалы темы можно будет, с определёнными поправками, разумеется, экстраполировать на другие андроид-смартфоны, но я не ставил перед собой задачи написание серии статей о системе андроид в целом (в интернете их множество). Решение создать эту тему для практического применения не очень осведомлёнными пользователями я вынашиваю уже давно, постоянно находя в теме со своими прошивками достаточно элементарные вопросы.

    Искренне Ваш…


    Урок №1. Структура кастомной прошивки

    Урок №2. Редактирование архива кастомной прошивки
     
    Последнее редактирование: 10/11/13
    Night Archangel, AndrewASB, E-gor и 9 другим нравится это.
  2. goriacheff
    Offline

    goriacheff Модератор

    Урок №1. Структура кастомной прошивки на примере JB-XWLSN-GORIACHEFF_MOD Final Version.

    Чтобы увидеть структуру прошивки нужно просто открыть архив с ней. Повторю, не распаковать, а именно открыть, то есть просто щёлкнуть по архиву два раза левой кнопкой мыши. В случае с прошивкой JB-XWLSN-GORIACHEFF_MOD Final Version мы увидим следующее:

    Сохраненное из&#10.jpg

    Как видно из скриншота в архиве прошивки находится несколько папок. Рассмотрим их по порядку.
    1. Папка data. Эта папка есть не во всех прошивках. Если открыть и эту папку, то в ней можно также увидеть несколько папок.

    Сохраненное из&#10.jpg

    Основная из них папка app, в которой авторы прошивок размещают дополнительные приложения в случае, если нет необходимости их сделать системными. Приложение, находящееся в этой папке, как и приложение, установленное с маркета, будет «размещено» в части памяти, которая доступна пользователю, и которую мы называем внутренняя память.

    Сохраненное из&#10.jpg

    2. Папка goriacheff. В разных прошивках она называется по-разному. В этой папке находится модем, ядро, прошивальщик, как правило – скрипт, создающий backup efs и busybox - набор UNIX-утилит командной строки, используется в качестве основного интерфейса во встраиваемых операционных системах.

    Сохраненное из&#10.jpg

    3. Папка META-INF. В этой папке лежат всякие манифесты и сертификаты (кто хочет, может погуглить), а в самой глубине два важных файла: updater-script и update-binary. В updater-script (загрузочный скрипт) описаны выполняемые команды при установке прошивки: монтирование разделов, что и куда копировать, откуда брать модем и ядро, симлинки (ссылки) и прочее, а в update-binary – двоичный код для реализации сценария, описанного в updater-script.

    Сохраненное из&#10.jpg

    4. Папка preload. В это папке, как мы не раз говорили, находятся все системные приложения. Начиная с версии Android 4.1.2. Самсунг «отобрал» у пользователей часть внутренней памяти под этот раздел, в связи с тем, что системная память ограничена размером в 528 мБт и её стало не хватать для всех системных файлов и приложений.

    Сохраненное из&#10.jpg

    5. Папка sdcard. Также, присутствует далеко не во всех прошивках. Я её использую для установки на карту памяти виджетов от приложения fancywidgets.
    6. Папка system. Основная системная папка, в которой, собственно, и находится система.

    Сохраненное из&#10.jpg

    Остановлюсь на нескольких подкаталогах этой папки, которые могут быть интересны пользователю в первую очередь:
    - app. Как ясно из названия, в этой папке находятся приложения, которые необходимо или желательно сделать системными. Также, при установке прошивки в эту папку помещаются линки (ссылки) на системные приложения из папки preload, согласно сценария из updater-script.
    - csc. Папка содержащая региональные настройки, а также интересный файл feature.xml, редактируя который можно включать/отключать недокументированные самсунгом опции.
    - Папка fonts. Содержит все системные шрифты.
    - Папка framework. В этой папке находятся файлы, в том числе небезызвестный framework-res.apk, которые реализуют практически весь интерфейс системы.
    - Папка lib. В ней содержатся файлы «библиотек», необходимые для работы некоторых приложений, как системных, так и пользовательских.
    - Папка media содержит медийные файлы, в том числе почти все системные звуки.

    Также, в папке system находится ещё один очень интересный – build.prop. В этом файле прописываются команды, которые активируются при загрузке смартфона. Например, что мы можем прочитать в разделе «об устройстве», язык системы по умолчанию, временная зона и прочее. Также, в этот файл можно включить пользовательские команды, например, pm.sleep_mode=, задающую режим работы процессора в режиме сна или wifi.supplicant_scan_interval=, которая определяет интервал сканирования wi-fi сетей. В интернете легко найти описание различных твиков build.prop. Естественно, редактировать этот файл нужно с осторожностью, предварительно сохранив копию идущего с прошивкой файла на карте памяти.

    Об остальных папках и каталогах прошивки мы можем поговорить в обсуждении первого урока.
     
    Последнее редактирование: 6/11/13
    Vikturist, E-gor, t-olleg и 5 другим нравится это.
  3. ZiminY
    Offline

    ZiminY Друг YouHTC - мой статус!

    Предлагаю пригласить Shaluna на мастер-класс по замене графики. Когда он станет посвободнее, конечно. Думаю, ему будет что рассказать нам, неразумным...
    Автору огроменное спасибо за труд и начатый ликбез. Давно пора разжевать, что и где находится.
    По поводу следующих уроков есть одно пожелание. Может кто осилит? Хотелось бы разобраться с системными разделами и pit-файлами. Конкретно, чем кастомный pit отличается от оригинального и каким образом он перераспределяет дисковое пространство при сбоях в памяти?
    Спасибо за внимание.
     
    goriacheff нравится это.
  4. goriacheff
    Offline

    goriacheff Модератор

    ZiminY, ну, вот, хоть ты, Юра, отозвался в новой теме. А я грешным делом подумал, что никому не нужна эта тема. Дальше будет интересней, обещаю. По поводу Шалуна я только "за". А вот по поводу кастомного pit-файла я слышу в первый раз. Что же касается перераспределения дискового пространства при установке трёхфайловой сервисной прошивки, то об этом мы ещё обязательно поговорим.
     
    AndrewASB, ZiminY и FTimur нравится это.
  5. ZiminY
    Offline

    ZiminY Друг YouHTC - мой статус!

    Обсуждалось в теме "Восстановление из кирпича" - мой пост. И цитата из него:
     
    jeka_dv и goriacheff нравится это.
  6. FTimur
    Offline

    FTimur ModeratoR

    Почему это? Тема очень интересна и полезна! Со временем в тему подтянутся знающие люди,так и наберется команда!
    Лично я с удовольствием уделил время и изучил информацию! Удачи в дальнейшей работе!
     
    sadkdima, ZiminY и goriacheff нравится это.
  7. goriacheff
    Offline

    goriacheff Модератор

    ZiminY, да, да, так называемый полукирпич и фенечка позволяющая хоть как-то оживить телефон, но с потерей части памяти. Припоминаю этот время, когда народ окирпичивал телефоны пачками. Эх, не хватает времени на всё:(((
     
    ZiminY нравится это.
  8. Суровый
    Offline

    Суровый Модератор

    Я тоже с удовольствием прочитал шапку,и первый пост,нужное дело)
     
    sadkdima, FTimur, ZiminY и ещё 1-му нравится это.
  9. goriacheff
    Offline

    goriacheff Модератор

    Инициатива наказуема:))) Раз авторитетные товарищи говорят, что дело нужное - будем продолжать :podmig:
     
    sadkdima, FTimur, Суровый и ещё 1-му нравится это.
  10. goriacheff
    Offline

    goriacheff Модератор

    Урок №2. Редактирование архива кастомной прошивки

    1. Для работы с любыми архивами, в том числе с архивами кастомных прошивок необходимо иметь установленный WinRar или аналогичную программу на компьютере.

    2. Для чего может понадобится не совсем искушённому пользователю редактирование архива прошивки? Например, к прошивке вышло большое количество апдейтов и пользователь хочет подвести всё под единый знаменатель и установить прошивку заново. Или он хочет установить прошивку своему менее разбирающемуся в подобных тонкостях товарищу. В этом случае, действительно, проще сначала отредактировать архив с прошивкой на компьютере и только затем установить её на телефон.

    3. В первом уроке мы говорили о структуре кастомной прошивки, так что повторяться не будем. Разберём конкретный пример с моей последней прошивкой и одним из апдейтов к ней:

    3.1. Открываем архив update_lockscreen_S4. Именно открываем, а не разархивируем. Двойной щелчок левой кнопкой мыши по архиву либо щелчок правой и "открыть с помощью..." Больше на эту тему говорить не буду.

    1.jpg

    Папка META-INF служебная. В ней находятся сертификаты, сценарий установки архива и прочее, несущественное для темы данного урока. Папки preload и system имеет такую же структуру, как и в архиве прошивки, а это значит, что нужно отыскать конечные файлы: preload/symlink/system/app - это файл SecSettings.apk в нашем случае и файл Galaxy+Locker+3.3.1.apk по пути: system/app . Важно! В папке system, как видно, есть ещё папки, и в случае, если вы конкретно не знаете, что вам нужно, необходимо просмотреть все остальные папки, находящиеся внутри system и, соответственно, файлы находящие в них также перетащить в архив с прошивкой по соответствующим адресам.

    2.jpg 3.jpg


    3.2. Найдя все файлы для "перетаскивания" их в архив с прошивкой, приступаем непосредственно к этой операции, для чего открываем архив с прошивкой, а рядом открываем архив с апдейтом.

    4.jpg


    Далее, удерживая нажатой левой кнопкой мышки SecSettings.apk перетаскиваем его в окно архива прошивки, предварительно открыв нужную папку. Появится окно:

    5.jpg

    Обращаем внимание на метод сжатия. Приложения находятся в архиве в сжатом состоянии, метод, как правило - обычный. Нажимаем OK и через непродолжительное время операция завершится, после чего такую же операцию проделываем с файлом Galaxy+Locker+3.3.1.apk Затем архив следует закрыть, скопировать на телефон и установить через CWM.

    3.3. Таким же образом можно поменять в архиве прошивке ядро (zImage), модем (modem.bin). В случае с модемом желательно скопировать в прошивку соответствующий RIL. Это библиотечный файл с расширением .so, который копируется в архив прошивки в system/lib. Более подробно, что такое RIL можно ознакомится в теме модемы. Также в прошивку в папку system/app можно добавить нужное вам приложение. При этом есть одна тонкость. Прежде чем копировать в архив какой-либо apk-файл, нужно открыть его, также, как мы открываем обычные архивы:

    6.jpg 7.jpg

    посмотреть есть ли в apk-файле папка lib, и если есть, то файлы из неё или из папки armeabi, которая находится в lib в этом конкретном случае с расширением .so скопировать в архив с прошивкой по пути system/lib. Иначе приложение не запустится.

    Ну, и наконец, из архива прошивки из папок preload, system, data можно удалить ненужные вам приложения. Осторожно! Необходимо знать, что можно, а что нельзя удалять.

    Удачи...
     
    Последнее редактирование: 7/11/13
    defender68, Night Archangel, AndrewASB и 7 другим нравится это.