Xakep

Создание и редактирование прошивок Андроид - Общие вопросы.

В этой теме 396 сообщений

Здесь задаем общие вопросы - и надеемся что получим на них ответы.
 
Не забываем что Общие правила форума распространяются и на эту тему, т.ч. не курим, пиво не пьем, не материмся, и не деремся.

Код на стенах не пишем, а обрамляем тегом code и выкладываем в постах. Большой код прячем под тег spoiler.
 
Надеюсь общее обсуждение пойдет на пользу простым пользователям и форуму, в виде хороших прошивок.

1 пользователю понравился пост

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


Ссылка на сообщение
Поделиться на другие сайты

А если права доступа выставить 444 ?

 

Не помогло! Удалился ES проводник оттуда

 

Еще раз переписал лог

log.zip

 

Отредактировал Andrey_GAV

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


Ссылка на сообщение
Поделиться на другие сайты

В логе не чего вразумительного нет...

D/PackageManager(  710): No files in app dir /custom/appW/PackageManager(  710): System package com.estrongs.android.pop no longer exists; wiping its dataD/PackageManager(  710): scan package: /data/app/com.android.vending-1.apk , start at: 17447ms.
1 пользователю понравился пост

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


Ссылка на сообщение
Поделиться на другие сайты
В логе не чего вразумительного нет...

Я выше чуть подольше лог записал, может там чего??? (пока он 0 раз скачан :) )

Отредактировал Andrey_GAV

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


Ссылка на сообщение
Поделиться на другие сайты

В логе не чего вразумительного нет...

D/PackageManager(  710): No files in app dir /custom/appW/PackageManager(  710): System package com.estrongs.android.pop no longer exists; wiping its dataD/PackageManager(  710): scan package: /data/app/com.android.vending-1.apk , start at: 17447ms.
Интересно кто такой PackageManager? И почему он всегда говорит Country Code RU? Есть предположение, что в зависимости от региона, активируются те или иные приложения из прошивки.

Вот только где информация, что активировать находится?

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


Ссылка на сообщение
Поделиться на другие сайты

Интересно кто такой PackageManager?

Вероятно PackageInstaller.apk, либо уже что-то системное во фреймвоке, что врядли.

 

Видел скрипты в preload.img и userdata.img. Там даже базибокс положен для выполнения sh-скриптов. Всё это дело срабатывает после сброса и выбора языка я так полагаю. Либо при выборе регионкода на новых аппаратах.

2 пользователям понравился пост

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


Ссылка на сообщение
Поделиться на другие сайты
Видел скрипты в preload.img и userdata.img. Там даже базибокс положен для выполнения sh-скриптов. Всё это дело срабатывает после сброса и выбора языка я так полагаю. Либо при выборе регионкода на новых аппаратах.
100%
1 пользователю понравился пост

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


Ссылка на сообщение
Поделиться на другие сайты

А эти preload и userdata разбирать так-же как и boot и recovery?

А то не нравится мне эта фишка с удалением.

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


Ссылка на сообщение
Поделиться на другие сайты

Нет, это sparse ext4 образы.

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


Ссылка на сообщение
Поделиться на другие сайты

Нет, это sparse ext4 образы.

userdata.img - нет там ничего про это, там только демонстрационный файл планшета

а вот preload - не разбирается у меня, preloader_lvp5_row_3gfull.bin - только такой есть.

boot.img

cache.img

Checksum.ini.ORIG

EBR1

EBR2

lk.bin

logo.bin

MBR

MT6582_scatter_LVP5-3G-ROW-Voice.1.019.01.txt

preloader_lvp5_row_3gfull.bin

recovery.img

secro.img

system.img

userdata.img

Вылечено !!!

Нашел, где "собака порылась" (последняя строка для добавления ES-проводника моя, заработало!):

Добавлено:

Если сделать проверку по любому файлу

То получаем "бутлуп" - по логу происходит проверка всех apk в системе и где-то в системных файлах происходит ошибка...

Проще добавить свои исключения для проверки.

И шаблон нужно добавлять для каждого приложения, т.к. если общий шаблон, то проходит только одно приложение. Или может я не разобрался с синтаксисом.

<?xml version="1.0" encoding="utf-8"?><files>    <app name="Sefirah" filename=".*Sefirah.*">        <zone>CN</zone>    </app>    <app name="baiduvideo" filename=".*baiduvideo.*">        <zone>CN</zone>    </app>    <app name="SohuTV" filename=".*SohuTV.*">        <zone>CN</zone>    </app>    <app name="DMmusic" filename=".*DMmusic.*">        <zone>CN</zone>    </app>    <app name="emoney" filename=".*emoney.*">        <zone>CN</zone>    </app>    <app name="moffice" filename=".*moffice.*">        <zone>CN</zone>    </app>    <app name="QQ" filename=".*QQ.*">        <zone>CN</zone>    </app>    <app name="Weibo" filename=".*Weibo.*">        <zone>CN</zone>    </app>    <app name="Lakala" filename=".*Lakala.*">        <zone>CN</zone>    </app>    <app name="Amazon" filename=".*Amazon.*">        <zone>CN</zone>    </app>    <app name="Zaker" filename=".*Zaker.*">        <zone>CN</zone>    </app>    <app name="iReader" filename=".*iReader.*">        <zone>CN</zone>    </app>    <app name="Opera" filename=".*Opera.*">        <zone>CN</zone>    </app>    <app name="amap" filename=".*amap.*">        <zone>CN</zone>    </app>    <app name="SogouInput" filename=".*SogouInput.*">        <zone>CN</zone>    </app>    <app name="Kingsoft_moffice" filename=".*Kingsoft_moffice.*">        <zone>RoW</zone>        <zone excluded="true">JP</zone>    </app>    <app name="MobileSecurity" filename=".*MobileSecurity.*">        <zone>RoW</zone>    </app>    <app name="Skype" filename=".*Skype.*">        <zone>RoW</zone>    </app>    <app name="Accuweather" filename=".*Accuweather.*">        <zone>RoW</zone>    </app>    <app name="MusicOn" filename=".*MusicOn.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="LenovoPortal" filename=".*LenovoPortal.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="VCH" filename=".*VCH.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="FSKAREN" filename=".*FSKAREN.*">        <zone>JP</zone>    </app>    <app name="Google Korean IME" filename=".*korean.*">        <zone>KR</zone>    </app>    <app name="ROUTE66" filename=".*ROUTE66.*">        <zone>RoW</zone>    </app>    <app name="Zhuyin" filename=".*zhuyin.*">        <zone>HK</zone>        <zone>TW</zone>    </app>    <app name="evernote" filename=".*evernote.*">        <zone>RoW</zone>    </app>    <app name="mobileyandex" filename=".*mobileyandex.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="yandexdisk" filename=".*yandexdisk.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="yandexmaps" filename=".*yandexmaps.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="yandexmetro" filename=".*yandexmetro.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="yandexmusic" filename=".*yandexmusic.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="YandexStore" filename=".*YandexStore.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="yandextaxi" filename=".*yandextaxi.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app>    <app name="Poker" filename=".*Poker.*">        <zone>RoW</zone>    </app>    <app name="Kingsoft_Japan" filename=".*Kingsoft_Japan.*">        <zone>JP</zone>    </app>    <app name="UCBrowser" filename=".*UCBrowser.*">        <zone>RoW</zone>        <zone excluded="true">US</zone>    </app>    <app name="LenovoSync" filename=".*LenovoSync.*">        <zone>RoW</zone>        <zone>CN</zone>    </app>    <app name="Bajalibros" filename=".*Bajalibros.*">        <zone>VE</zone>        <zone>MX</zone>        <zone>CO</zone>        <zone>PE</zone>        <zone>AR</zone>        <zone>CL</zone>        <zone>EC</zone>        <zone>UY</zone>    </app>    <app name="lenovoTxtr" filename=".*lenovoTxtr.*">        <zone>RoW</zone>        <zone excluded="true">JP</zone>        <zone excluded="true">US</zone>        <zone excluded="true">CA</zone>        <zone excluded="true">VE</zone>        <zone excluded="true">MX</zone>        <zone excluded="true">CO</zone>        <zone excluded="true">PE</zone>        <zone excluded="true">AR</zone>        <zone excluded="true">CL</zone>        <zone excluded="true">EC</zone>        <zone excluded="true">UY</zone>        <zone excluded="true">RU</zone>        <zone excluded="true">UA</zone>        <zone excluded="true">KZ</zone>    </app>    <app name="ebiReader" filename=".*ebiReader.*">        <zone>JP</zone>    </app>    <app name="SCOOP" filename=".*SCOOP.*">        <zone>MY</zone>        <zone>SG</zone>        <zone>PH</zone>        <zone>ID</zone>    </app>    <app name="Kindle" filename=".*Kindle.*">        <zone>US</zone>        <zone>CA</zone>        <zone>JP</zone>    </app>    <app name="ESFS" filename=".*estrongs.*">        <zone>RU</zone>        <zone>UA</zone>        <zone>KZ</zone>    </app></files>
<?xml version="1.0" encoding="utf-8"?><files>    <app name="All" filename="*">	    <zone>RoW</zone>    </app></files>
Отредактировал Andrey_GAV
2 пользователям понравился пост

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


Ссылка на сообщение
Поделиться на другие сайты
а вот preload - не разбирается у меня, preloader_lvp5_row_3gfull.bin - только такой есть.
прелоад и прелоадер - это разные весчи

первый это раздел где и лежит всякая шняга для установки, (есть не во всех аппаратах) разбирается как и system.img

второй это блок для загрузки

2 пользователям понравился пост

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


Ссылка на сообщение
Поделиться на другие сайты

Народ, наткнулся на исходники для lenovo P780. Исходники не Ленововские, возможно ли из них собрать ядро под циан?

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


Ссылка на сообщение
Поделиться на другие сайты
возможно ли из них собрать ядро под циан?
Пока собрать удавалось только ядро на некоторые китайский аппараты, а для сборки циана нужны полное дерево исходников МТК - это нереально

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


Ссылка на сообщение
Поделиться на другие сайты

Есть же наработки циана под 6589. Стоит поискать на XDA

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


Ссылка на сообщение
Поделиться на другие сайты

А как можно переделать официальное OTA-обновление под патч для мод.рекавери?

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


Ссылка на сообщение
Поделиться на другие сайты

@Andrey_GAV, а в чем проблема? все должно работать без переделки (ну разве что в скрипте первые строчки проверки модели/версии понадобится убрать)

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


Ссылка на сообщение
Поделиться на другие сайты

Я свою предыдущую прошивку почистил. Так там нужно удалить лишнее и подправить. В обновлении будет замена boot.img - мне его тоже поправить надо. Также в обновлении прописывается механизм возврата на стоковое рекавери. Также идет проверка файлов на изменения... И т.п.

Отредактировал Andrey_GAV

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


Ссылка на сообщение
Поделиться на другие сайты
Также в обновлении прописывается механизм возврата на стоковое рекавери.

Также идет проверка файлов на изменения

Достаточно удалить из скрипта все строки содержащие recovery

Удалить строки содержащие проверку, НО лучше использовать т.н. фулл-ОТА а не патч-ОТА - там и править будет легче и команды будут полнее. А на патч-ОТА может и не быть ключевых симлинков и прав

2 пользователям понравился пост

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


Ссылка на сообщение
Поделиться на другие сайты

Всем привет! есть такая задача... в Леново стоят две симки (к примеру А и Б), я ими пользуюсь, после достаю симку Б и устанавливаю заместь неё симку В, т.е. теперь стоят симки А и В. вопрос: можно ли каким-либо способом (логи сервисного режима, манипуляции с ОС и др.) узнать какой был номер на симке Б и время использования симки Б ?

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


Ссылка на сообщение
Поделиться на другие сайты

Всем привет! есть такая задача... в Леново стоят две симки (к примеру А и Б), я ими пользуюсь, после достаю симку Б и устанавливаю заместь неё симку В, т.е. теперь стоят симки А и В. вопрос: можно ли каким-либо способом (логи сервисного режима, манипуляции с ОС и др.) узнать какой был номер на симке Б и время использования симки Б ?

кто за это возмется? и.. цена задачи?

Отредактировал Sart

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


Ссылка на сообщение
Поделиться на другие сайты

дел , извините , мало!

Уточним. Полезных для вас, скорее всего. Я бы после таких слов и помогать не стал бы.

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

Так вот, отчитываюсь, товарищ Sart. Ваше сообщение прочёл, решений не нашел. Спасибо за внимание. Кто следующий с отчетом товарищу Sart?

И вообще, вы темой ошиблись.

Отредактировал GoldRenard
4 пользователям понравился пост

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


Ссылка на сообщение
Поделиться на другие сайты

Уточним. Полезных для вас, скорее всего. Я бы после таких слов и помогать не стал бы.

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

Так вот, отчитываюсь, товарищ Sart. Ваше сообщение прочёл, решений не нашел. Спасибо за внимание. Кто следующий с отчетом товарищу Sart?

И вообще, вы темой ошиблись

я этот коммент сразу удалил и и исправил, вот.

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


Ссылка на сообщение
Поделиться на другие сайты

НО лучше использовать т.н. фулл-ОТА а не патч-ОТА - там и править будет легче и команды будут полнее. А на патч-ОТА может и не быть ключевых симлинков и прав

 

Вот из обновления официального от 4.2.2 до 4.4.2 так и не понял это Full OTA или нет?

updater-script.7z

 

p/s и какой-то новы для меня синтаксис типа:

set_metadata("/system/vendor/operator/app", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
Отредактировал Andrey_GAV

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


Ссылка на сообщение
Поделиться на другие сайты

Вот из обновления официального от 4.2.2 до 4.4.2 так и не понял это Full OTA или нет?

В начале стоит такая конструкция

file_getprop("/system/build.prop", "ro.build.fingerprint") == "Lenovo/A5500-HV/A5500-HV:4.2.2/JDQ39/A5500HV_A422_000_024_140328_ROW:user/release-keys" ||    file_getprop("/system/build.prop", "ro.build.fingerprint") == "Lenovo/A5500-HV/A5500-HV:4.4.2/KOT49H/A5500HV_A442_000_011_140508_ROW:user/release-keys" ||    abort("Package expects build fingerprint of Lenovo/A5500-HV/A5500-HV:4.2.2/JDQ39/A5500HV_A422_000_024_140328_ROW:user/release-keys or Lenovo/A5500-HV/A5500-HV:4.4.2/KOT49H/A5500HV_A442_000_011_140508_ROW:user/release-keys; this device has " + getprop("ro.build.fingerprint") + ".");

означающая что это обновление на A5500HV_A442_000_011 до A5500HV_A422_000_024

и никак по другому, иначе abort , т.е. это патч-обновление, подтверждением могут служить проверки и установки патч-файлов

apply_patch_check("/system/app/ApplicationGuide.apk", "b0cf21a389d92c7bb66204cbd6a624389206849e", "077ca7f28efe82c67871867fcc154e122b44240c") || abort("\"/system/app/ApplicationGuide.apk\" has unexpected contents.");...apply_patch("/system/app/ApplicationGuide.apk", "-",            b0cf21a389d92c7bb66204cbd6a624389206849e, 1479710,            077ca7f28efe82c67871867fcc154e122b44240c, package_extract_file("patch/system/app/ApplicationGuide.apk.p"));

1 пользователю понравился пост

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


Ссылка на сообщение
Поделиться на другие сайты

Это все ясно! У меня такой вопрос, ниже этих проверок и обновления стоят строки, которые делают символические ссылки и разрешения. Могу ли я использовать данную конструкцию для разрешений при создании прошивки под рекавери?

Вот здесь http://lenovo-forums.ru/topic/934-общие-вопросы-создание-и-редактирование-проши/?p=248723

тоже похоже Полное OTA обновление и похожая конструкция для разрешений и сим.ссылок.

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


Ссылка на сообщение
Поделиться на другие сайты

Форумчане подскажите чем открыть lk.bin? И возможно ли его редактировать? А то читал где то, но найти не могу...

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу