ANDROID--модернизация,улучшения и т.д. для смартфонов

Модераторы: Lunat, pvsurkov, AlexG1, masson, KSAT

Куратор темы: masson

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#1 » masson » 29 янв 2012, 22:25

Подфорумы

ANDROID--модернизация,улучшения и т.д. для смартфонов - - - - Модернизация андроида.Обсуждение - - - - Заявки на модернизацию - - - - - Нюансы портирования прошивок - - - - Вспомогательный софт


Здесь выкладываем мануалы по модернизации телефонов на ОС ANDROID !!!Остальные вопросы задаём в соответствующих подфорумах!Приветствуется любая инструкция воплощённая в жизнь.
Решения с других форумов необходимо использовать с собственным описанием,указав название источника и автора (без ссылок,чтобы не противоречило правилам форума).
Ну и если описание процесса помогло-не стесняемся,жмём жёлтый пальчик.Автору текста или автору мануала будет приятно-не зря старался!
Весь материал выложен в ознакомительных целях.Не правильное использование может вывести телефон из строя,помните об этом.Как обычно говорят
-всё используется на свой страх и риск.

При публикации модернизаций соблюдаем следующие правила:

  • Картинки,коды и длинный текст помещаем в спойлер.Это поможет тем,кто пользуется лимитированным трафиком интернета
  • Указываем версию андроида для которой предназначена модификация
  • Пост должен содержать информацию о модернизации только для системных приложений!!Для вспомогательных программ и готовых(универсальных) патчей есть тема "Вспомогательный софт"
  • Мануал должен быть проверен на работоспособность хотя бы на одном аппарате.Сообщения не подтверждённые практикой будут удаляться.

 Для начала

 Набор инструментов

Мануалы и рекомендации выложенные в этой ветке
 

Последний раз редактировалось masson 20 ноя 2012, 20:15, всего редактировалось 50 раз(а).
  • 177

Аватара пользователя
masson

Суперкуратор
 
Сообщения: 4099
Зарегистрирован: 28 фев 2010, 21:05
Репутация: 3149

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#21 » michфуд » 21 мар 2012, 16:56

все довольно просто - вот тебе небольшой мануал как это сделать
- качаешь исходник на java для phone.apk
- делаешь java из classes.dex - для сравнения
- ищешь в них любой метод связанный со словом record или типа того.
- ищешь в них метод связанный со слово add или что-там еще придумать про ту кнопку на которую ты хочешь навесить
- потом то же самое ищешь в смали
- делаешь замену.
просто? да, очень.
для прикола чисто - могу сделать по этой методе
  • 0

Аватара пользователя
michфуд

Разработчик
 
Сообщения: 3423
Зарегистрирован: 10 окт 2011, 12:55
Откуда: Н.Новгород
Репутация: 3325

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#22 » michфуд » 24 мар 2012, 06:16

Сборка/разборка boot.img под Windows (необходима установка Cygwin + модуль Phyton)

Спасибо соседям из ветки про Lenovo A60 и отдельное спасибо Booroondook за наводку :a_g_a:
Спасибо тому кто написал это
Спасибо тут чуваку за блог по распаковке boot.img
Сам Cygwin скачать тут
Как устанавливать

Немного допилил скрипты для работы под Cygwin, но смысл тот же.

Порядок работы (Cygwin считаем уже стоит)

 1. Создаем на c: папочку boot_image например. Кладем туда boot.img и все что в архиве.

 2. Запускаем Cygwin и переходим в нашу папку командой cd /cygdrive/c/boot_image

 3. Запускаем команду ./unpack.sh и получаем распакованный ramdisk

 4. Редактируем что хотим. Например init.rc

 5. Собираем обратно командой ./pack.sh и получаем new_boot.img

 Пара слов о структуре и отличиях нашего boot.img от других
Вложения
BootImageTools_cygwin_mtk6573.rar
(6.78 КБ) Скачиваний: 1140
  • 23

Аватара пользователя
michфуд

Разработчик
 
Сообщения: 3423
Зарегистрирован: 10 окт 2011, 12:55
Откуда: Н.Новгород
Репутация: 3325

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#23 » michфуд » 29 мар 2012, 17:14

не знаю где спросить - спрошу тут - на что влияет разрешение у файлов?
везде пишут менять на 644 и т.п. - скока ни занимаюсь изысканиями - забил на это дело и все работает нормуль.
разве что если исполняемому файлу не дать права на запись типа busybox`a - косяк будет - не сработает оно, а все остальные апкшки работают влет - хоть system хоть нет

Добавлено спустя 22 минуты 27 секунд:
работаем с цветами SIM карт :-)
viewtopic.php?p=546043#p546043
 теперь все четко соответствует - и звонилка и все-все-все.
  • 5

Аватара пользователя
michфуд

Разработчик
 
Сообщения: 3423
Зарегистрирован: 10 окт 2011, 12:55
Откуда: Н.Новгород
Репутация: 3325

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#24 » michфуд » 04 апр 2012, 20:20

:bra_vo: :bra_vo: :bra_vo:
а теперь ПЛАВНАЯ АВТОЯРКОСТЬ и вверх и вниз!!!! кому скачки глаза мозолили...

суть:
в services.jar PowerManagerServices.smali вверху стоят 2 переменные

Код: Выделить всё
.field static final ANIM_STEPS:I = 0xf
.field static final AUTOBRIGHTNESS_ANIM_STEPS:I = 0x3c

- т.е. ясень пень я думал они используются в коде и пробовал их менять - но ничего не выходило...
а оказалось китайцы их тупо захардкодили и присвоили им значение 1 - поэтому никакой плавности и не было!

теперь меняем код:
ищем по слову setTargetLocked (2 вхождения)
1е вхождение - кол-во степеней при входе в режим DIM (когда долго экран не трогаешь) - по дефолту 16
2е вхождение - степени при изменении яркости - по дефолту 60
1е вхождение:
Код: Выделить всё
    const/16 v20, 0x1 (***** меняем на:  const/16 v4, 0xf])
    const/16 v21, 0xff
    move-object/from16 v0, v19
    move v1, v5
    move/from16 v2, v20
    move/from16 v3, v21
    move v4, v10
    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/android/server/PowerManagerService$BrightnessState;->setTargetLocked(IIII)V


2е вхождение:
Код: Выделить всё
    [b]const/4 v4, 0x1    [/b]       (***** меняем на:  const/16 v4, 0x3c)
    const/16 v5, 0xff
    iget-object v6, v8, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
    iget v6, v6, Lcom/android/server/PowerManagerService$BrightnessState;->curValue:F
    float-to-int v6, v6
    invoke-virtual {v3, v2, v4, v5, v6}, Lcom/android/server/PowerManagerService$BrightnessState;->setTargetLocked(IIII)V

и наслаждаемся!!
а теперь мой Люксометр (программулька) показывает четко плавную регулировку - и крайние степени даже не 30-70-102-255, а теперь и на промежуточных значениях останавливается !!!
отписываемся о впечатлениях :)
Последний раз редактировалось masson 07 апр 2012, 10:34, всего редактировалось 4 раз(а).
  • 41

Аватара пользователя
michфуд

Разработчик
 
Сообщения: 3423
Зарегистрирован: 10 окт 2011, 12:55
Откуда: Н.Новгород
Репутация: 3325

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#25 » masson » 07 апр 2012, 08:48

Создал.Приглашаю поболтать.Попозже закреплю на первой странице.
Модернизация андроида.Обсуждение.Свободная тема.

Добавлено спустя 23 часа 59 минут 55 секунд:
Разборка .img формата .ext
Файловая система новых процессоров(МТ6575) оформлены в формате ext,что не позволяет разбирать .img утилитой unyaffs.Но Anton_vrn (ссылка на оригинал сообщения) нашёл решение ,как разобрать под Windows.
1.С помощью утилиты перепаковать system.img
  • скаченную утилиту sgs2toext4.jar помещаем в директории диска С
  • system.img помещаем в любую(лучше отдельную) папку
  • открываем sgs2toext4.jar(двойной клик)
  • в появившееся окно перетаскиваем system.img
  • рядом с system.img появляется файл system.ext4.img
2.Получившийся файл монтируем в предварительно установленной на компьютер программе,выделяем все файлы,правой кнопкой мышки выбираем save и сохраняем в любое место на компьютере.
Прикрепляю файлы на всякий случай.
sgs2toext4.rar
(17.75 КБ) Скачиваний: 1122
Linux_Reader.rar
(4.77 МБ) Скачиваний: 1043
Последний раз редактировалось masson 13 апр 2012, 23:34, всего редактировалось 2 раз(а).
Thl 5000 прошивка 1.1.0

Благими намерениями вымощена дорога в ад.
  • 37

Аватара пользователя
masson

Суперкуратор
 
Сообщения: 4099
Зарегистрирован: 28 фев 2010, 21:05
Репутация: 3149

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#26 » sgg » 10 апр 2012, 01:44

сегодня обновил AutoDEOTool до 1.0.3
добавлено:
- новые smali/baksmali;
- возможность выбора текущего API, которую добавили в smali 1.3.2

тема на xda, скачать

Добавлено в "Инструменты" первого поста
Вложения
AutoDEOTool1.0.3.rar
(7.71 МБ) Скачиваний: 2486
Последний раз редактировалось sgg 17 апр 2012, 13:25, всего редактировалось 1 раз.
было: i9000mini, HD7+ (H7300), Zopo ZP200, ThL v9, ThL W3, Newman N1, Amoi n828; стало: Amoi a928w;
полезный софт: AutoDEOTool1.0.3, IMEI-Gscript, Mobile Uncle Tools V2.2.0 RU, Сборщик инфы о прошивке
мои патчи/прошивки: ThL v9, ThL W3, ZOPO ZP200, Amoi n828 XperiaC_16B21; инфо: MBR@mtk+ExtDATA
 Выразить особую благодарность / donate

  • 17

Аватара пользователя
sgg

Разработчик
 
Сообщения: 302
Зарегистрирован: 15 фев 2011, 22:15
Откуда: Київ
Репутация: 1176

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#27 » RekGRpth » 13 апр 2012, 20:30

Нашёл интересный файлик /data/property/persist.radio.default_sim, у меня там стоял 0, я поставил 1, рубутнулся и симки как бы поменялись местами, точнее, програмка определения локаций стала показывать вышки воторй симки, вместо первой, програмка проверки баланса через USSD тоже стала посылать запрос на вторую симку вместо первой.
  • 5

Аватара пользователя
RekGRpth
Специалист
 
Сообщения: 400
Зарегистрирован: 02 ноя 2011, 12:31
Откуда: Тюмень
Репутация: 547

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#28 » sgg » 30 апр 2012, 01:30

Добавлено спустя 16 часов 2 минуты 23 секунды:
Одексирование прошивки / отдельных файлов с помощью dexopt-wrapper
(вольный перевод инструкции с xda)

 Источник

 Файлы


Шаг 0. Подготовка.
    1. обязательно сделайте Nandroid-backup, если еще не сделали;
    2. освободите системный раздел (/system), чтобы на нем было больше 30МБ свободно;
    3. установите драйверы ADB для своего устройства;

Перед продолжением убедитесь, что у Вас выполнен п.0.1 (!), т.к. в случае неудачи устройство может войти в циклическую перезагрузку!

Шаг 1. Настройка скрипта под Ваше устройство.
    1. откройте файл reodex\odex\odex (желательно использовать редактор Notepad++);
    2. впишите свое значение "BOOTCLASSPATH" из файла Вашей прошивки /init.rc (длинный кусок текста после "export BOTCLASSPATH");
    например,
    Код: Выделить всё
    BOOTCLASSPATH=/system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar:/system/framework/mtklockscreen.jar:/system/framework/com.mediatek.framework.jar

    (прим.пер.: файл /init.rc можно скопировать с Вашего устройства на ПК командой adb pull /init.rc диск:\путь\к\init.rc, заменив "диск:\путь\к\" на своё значение или использовать для получения утилиту с второй части этого поста)

    3. через строчку, там где "for filename in", впишите то же, что в п.2, но без полного пути (/system/framework/) с разделением не через двоеточие, а через пробел;
    например,
    Код: Выделить всё
    for filename in core.jar bouncycastle.jar ext.jar framework.jar android.policy.jar services.jar core-junit.jar mtklockscreen.jar com.mediatek.framework.jar
Шаг 2 (опционально, но рекомендовано). Перезагрузка в cwm recovery с доступом по adb.
  • Для наилучшего результата лучше делать ре-одексирование в рекавери меню, однако, некоторые пользователи говорят, что все получается и в нормальном режиме, на лету, когда телефон работает.
  • Вы можете попробовать ре-одексировать и в обычном режиме, но не забудьте сначала подключить (mount) системный раздел (/system) в режиме чтение/запись.
  • Итак, если Вы все-таки хотите ре-одексировать файлы в режиме рекавери, загрузитесь в него и обязательно убедитесь, что у Вас есть доступ к устройству через adb.

    (прим. пер.: при проверке на подручном телефоне одексирование было успешно произведено только в обычном штатном режиме, - не рекавери. Если есть возможность проверить где-то еще, то было бы неплохо.)


Шаг 3. Монтирование, подключение, запуск скрипта.
    1. в первую очередь, убедитесь, что разделы /data и /system смотнированы в режиме чтение/запись:
    в рекавери: mount & storages - mount /data, mount /system;
    в обычном режиме: через Root Explorer;
    (прим.пер.: можно также через adb remount - команду монтирования разделов в режиме чтение/запись)
    2. на этом этапе у Вас уже есть скачанный и подготовленный скрипт re-odex (шаг 1);
    теперь отправим через adb с компьютера в устройство необходимые файлы,
    после чего скрипт создаст *.odex, удалит из apk/jar-файлов classes.dex, оптимизирует zipalign-ом файлы *.apk и очистит Далвик-кеш:

      windows: двойной клик по odex.cmd;
      linux: перейти в терминале в папку с распакованым пакетом reodex и запустить:
      Код: Выделить всё
      chmod +x reodex.sh
      ./reodex.sh

    3. после выполнения скрипта из п.2 перезагрузитесь;

Шаг 4 (опционально). Конвертирование /data.
  • Неизвестно, есть ли способ лучше описанного, но после такого ре-одексирования телефон некорректно отображал свободное место на разделе /data.
  • Для исправления, пришлось конвертировать этот раздел в другую файловую систему и потом обратно, после чего размер свободного места стал отображаться корректно.
  • Так что проверьте как у Вас отображается свободное место и, если оно отображается неверно, произведите конвертацию (если Вам позволяет ядро - kernel).

Одексирование отдельного файла. Источник
    1. скопируйте в телефон "dexopt-wrapper";
    2. назначьте ему права на выполнение (chmod +x / установить rwxr-xr-x или 755)
    3. запустите через adb или эмулятор терминала:
    Код: Выделить всё
    dexopt-wrapper <input.apk> <output.odex> <$BOOTCLASSPATH>

Что делать, если телефон циклически перезагружается (шаг 0, примечание)? Источник
    Возможно неверно назначены разрешения - попробуйте исправить разрешения (fix permissions) через мод-рекавери.

Добавлено спустя 7 часов 17 минут 26 секунд:
Скрипт для быстрого сбора инфы о прошивке/телефоне
 Архив

    1. Распаковать архив в отдельную папку;
    2. Разрешить на устройстве возможность отладки (debugging);
    3. Подключить устройство к ПК;
    4. Установить adb-драйверы для работы с устройством, если не устанавливались ранее;
    5. Запустить GetAndroidData.bat
    появится окно командной строки с описанием работы (около 2 секунд)
     Выполнение скрипта

    В результате в этой же папке появится zip-архив такого содержания:
     Содержимое получаемого архива
п.с. Можно добавить еще копирование с тела других системных данных, например, /proc/mtd, и т.д.
Последний раз редактировалось masson 08 май 2012, 14:08, всего редактировалось 3 раз(а).
было: i9000mini, HD7+ (H7300), Zopo ZP200, ThL v9, ThL W3, Newman N1, Amoi n828; стало: Amoi a928w;
полезный софт: AutoDEOTool1.0.3, IMEI-Gscript, Mobile Uncle Tools V2.2.0 RU, Сборщик инфы о прошивке
мои патчи/прошивки: ThL v9, ThL W3, ZOPO ZP200, Amoi n828 XperiaC_16B21; инфо: MBR@mtk+ExtDATA
 Выразить особую благодарность / donate

  • 10

Аватара пользователя
sgg

Разработчик
 
Сообщения: 302
Зарегистрирован: 15 фев 2011, 22:15
Откуда: Київ
Репутация: 1176

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#29 » Druidblack » 07 май 2012, 10:18

Как добавить новый пункт в настройки

Попробуем добавить новый пункт настроек в раздел Экран.
Распаковываем Settings и идем по пути Settings\res\xml\display_settings.xml\ открываем текстовым редактором (кому как удубно)
Нам будет нужно добавить новый пункт в меню, для этого мы берем программу например Curlock.
Распаковываем и идем в AndroidManifest.xml открываем его и видим.
Самая первая строка
<manifest android:versionCode="1" android:versionName="1.0" package="curscreenlock.pkg"
в конце которой написано (curscreenlock.pkg) нам он будет нужен, это пункт обращения к самой программе, где она находится и все такое.
Далее...
Нам нужно, чтобы вызывались сами настройки приложения в Нашем новом меню настроек, чтобы вызывались по клику:
Ищем строку:
<activity android:label="@string/app_name" android:name=".CurscreenlockActivity">
Где (.CurscreenlockActivity) это есть наша программа.
Теперь возвращаемся к Settings файлу display_settings.xml копируем любой пункт, без разницы какой и вставляем его где угодно Вот к примеру:
Код: Выделить всё
    <PreferenceScreen android:title="@string/tvout_settings" android:key="tvout_settings" android:summary="@string/tvout_settings_summary">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.TVOutSettings" />
    </PreferenceScreen>

Мы скопировали настройки тв выхода и вставили рядом с ней.Изменяем параметры, те что у нас есть и вместо com.android.settings вставляем наше curscreenlock.pkg, а вместо этого
android:targetClass="com.android.settings.TVOutSettings"
вставляем это
android:targetClass="curscreenlock.pkg.CurscreenlockActivity"
Далее:
В (string) прописывается путь к нашим новым параметрам просто нужно будет прописать и назвать их как душе угодно (латинскими буквами).
В общем мы получили вот такой Новый параметр:
Код: Выделить всё
    <PreferenceScreen android:title="@string/curlock_settings" android:key="curlock_settings" android:summary="@string/curlock_settings_summary">
        <intent android:targetPackage="curscreenlock.pkg" android:action="android.intent.action.MAIN" android:targetClass="curscreenlock.pkg.CurscreenlockActivity" />
    </PreferenceScreen>

Наша задача теперь прописать его в (string)
Идем по пути Settings\res\values\strings.xml Прописываем такой пункт в самом конце, чтоб удобно было:
<string name="curlock_settings">Lockscreen</string>
<string name="curlock_settings_summary">Lockscreen settings</string>


и в
values-ru

<string name="curlock_settings">Экран блокировки</string>
<string name="curlock_settings_summary">Настройки экрана блокировки</string>

Теперь запаковываем обратно. И видим новый пункт в настройках экрана.
Последний раз редактировалось Druidblack 10 май 2012, 06:48, всего редактировалось 1 раз.
THL W3 (4.0.3)
Combo Patch Zopo Zp900 (4.0.4)
Combo Patch Zopo Zp910 (4.2.1)
 Для благодарностей
  • 30

Аватара пользователя
Druidblack

Суперкуратор
 
Сообщения: 777
Зарегистрирован: 28 авг 2011, 17:32
Откуда: Москва
Репутация: 1931

Re: ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#30 » steelunicorn » 08 май 2012, 09:20

Опробовано на Android 2.3.5.

Разборка, изменение и пересборка boot.img /recovery.img

Для начала нам потребуется:
Итак, мы собрали все вышеперечисленное в одну кучку. Можно приступать.

1. Разборка
Тут все просто, при условии, что на начальном этапе все срослось как надо.
Достаточно просто создать в каталоге C:\cygwin (туда он встает по умолчанию) еще один каталог (например bootimg). И положить в него boot.img и содержимое boot-repack.tar.
После чего запустить cygwin, и в его консоли ввести две простых команды:
Код: Выделить всё
cd /bootimg
/bootimg/unpack.sh

В результате в каталоге bootimg мы получим несколько новых файлов и один каталог:
Код: Выделить всё
<rmdisk>
kernel
kernel_no_header
ram_header
ramdisk
ramdisk_no_header

Удаляем ramdisk* для того чтобы изменения сделанные нами наверняка вошли в новый boot.img.
kernel* - это собственно ядро нашей системы. Хорошо бы в нем поковыряться, но как его вскрыть я не нашел, поэтому его не трогаем и оставляем как есть.
Для рекавери процедура в точности такая же, только каталог желательно отдельный ей определить, и распаковывать содержимое recovery-repack.tar.

2. Изменения
Все изменения, которые будем вносить, мы будем вносить в каталог rmdisk. А там есть где развернуться.

Во-первых конечно сами каталоги. Точнее один: sbin. В него можно что-то класть, и это что-то будет доступно даже если не примонтируются /system и /data. Например в ходе экспериментов над форумчанином GadW1n, поддержки на его телефоне init.d удалось добиться только включением busybox в состав рамдиска.
При добавлении чего-либо следует помнить, что область отведенная под бут невелика, и ограничена ровно 6291456 байтами (=6.0Мб).

Поскольку data, system, proc, dev и sys - это точки монтирования, то их лучше не трогать.

Во-вторых default.prop. Здесь прописаны настройки по дефолту. Заглянув туда мы видим следующее:
 

ro.secure=0/1 - эта настройка влияет на то, от чьего имени будут выполняться команды adb.exе. 0 - все выполняется от root, 1 - от user. Так же читал, что при ro.secure=1 на некторых аппаратах вообще невозможно получить рут.
ro.allow.mock.location=0/1 - эта настройка для разработчиков. 1 - разрешает фиктивное местоположение, 0 - запрещает.
persist.mtk.aee.aed=off/on - это отключает/включает дампы. (те самые дампы в /data/core), хотя сам я ставил и так и этак, но разницы не заметил.
ro.debuggable=0/1 - тоже для разработчиков, режим отладки (насколько я понял более полный вывод информации в лог)
persist.service.adb.enable=1 - разрешает стартовать демону adb при загрузке системы. Очень полезно, если поймал bootloop, можно подключиться и посмотреть (adb logcat) из-за чего он происходит.

В-третьих init.rc. Это просто золотая жила, если хочется необычных ощущений от своего телефона :-):
Здесь можно создавать каталоги, включать/выключать монтирование блоков памяти, можно создавать сервисы (и убирать лишние, чего я делать не советую), можно устанавливать свои значения для многих параметров.
Но обо всем по порядку. Для начала рекомендую изучить вот эту статью. Сразу станет понятно 90% строк в init.rc

 Создание сервиса (поддержка init.d скриптов)


 Перенаправление кэша в /data/cache


Также можно настроить lowmemorykiller - штатный тасккиллер андроида. И частоты опроса страниц памяти виртуальной машина на предмет устаревания. Значения уже подправленные, начальные найдете в своем init.rc.
 lowmemorykiller & dirty pages


Здесь же можно найти настройки для буферов чтения/записи TCP для разных типов соединений и тоже их подкрутить в нужную строну
 TCP buffers


3. Сборка
Собственно на отдельный пункт не тянет. Напомню только, что надо удалить ramdisk*, по идее он все равно пересоздается, но лучше перестраховаться.
В консоли cygwin нужно выполнить
Код: Выделить всё
cd /bootimg
/bootimg/pack.sh

и получить на выходе new_boot.img который можно прошить флештулом или офоромить в виде патча.

Немного про recovery.
В принципе образ рекавери - это обычный образ boot. Но есть там свои особенности.
init.rc сильно обрезан, собственно там ничего нет кроме начальной инициализации запуска adb демона и запуска сервиса recovery.
За точки монтирования отвечает отдельный файл /etc/recovery.fstab (в стоковом) и /etc/fstab (в рекавери от linerty).
Формат fstab зависит от используемого recovery и может слегка отличаться.
 Stock recovery


 linerty recovery

За рекавери-меню и выполняемые в нем действия отвечает исполняемый файл /sbin/recovery. Просто так его редактировать не выйдет, его нужно собирать из исходников. Или покопавшись по просторам интернета найти какой больше понравится и подменить в /sbin (я пробовал, работает).
Все остальное что находится в /sbin - это вспомогательные программы и скрипты вызываемые разными пунктами рекавери-меню. Поэтому если менять сам recovery, то и эту всю оснастку забывать не стоит.

В /res/images лежат картинки, которые показываются в фоне. Можно поменять на что-то свое и более веселое. :-):

Есть еще такой файлик /res/keys - здесь хранится ключ которым проверяются подписи update.zip. Если честно, я не знаю что будет если его удалить или подменить содержимое - не хватило энтузиазма на такие эксперименты. :ne_vi_del:

Для энтузиастов: можно самостоятельно замутить образ рекавери по свой аппарат. Для этого нужно разобрать любой понравившийся recovery.img от MTK65*3 и разобрать свой boot.img. Из папки с разобранным boot.img в папку с разобранным рекавери нужно перекинуть файлы kernel и kernel_no_header, проверить на всякий случай fstab (в принципе раскладка ROM у всех китайцев на MTK одинаковая, но чем черт не шутит, вдруг именно ваш аппарат особенный) и снова собрать образ рекавери.
UPD
linerty писал(а):А у алкотелей и на MT6516 и MT6573 количество разделов на 1 больше. Так что не "у всех" :a_g_a:


Разборка/сборка recovery.img полностью аналогична разборке/сборке boot.img. Только скрипты нужно использовать из recovery-repack.tar

Вот и все что я хотел сказать про Вьетнам boot.img. Немного несвязно получилось, поэтому задавайте в личку вопросы - я буду править этот пост чтобы на них ответить. Прикладываю к сообщению init.rc просто для примера.
Вложения
boot-repack.tar
(50 КБ) Скачиваний: 631
recovery-repack.tar
(50 КБ) Скачиваний: 412
init.rc.zip
(6.42 КБ) Скачиваний: 374
Последний раз редактировалось steelunicorn 06 фев 2013, 17:25, всего редактировалось 8 раз(а).
Star A3
Сборка: 11HX1.JY138.111205_SU [Odex] | [Deodex]
Радиомодуль: MAUI.11AMD.W11.37.SP.V6, 2012/03/16 13:44
  • 50

Аватара пользователя
steelunicorn
Специалист
 
Сообщения: 394
Зарегистрирован: 14 мар 2012, 20:43
Откуда: Воронеж
Репутация: 221

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#31 » S0bes » 10 май 2012, 15:56

Здравствуйте, вот искал кое-что по интернету и наткнулся на ваш форум, конечно ответ на свой вопрос я не нашел, но меня зацепила эта тема :)
Если кому нужно, как добавить функцию снятия скриншота в Power menu,то вот : http://4pda.ru/forum/index.php?s=&showtopic=253615&view=findpost&p=13084880
А что бы убрать один из пунктов(стандартный или нет) то:
GlobalActions.smali (android.policy\smali\com\android\internal\policy\impl)
Ищем строчку, в которой присваивается кол-во пунктов меню:
Код: Выделить всё
.method private prepareMenuItem()V
    .locals 5

    .prologue
    .line 291
    const/4 v0, 0x4

    new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;

Нас интересует - const/4 v0, 0x4
0x4 - кол-во пунктов меню.
Если убираем 1 из пунктов, то уменьшаем это значение на 1-цу.
Каждый пункт начинается с
const/4 v1, 0x0 (где 0х0 - 1й пункт меню, 0х1 - соотв-но 2й, 0х2 - третий и т.д)
и заканчивается
aput-object v2, v0, v1
Напримере моего кода я вам покажу:
 

______________
Удаляем красные строчки - Убираем 1й пункт меню - "Режим без звука"
Удаляем зеленые строчки - Убираем 2й пункт меню - "Пакетная передача данных"
Удаляем синие строчки - Убираем 3-й пункт меню - "Режим в самолете"
Удаляем оранжевые строчки - Убираем 4йпункт меню - "Выключение телефона"
При удалении пунктов, нужно собирать их последующую нумерацию.
Как я уже говорил, const/4 v1, 0x0 - 1й пункт меню, 0х2 - второй и если вы удалили 3й пункт, то оставшийся четвертый пункт станет третьим и его значение номера уменьшится на единицу, т.е будет const/4 v1, 0x2 (если было const/4 v1, 0x3)
  • 12

Аватара пользователя
S0bes
Новичок
 
Сообщения: 4
Зарегистрирован: 10 май 2012, 15:26
Репутация: 12

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#32 » steelunicorn » 14 май 2012, 22:06

Опробовано на Android 2.3.5

На большой и умный мануал не потянет, но я победил противный звук при "занято". Оказалось на удивление просто.
Разбираем Phone.apk (я брал модифицированный от kosha_ua, низкий ему поклон)
В \com\android\phone\CallNotifier.smali находим вот такую строчку const-string v5, "- need to play BUSY tone!". И ниже в строке const/16 v34, 0x5 меняем 5 на 0.

 


Кстати, почему-то в apktool Phone.apk потом не собирается, выдает ошибки. Поэтому я разбирал с помощью backsmali и потом просто подменял classes.dex в Phone.apk
Последний раз редактировалось steelunicorn 08 янв 2013, 18:10, всего редактировалось 1 раз.
Star A3
Сборка: 11HX1.JY138.111205_SU [Odex] | [Deodex]
Радиомодуль: MAUI.11AMD.W11.37.SP.V6, 2012/03/16 13:44
  • 13

Аватара пользователя
steelunicorn
Специалист
 
Сообщения: 394
Зарегистрирован: 14 мар 2012, 20:43
Откуда: Воронеж
Репутация: 221

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#33 » sgg » 23 май 2012, 03:55

bgcngm писал(а) on 22 май 2012, 22:28:What I found is that MBR, EBR1 and EBR2 (in addition to scatter.txt) are somehow related to the start / end addresses of the partitions. I still haven't found the connection.

Предполагаю, я нашел ключ к таблице разделов MTK (файлы MBR, EBR1, EBR2) :men:
Рассматривается на примере прошивки 120428 для ThL v9.

Смещение Длина Описание
  • 000h 446 Код загрузчика
  • 1С0h 64 Таблица разделов
  • ---- 16 Раздел 1
  • 1D0h 16 Раздел 2
  • 1E0h 16 Раздел 3
  • 1F0h 14 Раздел 4
  • 1FEh 2 Сигнатура (55h AAh)

Каждый 16-байтный блок, описывающий один раздел, имеет следующую структуру:
Смещение Длина Описание
  • 00h 2 Нет данных (обычно 00 00)
  • 02h 1 Код типа раздела
  • 03h 3 Нет данных (обычно 00 00 00)
  • 06h 4 Смещение первого сектора
  • 0Ah 4 Количество секторов раздела
  • 0Eh 2 Нет данных (обычно 00 00, кроме последнего блока)
 MBR содержит такую разметку
 EBR1
 EBR2

Таким образом, если нужно расширить раздел /data, нужно удалить ссылку на emmc@fat и увеличить /data до конца раздела flash-ки!
sgg писал(а) on 23 май 2012, 15:57:(3 896 508 416/ 8 192) - 67 827 = 475 648 - 67 827 = 407 821
также необходимо увеличить на 1 чтобы диапазон был весь, включая первый и последний байты: 407822
в хексе = 0x0006390E

407822 = 0x0006390E
0x0006390E*10h = 00 63 90 E0
переставим: E0 90 63 00

с перестановкой для записи в 0x1ea будет E0 90 63 00

 Имею ввиду, что окончание файла MBR со смещения 0x1c0 должно стать таким

 Тут место исправления видно лучше
 В сравнении с оригинальным файлом разметки (оригинал слева)
 Кроме этого необходимо удалить ссылку на раздел FAT и в скаттере

 Также стоит отключить монтирование раздела в /etc/vold.fstab (можно закомментировать)

 Файлы

 Было
 Стало

Как считал и делал выводы, см. в гуглодоке

Всё, проверил - работает!
Полная инструкция по прошивке + скриншоты
Очень краткая инструкция

upd 20120524: подчистил, поправил, заменил файлы
Последний раз редактировалось sgg 26 май 2012, 00:26, всего редактировалось 2 раз(а).
  • 29

Аватара пользователя
sgg

Разработчик
 
Сообщения: 302
Зарегистрирован: 15 фев 2011, 22:15
Откуда: Київ
Репутация: 1176

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#34 » RequeLine » 01 июн 2012, 04:24

По просьбам из темы HD7 Pro/+/Hero H7300 победил проблему черточек в наборе номера для операторов Украины.Т.к Украины в списке указанного ниже файла нет вообще.
Было так +380ХХХХХХХХХ,т.е без черточек при официальном com.mediatek.framework.jar,но при этом для России и остальных они были.
Теперь так +38 0ХХ-ХХХ-ХХХХ(перед последними двумя цифрами черточку победить пока не смог)
Что и как...
Разобрал при помощи apktool_1.4.1 деодексированный файл com.mediatek.framework.jar.
За наводку,что именно он отвечает за это, спасибо michфуд,ну и понятно было по патчу от ViNNNtalik,который наоборот убирал черточки.
Открыл при помощи Notepad++ файл PhoneNumberFormatUtilEx.smali.
Методом долгих проб нашел способ как это изменить и определил,что именно у испанцев,т.к +34-это по моему код их страны,есть операторы с (050;066;093;099;067 и т.д..)т.е совпадают с Украинскими.(может операторов нет,но начинаются скорее с "0",и набор в итоге, работает корректно).Далее воспользовался поиском в Notepad++цифры (34) и заменил на (38) во всех строчках где встретилось (0х34),т.е стало(0х38).Далее файл собрал и обычно подменил classes.dex из нового в старый без сжатия открыв оба файла архиватором(не разархивируя).В принципе все.Пробовал менять и 39-Италия и 33-Франция,где то работало только (050),где то (093) и т.д.Единственное теперь Испанцы остались без черточек :-):
Если метод был известен,можете пост удалить....
Последний раз редактировалось RequeLine 23 июн 2012, 11:04, всего редактировалось 1 раз.
HTC 10
 Как и что шить
  • 7

Аватара пользователя
RequeLine
Гуру
 
Сообщения: 2486
Зарегистрирован: 25 ноя 2011, 02:40
Откуда: КРЫМ
Репутация: 1612

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#35 » masson » 04 июн 2012, 07:18

Отдельная благодарность sk0t с 4PDA за помощь в поиске истины этого мануала.
Изменение порядка отображения дней недели с буржуйского стандарта (вс пн вт ср чт пт сб) на наш (пн вт ср чт пт сб вс) в локскрине №2.

Нам понадобится файл mtklockscreen.jar предварительно деодексированный.Файл находится в system/framework прошивки.
Разбираем его с помощью apktool_1.4.1 и не забываем установить зависимости,т.к. файл системный.
 Собственно мануал

Для лучшего восприятия рекомендую открыть в сравниловке декомпилированные файлы-один с изменениями,другой оригинальный.
SlideLockScreen.rar
(30.7 КБ) Скачиваний: 75

 Скриншот результата
Thl 5000 прошивка 1.1.0

Благими намерениями вымощена дорога в ад.
  • 9

Аватара пользователя
masson

Суперкуратор
 
Сообщения: 4099
Зарегистрирован: 28 фев 2010, 21:05
Репутация: 3149

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#36 » vivat » 03 июл 2012, 20:47

Встраиваем иконки мобильных операторов в 4.0.3
Для большей информативности пользователю предоставлена возможность назначить SIM карте свою цветовую гамму, которая объединяет- цвет задаваемый в Настройки/Управление СИМ картами/Цвет фона, цвет верхней полосы в формы вызовов и цвет антенн в верхнем трее.
Попробуем сделать это применительно к своим предпочтениям.
Для этого скопируем ниже перечисленные файлы приложений на ББ, переименуем их в *.zip, распакуем и модифицируем. Здесь будет приведен пример и каждый сможет сделать это сам.


Задействованы файлы ZP100_120620

 Комплект файлов



 Скрины


Модифицированный файлы http://files.china-iphone.ru/557label.zip
Последний раз редактировалось vivat 23 авг 2012, 20:32, всего редактировалось 5 раз(а).
Jiayu G4HG MIUI v5

REVO LEAD -SGS4 UI -16-11-2013

С3 REVO LEAD -SGS4 UI -23-8-2013
 Все для рекомендуемой прошивки


 Иконки моб. операторов при определении SIM
  • 17

Аватара пользователя
vivat
Гуру
 
Сообщения: 1166
Зарегистрирован: 06 мар 2011, 20:03
Откуда: Алтайский край Рубцовск
Репутация: 613

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#37 » Druidblack » 14 июл 2012, 12:08

Правильное написание дня недели на экране блокировки № 3 (Android 2.3.6.) (например не "14 июлясб", а "14 июля, суббота")
Декомплелируем framework-res.apk и идем по пути framework-res.apk\res\values-ru\strings.xml

Находим:
Код: Выделить всё
    <string name="day_of_week_medium_sunday">вс</string>
    <string name="day_of_week_medium_monday">пн</string>
    <string name="day_of_week_medium_tuesday">вт</string>
    <string name="day_of_week_medium_wednesday">ср</string>
    <string name="day_of_week_medium_thursday">чт</string>
    <string name="day_of_week_medium_friday">пт</string>
    <string name="day_of_week_medium_saturday">сб</string>


И заменяем на:
Код: Выделить всё
    <string name="day_of_week_medium_sunday">,воскресенье</string>
    <string name="day_of_week_medium_monday">,понедельник</string>
    <string name="day_of_week_medium_tuesday">,вторник</string>
    <string name="day_of_week_medium_wednesday">,среда</string>
    <string name="day_of_week_medium_thursday">,четверг</string>
    <string name="day_of_week_medium_friday">,пятница</string>
    <string name="day_of_week_medium_saturday">,суббота</string>

Пример:
Изображение

Добавлено спустя 7 минут 1 секунду:
Как разблокировать заблокированные настройки.
Это сообщение michфуд.На авторство не претендую.
Разбираем settings.apk и ищем во всех smali: removePreference по типу:
Код: Выделить всё
 .line 172
    .local v2, root:Landroid/preference/PreferenceScreen;
    iget-object v4, p0, Lcom/android/settings/DisplaySettings;->mGSensor:Landroid/preference/Preference;

    invoke-virtual {v2, v4}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z

    .line 178
    iget-object v4, p0, Lcom/android/settings/DisplaySettings;->mTVOut:Landroid/preference/Preference;

    invoke-virtual {v2, v4}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z


И удаляем строку:
Код: Выделить всё
    invoke-virtual {v2, v4}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z
THL W3 (4.0.3)
Combo Patch Zopo Zp900 (4.0.4)
Combo Patch Zopo Zp910 (4.2.1)
 Для благодарностей
  • 5

Аватара пользователя
Druidblack

Суперкуратор
 
Сообщения: 777
Зарегистрирован: 28 авг 2011, 17:32
Откуда: Москва
Репутация: 1931

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#38 » Олег Петрович » 20 июл 2012, 17:28

Добавляем секунды в часы в верхнем статус баре.
Разбираем SystemUI.apk, идём по пути SystemUI/res/layout и открываем файл status_bar.xml
Находим строку
Код: Выделить всё
<com.android.systemui.statusbar.Clock android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="left|center" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />

и меняем в ней
Код: Выделить всё
com.android.systemui.statusbar.
на
Код: Выделить всё
Digital

Должно получиться вот так:
Код: Выделить всё
<DigitalClock android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="left|center" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />

Всё, сохраняем, собираем и закидываем в папку system, не забываем про разрешения.
Newman N1, cобственная сборка Baidu_OS
 Chang Jiang HD7 с TV (ThL) - продан.
Baidu Yi OS - портирование и перевод
Нюансы портирования прошивок.
 Для благодарностей:
  • 15

Аватара пользователя
Олег Петрович

Суперкуратор
 
Сообщения: 2805
Зарегистрирован: 05 ноя 2011, 18:41
Откуда: Красноярский край
Репутация: 1849

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#39 » michфуд » 20 июл 2012, 17:31

молодец - добил таки :-)

дополню: на версиях 4.0.3 править возможно придется zzz_status_bar_gemini

и еще Важно!! название должно быть написано именно DigitalClock - соблюдать заглавные буквы!!!
  • 5

Аватара пользователя
michфуд

Разработчик
 
Сообщения: 3423
Зарегистрирован: 10 окт 2011, 12:55
Откуда: Н.Новгород
Репутация: 3325

ANDROID--модернизация,улучшения и т.д. для смартфонов

Сообщение Ответ:#40 » masson » 21 июл 2012, 22:29

Ещё один способ русификации кнопок диалера.

Довольно часто ко мне обращаются помочь с русификацией диалера и внедрения Т9.По просьбе evgeni777 для Star A5830 MTK6573 3.5"HVGA Analog TV GPS сделал как обычно Т9 и отфотошопил кнопки.Но буквы остались английские.Как оказалось,в данном конкретном случае изображение диалера воспроизводится не картинкой,а командами.Выкладываю свои наработки,возможно,что это не единичный случай.Пригодится.
Скрины предоставлены evgeni777 .

Изначально диалер выглядел так(не очень удачное фото,но думаю,что всё понятно)
 

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

Как это делается.
1.Декомпилируем Contacts.apk
2.Собственно буквы и цифры находятся в Contacts\res\values\strings.xml.
Выдержка из файла
 

Далее надо создать папку values-ru(если её нет).Скопировать туда файлы(или недостающие строки) подлежащие переводу.Все копировать не обязательно,лишь те,что содержат слово alphabet(к примеру <string name="htc_dialer_keypad_8_alphabet">TUV</string>)
Добавляем русский алфавит из больших букв,а английские делаем маленькими(для лучшего восприятия).Чтобы русские и английские буквы были в две строки ставим между ними \n .Получится так:
 
После сборки готового приложения выглядеть наши строки будут уже так( \n пропадёт-команда поменяет форму)
 


3.Теперь нам надо расположить буквы и цифры в том порядке,какой нам необходим.Также подкорректировать размер,цвет.
Я выбрал обычный порядок:цифры слева,буквы справа(в две строки).
Команды отвечающие за расположение знаков на кнопках находятся в Contacts\res\values\styles.xml.Далее я привожу оригинальную(без изменений) часть данного файла отвечающего за диаллер с комментариями в тех местах,где производим изменения.
 

Далее нам нужен Contacts\res\values-mdpi(hdpi)\dimens.xml.В нём непосредственно корректируем отступы знаков на кнопках.
 


Собираем,тестируем.
Thl 5000 прошивка 1.1.0

Благими намерениями вымощена дорога в ад.
  • 12

Аватара пользователя
masson

Суперкуратор
 
Сообщения: 4099
Зарегистрирован: 28 фев 2010, 21:05
Репутация: 3149

Пред.След.

Вернуться в ANDROID--модернизация,улучшения и т.д

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

x

#{title}

#{text}