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

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

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

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

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

Подфорумы

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


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

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

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

 Для начала

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

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

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

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

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

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

Сообщение Ответ:#2 » masson » 01 фев 2012, 11:32

Распаковываем system.img,data.img,cache.img
Сам файл можно получить сделав на телефоне нандроид бекап,отметив в риковери Linerty нужный файл.Или вытащить из прошивки под флештулл.
1.Создаём папку на рабочем столе ,переименовываем её в unyaffs
2.Скачиваем из первого поста архив с утилитой unyaffs,извлекаем содержимое в созданную папку.
3.Переносим/копируем файл system.img в ту же папку.
4.Цепляем мышкой system.img и перетаскиваем на unyaffs.exe
5.Ждём окончания работы скрипта,в результате в этой же папке появляется всё содержимое system.img
 Скриншоты
Последний раз редактировалось masson 10 апр 2012, 22:36, всего редактировалось 4 раз(а).
  • 18

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

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

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

Сообщение Ответ:#3 » masson » 02 фев 2012, 19:13

Деодексируем прошивку.
Все стоковые прошивки изначально идут с файлами ODEX.Не буду объяснять ,что это и для чего-инфы полно в интернете.Скажу лишь,что если вы планируете изменения файлов от перевода (при условии , что текст для перевода находится в смали) до программного кода,то придётся ДЕодексировать-делать из двух компонентов одного приложения -один.
Файлы для деодексации находятся в system/app и system/framework.После распаковки system.img их легко найти .Но иногда прошивка уже деодексирована,если файлов ODEX нет-значит сюрприз,кто-то уже ковырялся.
 скрин папки арк

  • Скачиваем из "инструментов" AutoDEOTool1.0.2,если версия андроида старше 4.х.х ,то AutoDEOTool1.0.3.Можно так же воспользоваться универсальной тулзой Firmware_tool - для разборки/сборки/део/одексирования(есть в инструментах)
  • Создаём в корне диска С компьютера папку TOOL и в ней папку AutoDEOTool1.0.2,куда и извлекаем содержимое скаченного.
    • не спрашивайте почему именно так-я вопросов не задавал,главное-работает
  • В папки _app и _framework AutoDEOTool1.0.2 копируем содержимое созвучных папок из system
     скрин
  • Запускаем батник AutoDEOToolMain.bat
     срин
  • Открывается окно
     
  • Первым делом деодексируем jar файлы,причём стоковые,жмём 5 и enter
     скрин
  • Когда процесс остановится,заходим в папку _framework и видим,что не все файлы деодексировались
     скрин
    остались файлы,для деодексации которых нужны привязки к системе(вот почему при удалении казалось не нужных приложений перестают работать другие),поэтому
  • Находим в AutoDEOTool текстовичёк custom_bootclasspath.txt ,в нём есть описание для какого файла какой соответствует
     пример
  • далее в окне жмём 6-enter и подставляем название нужного файла-enter
     скрин
    иногда одного файла достаточно для всех недеодексированных.
  • Далее заходим в папку _framework ,видим несколько файлов не требующих деодексации.Их просто копируем в папку deodexed_JAR,куда утилита складывала готовый продукт
     скрин
Теперь деодексируем приложения из папки арр.Порядок действий точно такой же.Только сначала жмём 3(стоковые),а затем 4(специфические).В ещё одном текстовичке( custom_bootclasspath_miui_2.3.4.txt ) все возможные варианты для подстановки .Но пачками их не подставляйте-лучше по одному.Иногда не ясно какой файл требуется ,для Contacts.apk нужен com.mediatek.framework.jar,а некоторые ну совсем не желают деодексироваться.
В этом случае можно прибегнуть к игнорированию специфики.Я,к примеру,не заметил в последствии каких либо проблем в работе телефона.
Для активации достаточно ввести 51-enter и потом 3-все проблемные файлы будут собраны.

Если не получается деодексировать,то в некоторых случаях может помочь данный пост с информацией.
Последний раз редактировалось masson 13 ноя 2012, 18:49, всего редактировалось 4 раз(а).
  • 51

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

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

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

Сообщение Ответ:#4 » masson » 03 фев 2012, 15:51

Русская локализация в системных приложениях
Частенько бывает,что китайские телефоны пользователи покупают с не полной русификацией,а иногда и вообще без неё.Но это поправимо.В этой статье на примерах я попытаюсь доходчиво рассказать/объяснить как правильно(если не правильно-приглашаю к созданию правильного мануала) провести процесс.
Для русификации системных приложений я выбрал apktool_1.4.1.
 Совет №1

Первым делом копируем в папку apktool_1.4.1 файлы framework-res.apk и mtkBase-res.apk из папки framework.Цепляем мышкой framework-res.apk и переносим на apktool-if.cmd,скрипт заработает и выдаст такую картинку
 скрин
ALL DONE-значит всё нормально.Далее цепляем мышкой mtkBase-res.apk и тоже переносим на apktool-if.cmd
 скрин
При наличии в папке framework других файлов .арк производим такую же процедуру.
Теперь набор утилит "заряжен" для разборки/сборки как jar так и apk прошивки.
==============================
Чтобы очень много не писать,для ознакомления предлагаю посетить 4PDA,и прочитать статью.
Далее,для примера предлагаю взглянуть на разборку/сборку/и что русифицировать Settings.apk и SystemUI.apk. Помещаем приложения в папку apktool_1.4.1 ,затем цепляем мышкой каждый файл и перетаскиваем на apktool-d.cmd.В результате работы скрипта появляется папка с одноимённым названием файла.
 скрин
Открываем папку(к примеру-Settings) ,видим ресурсы.
  • assets
  • res
  • smali
  • AndroidManifest.xml
  • apktool.yml
Из всего этого нам понадобится лишь папка res.Я взял уже русифицированный вариант,открыв папку видим
 скрин
Андроид так устроен,что добавив папки с -ru и поместив туда переведённые файлы,мы получим поддержку русского языка(если в настройках телефона включён русский).Переводить нужно файлы с расширением .xml
Используем для изменения файлов Notepad++.Выставляем в нём кодировку UTF-8(без BOM).И перетаскиваем мышкой нужный файл в поле Notepad++
 скрин
В папки с -ru вовсе не обязательно копировать все файлы из исходной папки.Достаточно лишь тех файлов,которые подлежат переводу.
Скорей всего возникнет вопрос-а как искать то,что надо переводить...Для начала придётся методом проб и ошибок,изучением форумов и т.д.
 Совет№2

===========================
Сборка переведённого приложения осуществляется перетаскиванием мышкой всей редактируемой папки на apktool-b.cmd.Если всё собрано правильно,то в папке приложения появится папка dist,а в ней собранный ,русифицированный apk.Но этот файл не будет работать.Вся проблема в подписи приложения,её изменять нельзя!Далее поступаем так:
  • перетаскиваем исходный арк(назовём его старый) на архиватор(открыли)
  • так же открываем тот арк,что в папке dist(назовём его новый)
  • у нас открыто два окна-из нового в старый перетаскиваем resources.arsc,при замене будет вопрос о сжатии---БЕЗ СЖАТИЯ!--иначе не заведётся
  • далее смотрим/сравниваем размер других файлов,если размер не отличается-всё оставляем как есть.На всякий случай можно скопировать из нового в старый и classes.dex,особенно при различии в размере,но его копируем с обычным сжатием.
  • Полученный старый арк и есть наш готовый продукт
 Совет№3
Последний раз редактировалось masson 10 апр 2012, 22:37, всего редактировалось 5 раз(а).
  • 42

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

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

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

Сообщение Ответ:#5 » Syan » 05 фев 2012, 16:50

masson писал(а):Мануал в подробностях-есть?Милости просим.


Вот в этом блоге человек в подробностях рассказывает про "Кухню" для сборки прошивок Android от команды dsixda.
Последний раз редактировалось masson 10 апр 2012, 22:39, всего редактировалось 1 раз.
UMI ZERO
  • 7

Аватара пользователя
Syan
Специалист
 
Сообщения: 419
Зарегистрирован: 09 янв 2010, 20:15
Откуда: Воронеж
Репутация: 555

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

Сообщение Ответ:#6 » masson » 12 фев 2012, 21:58

Русская строка поиска в контактах и Т9 в диалере с русскими буквами.
 Предисловие к этому и последующим постам

===============
 Примерно так должно получиться после модернизации

Нам понадобится
  • Инструменты
    • apktool_1.4.1
    • Notepad++
    • средство для сравнения файлов(к примеру Beyond Compare 3)
  • Файлы,предварительно деодексированные
    • Contacts.apk
    • framework.jar
_______________
"Заряжаем" apktool_1.4.1 по методу и разбираем Contacts.apk и framework.jar.
Сначала изменим вертикальную строку поиска в контактах.Заходим: C:\apktool_1.4.1\Contacts\res\values-ru ,обычно папка values-ru уже существует,но там не всё так как нам надо.Открываем в notepad++ файл arrays.xml и видим там лишь несколько строк.Удаляем его.И вставляем вот этот,предварительно стерев .rar
arrays.xml.rar
(1.79 КБ) Скачиваний: 741
Далее вы можете его сами отредактировать,подставив те буквы,которые считаете нужными.Главное-не забывать про кодировку и кол-во строк нельзя изменять.Сохраняем.
Теперь заходим (для экранов 480х800) в C:\apktool_1.4.1\Contacts\res\drawable-hdpi-finger и меняем собственно кнопки(phone_dial_num_2-9_blk.png и phone_dial_num_2-9_wht.png) ,чтобы на них было отображение русских букв.Редактировать их можно в любом фотошопе,главное выдержать-размер,вес(можно увеличить но не на много) и главное-полупрозрачность.Т.е при просмотре картинки вы должны видеть лишь буквы и цифры,без рамки.Как этого добиться-Гугл в помощь.Для экранов 320х480 всё тоже самое,но в папке C:\apktool_1.4.1\Contacts\res\drawable-mdpi-finger.
Можно не менять прямо в оригинальной папке,а создать папку с -ru(к примеру drawable-ru-mdpi-finger) и закинуть туда картинки кнопок(только те,что русифицировали).

Теперь идём по пути C:\apktool_1.4.1\Contacts\smali\com\android\contacts и находим там файл TwelveKeyDialer.smali.Его надо модернизировать для того,чтобы научить звонилку понимать кириллицу.Модернизация подразумевает добавление строк в которых содержится юникод русских букв.
 Для справки,там я много почерпнул для самообразования

Загружаем файл TwelveKeyDialer.smali в Notepad++,проверяем и если надо выставляем кодировку и ищем место отвечающее за набор букв.На скрине я отметил на что надо ориентироваться и куда надо вставлять первый блок дополнительного кода.
 Скрин
Но проще всего -скачайте два файла,выложенные ниже ,удалите .rar и загрузите в программу для сравнения файлов.Выделенное красным-то,что нужно вставить в ваш однозвучный файл (TwelveKeyDialer.smali).
TwelveKeyDialer_изменённый.xml.rar
(519.79 КБ) Скачиваний: 404
TwelveKeyDialer_ориг.xml.rar
(514.5 КБ) Скачиваний: 244
 Скрины

После того как сделали замену ,собираем приложение,так как описано в Русская локализация в системных приложениях.
_________________
Редактируем framework.jar.
Заходим по пути C:\apktool_1.4.1\framework\smali\com\android\internal\util ,находим HanziToPinyin.smali,открываем в программе для сравнения файлов и сравниваем с файлом прилагаемым ниже (стереть .rar)
HanziToPinyin.smali.rar
(222.02 КБ) Скачиваний: 318
Чёрным квадратом я обвёл место,где программа показывает не соответствие,с её помощью нужно просто переместить отмеченные участки.
 Скрин

В принципе и всё.Собираем приложение как я уже описывал.
_______________
Заменить и проверить приложения на работоспособность можно с помощью патча,шаблон которого я выкладываю.В папку арр копируем contacts.apk,а в папку framework копируем framework.jar.При желании можно подписать(есть в инструментах Sign---для подписи zip архивов),но можно и не подписывать,отключив в риковери Линерти проверку подписи.
Желательно сделать бекап предварительно,но можно заранее сделать откатный патч,поместив в шаблон файлы до изменения и закинув архив на флешку.
rus_dialer_rus_contacts.zip
(154.14 КБ) Скачиваний: 416
После установки патча переключиться на английский язык,потом опять на русский.
Если приложения не разбираются,не подписываются или нет никаких движений на ваши действия-проверьте:в пути к файлам не должно быть русских букв,в названиях файлов то же самое и не должно быть пропусков в названии.
Написал как мог.Если что не понятно -подправлю.
Последний раз редактировалось masson 01 июл 2012, 09:16, всего редактировалось 6 раз(а).
  • 36

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

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

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

Сообщение Ответ:#7 » linerty » 16 фев 2012, 23:45

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

Если не понимаешь что делаешь и ленишся читать форум, то лучше не лезь. А то сейчас прибьёшь мобилу (а MT6516 прибить реально) и полетят проклятья.
Последний раз редактировалось masson 17 фев 2012, 21:34, всего редактировалось 1 раз.
 Устройства
THL W3(DualCore) обзор.
Recovery для смартфонов MT6516/65x3/657x. Создание полного дампа прошивки смартфонов: MT6516 с ОС Android 2.2.x, MT65x3 с ОС Android 2.3.x, MT657x с ОС Android 2.3.x, 4.x.
  • 4

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

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

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

Сообщение Ответ:#8 » masson » 19 фев 2012, 15:47

Создаём собственные кнопки для звонилки.
На всех не угодишь,одним нравится один шрифт,другим важен размер букв,третьи любят цветные надписи.Предлагаю вниманию краткий мануал как самостоятельно сделать именно то,что душе угодно.
Я пользуюсь фотошопом,поэтому примеры будут с ним.
Телефоны на процессоре МТ65*3 идут с двумя видами экранов -320х480 и 480х800.Нужные картинки для редактирования находятся в contacts.apk ,который для проведения данной операции вовсе не обязательно декомпилировать.Достаточно перетащить мышкой файл на архиватор и откроется окно,в котором нас интересует папка res и в ней, в зависимости от разрешения экрана,надо найти или drawable-hdpi-finger (для 480х800) или drawable-mdpi-finger (320х480).Картинки ,которые нас интересуют ,называются phone_dial_num_2_blk.png(phone_dial_num_2_wht.png)-.....-phone_dial_num_9_blk.png(phone_dial_num_9_wht.png).
wht(см. в названии файла)-это картинка для тех у кого сами кнопки белые,а надписи чёрные,
blk(см. в названии файла)-у кого кнопки чёрные,а надписи светлые.
НО!!!Столкнулся с вариантом наоборот,этих китайцев не поймёшь.Думаю,всем ясно.
Поэтому достаточно будет отредактировать лишь соответствующие.
Но именно отредактировать НЕ получится,картинки надо создавать заново.Приступим.
Открываем фотошоп ,слева в верху жмём файл--новый,открывается окно,в котором в верхней строчке вставляем имя файла без расширения(я вставил phone_dial_num_2_blk),ниже прописываем ширину и высоту файла соответствующую экрану телефона.Под экран 480х800 картинка 95х51,под экран 320х480 картинка 74х41.Цвет фона-в зависимости какие буквы нужны(для чёрных букв белый фон,для белых-чёрный).Всё остальное как на скрине и жмём ОК.
 скрин
Появляется квадратик,который и будет нашим будущим изготовлением.Слева в верху выставляем режим текста,на белом квадрате ставим точку,при этом образуется новый слой.
 скрин
Печатаем цифру 2,цвет выставляем палитрой(но это уже такие нюансы,что легче найти в интернете ,чем я буду объяснять),при этом если её выделить(двойной тык по цифре или как обычное выделение),то вверху можно задать размер .При чём можно задать любой-стерев старый и напечатав нужный.Тыкнув курсором по цифре снимаем выделение и теперь можно цифру двигать,зажав левую мышку в стороне от цифры на поле вокруг шаблона(в любом месте,но НЕ на цифре).
 скрин.на скрине опечатка-надпись "латиница" заменить на "кириллица"
Для добавления нового слоя,на котором будем писать русские буквы тыкаем справа в слой фон и опять тыкаем в квадратик заготовки.Печатаем буквы,регулируем размер и расположение,корректируем цвет.
 СКРИН

Тоже самое (тыкаем в фон,опять тыкаем в поле шаблона) проделываем для английских букв.
 СКРИН

После всех манипуляций мы получаем изображение.которое нас устраивает.НО!!!если его сохранить в этом виде ,то получится хрень.Во первых будет видна подложка,во вторых размер этого изображения больше,чем может переварить система телефона.Поэтому делаем следующее:
1.Там,где у нас слои(в низу с права),правой кнопкой мыши тыкаем в ФОН,в выпадающем списке-УДАЛИТЬ СЛОЙ.Удаляем.
 

2.Тыкаем в верху слева ФАЙЛ---Сохранить для Web и устройств,открывается окно,делаем как на скрине и тыкаем "сохранить",при сохранении выбираем место.
 скрин

В папке для сохранения теперь находятся файлы готовые для копирования в contacts.apk.Как я уже писал в начале поста,открываем нужную папку и перетаскиваем туда наши файлы,при запросе о сжатии-БЕЗ СЖАТИЯ.
Написал как мог,в заключении предлагаю в качестве образца готовые картинки кнопок для 480х800.Делал дя Х15I,там НАОБОРОТ :-) почему то,так что если кто при попытке использования обнаружит,что картинки легли не правильно,надо переименовать их (белые в чёрные и наоборот).
кнопки.rar
(8.47 КБ) Скачиваний: 453
Последний раз редактировалось masson 25 мар 2012, 20:06, всего редактировалось 2 раз(а).
  • 22

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

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

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

Сообщение Ответ:#9 » michфуд » 21 фев 2012, 10:32

Ещё один способ редактирования/восприятия исходного кода

Немного по поводу smali. Лично мне smali напоминает ассемблер.
Как известно, после деодексации приложения мы имеем файл *.apk внутри которого хранится файл classes.dex.
Сlasses.dex - в нем хранится исполняемый код для Далвик-машины - набор файлов *.smali.

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

Итак понадобится 2 инструмента:
1. dex2jar-0.0.9.7 скачать тут: http://code.google.com/p/dex2jar/ или в приложении
2. jd-gui-0.3.3.windows скачать тут: http://java.decompiler.free.fr/ или в приложении

Просто распаковать в какую-нибудь папку - установка не требуется.

Процесс таков:
1. Извлекам из *.apk файл classes.dex
2. Мышкой перетаскиваем его на dex2jar.bat - формируется файл classes_dex2jar.jar в той же директории где лежит classes.dex
 

3. Открываем jd-gui.exe и в нем выбираем полученный ранее classes_dex2jar.jar - получаем в правом окошке код на java.
 

4. Если планиркем запустить код например в Eclipse - выбираем в меню File-Save all Sources - получим zip архив, внутри которого будут находиться файлы *.java

Для понимания кодов smali - их описание http://pallergabor.uw.hu/androidblog/da ... codes.html

Добавлено спустя 1 час 46 минут:
http://hi-android.info/src/index.html - исходный код на приложений на яве (версию Android не понял) - open source code

Добавлено спустя 22 минуты 16 секунд:
примеры:
разобранный curlockscreen.apk и оригинальный код , созданный мной в eclipse

отывок из начала кода:

 Декомпилированный код


 Исходный код
Вложения
dex2jar-0.0.9.7.zip
(1.52 МБ) Скачиваний: 141
jd-gui-0.3.3.windows.zip
(691.67 КБ) Скачиваний: 154
Декомпилированный.rar
(1.97 КБ) Скачиваний: 43
CurscreenlockActivity.rar
(1.64 КБ) Скачиваний: 53
Последний раз редактировалось masson 26 фев 2012, 08:50, всего редактировалось 2 раз(а).
  • 25

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

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

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

Сообщение Ответ:#10 » savyol » 24 фев 2012, 00:30

Вот тоже решил поделиться своим изысканием!

Для тех у кого не мигает диод при смс и пропущенных звонках.(актуально у кого один цвет диода, в основном красный)

 мануальчик
Последний раз редактировалось savyol 12 апр 2013, 00:45, всего редактировалось 1 раз.
 Мои смартфоны
0610 0818
  • 21

Аватара пользователя
savyol
Гуру
 
Сообщения: 2250
Зарегистрирован: 04 сен 2011, 23:52
Откуда: г.Александров, Владимирская обл.
Репутация: 1993

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

Сообщение Ответ:#11 » masson » 25 фев 2012, 23:55

Расширенное power menu.

 Примерный внешний вид готового решения

Изначально на стоковых версиях прошивок при удержании в нажатом состоянии кнопки выключения аппарата выпадает меню с тремя,реже четырьмя опциями-режим полёта,режим без звука,выключение и иногда-перезагрузка. 4PDA на некоторых аппаратах освоил метод добавления ещё пунктов.Источник информации здесь и здесь.
Добавлять будем пункты риковери и, если нужно, перезагрузка.
Потребуются файлы framework-res.apk и android.policy.jar.
Декомпилируем файлы.Заходим в C:\apktool_1.4.1\framework-res\res\values ,открываем файл strings.xml ,прокручиваем до конца и вставляем строки
 Скрытый код/текст
 Скрин
Сохраняем и закрываем.
Открываем папку C:\apktool_1.4.1\framework-res\res\values-ru ,для добавления строк в русской локализации,и открываем strings.xml,добавляем строки в самом конце
 Скрытый код/текст
 Скрин
Сохраняем и закрываем.
Возвращаемся в C:\apktool_1.4.1\framework-res\res\values и открываем файл public.xml,прокручиваем до конца параметра
<public type="string" и вставляем строки идентификатора команд
 Скрытый код/текст
 Скрин
Сами идетификаторы 010403bb и 010403bc должны быть уникальны и не повторяться,при чём следующий по порядку(с верху в низ) должен быть на единицу больше.
 Совет №1

Далее прокручиваем до конца параметра <public type="drawable" и вставляем строки идентификатора картинок,числовые значения подбираем вышеописанным методом
 Скрытый код/текст
 Скрин
Запоминаем идентификаторы,они ещё понадобятся.Сохраняем и закрываем.
Далее добавляем картинки в папку C:\apktool_1.4.1\framework-res\res\drawable-hdpi.Разрешение и расширение картинок должно соответствовать подобным,их можно самим создать,а можно вытащить из любой понравившейся прошивки.Название картинок делаем как в строке идентификатора drawable,к примеру <public type="drawable" name="reboot" id="0x010803b8" />,значит картинка перезагрузки будет называться reboot.png.
 Скрин

На этом модернизация файла framework-res.apk закончена,компилируем приложение,открываем исходное архиватором и закидываем туда из скомпилированного изменённые файлы.Готово.

Переходим к модернизации android.policy.jar.
 Вот здесь получилась засада
На примере А7.
Далее я буду писать лишь что делал с небольшими коментариями.
Декомпилируем android.policy.jar,заходим по пути C:\apktool_1.4.1\android.policy\smali\com\android\internal\policy\impl ,открываем GlobalActions.smali и ищем строку .method private createDialog()Landroid/app/AlertDialog;(строка 408),прокручиваем до строки
const/4 v0, 0x3 и меняем на const/4 v0, 0x5.Этим мы увеличиваем кол-во команд в выпадающем меню.
 Скрин
Далее прокручиваем до
 Скрытый код/текст
и ниже вставляем следующий кусок кода
 Скрытый код/текст
Можно скопировать текст из кода и вставить ,но заменить идентификаторы на свои и стереть комменты со стрелками.
 Скрин
Ещё поправочка,на скрине думаю всё понятно
 Смотрим

Далее...Копируем файл GlobalActions$3.smali в любое место на компе в двух экземплярах,переименовываем их в GlobalActions$7.smali и GlobalActions$8.smali.В каждом из файлов внутри переименовываем упоминания о происхождении(открыв блокнотом GlobalActions$7.smali ищем все названия GlobalActions$3.smali и переименовываем в GlobalActions$7.smali ,соответственно и другой файл).
Далее в GlobalActions$7.smali ищем строку
 Скрытый код/текст
и меняем на
 Скрытый код/текст
Сохраняем.
В GlobalActions$8.smali ищем строку
 Скрытый код/текст
и меняем на
 Скрытый код/текст
Сохраняем .
Вставляем оба новых файла в приложение и собираем (компилируем).Файлы готовы для установки в телефон.Желательно устанавливать их патчем с помощью универсального средства-риковери Линерти как зип архив.

Второй вариант android.policy.jar.
В этом варианте уже была перезагрузка,оставалось добавить вход в риковери.В framework-res.apk всё просто :делаем как выше описано,но добавляем лишь один пункт.
Находим и открываем в android.policy.jar ----- android.policy\smali\com\android\internal\policy\impl\GlobalActions.smali,находим строку
 Скрытый код/текст
и меняем const/4 v0, 0x4 на const/4 v0, 0x5.
Далее чуть ниже находим const/4 v1, 0x3 и меняем на const/4 v1, 0x4.
Находим строку
 Скрытый код/текст
и под ней вставляем код
 Скрытый код/текст
Сохраняем и закрываем.
Далее делаем копию GlobalActions$4.smali,переименовываем её и все упоминания внутри на GlobalActions$8.smali.
Открываем ,находим строчку
 Скрытый код/текст
и меняем её на
 Скрытый код/текст

Далее над этой строчкой (что мы поменяли) вставляем кусок кода
 Скрытый код/текст
Сохраняем,закрываем и переносим полученный файл в ту же директорию,где находятся созвучные.Компиллируем,проверяем.
 Совет №2--возможные ошибки
Последний раз редактировалось masson 29 фев 2012, 16:35, всего редактировалось 1 раз.
  • 43

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

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

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

Сообщение Ответ:#12 » masson » 27 фев 2012, 23:07

Одексируем прошивку.
Фанатам одексации посвящается :-) .За идею отдельная благодарность javum.

Для одексации папки system/app есть два пути.
1.Ручками,кропотливо.
2.С помощью Titanium Backup + опять же ручками и кропотливо :-)
По скольку второй вариант легче,его и будем рассматривать.
Действия производимые в телефоне.
Находим и устанавливаем в телефон не жадную версию Titanium Backup(или покупаем в маркете),запускаем,разрешаем рут доступ.
Дальше определяемся с приложениями находящимися в системе,которые явно "лишние" на момент проведения операции.Дело в том,что ROM в телефоне поделён на две части.Часть под системные приложения ограничена размером примерно 209 Мб и если свободного места не хватит,то за один раз одексировать не получится,а желательно за один раз.
 Скрин
Так,что переносим в пользовательский раздел всё,что в системном не обязательно(фонарики,книги,сторонние плеера и т.д.) до тех пор,пока не освободится 35-40 Мб.
 Скрин

Затем жмём меню-ещё-Интегрировать sys Dalvik в ROM,
 Скрин

Ожидаем завершения процесса.
Далее извлекаем копию папки арр из system на настольный компьютер.
Действия производимые на настольном компьютере.
Обнаруживаем там ,что к каждому приложению арк идёт odex.Можно оставить и так в телефоне,папка далвик кэш уже не будет забиваться ,места в пользовательском разделе --больше.
Но по правильному теперь из каждого приложения арк нужно удалить файл classes.dex.После этой кропотливой процедуры в системной области появится лишних 30 Мб.Но перетаскивать мышкой на архиватор каждый файл муторно...Как это делал я:создал пустой архив,и скопировал туда все файлы из папки арр.Далее удалил те файлы,одексирование которых под вопросом в плане работоспособности(суперюзер,рутэксплорер).Теперь двойной клик по файлу арк прямо в архиве открывает его,удаляем classes.dex.Подтверждаем удаление и обновление в архиве.И так каждый файл арк :-):
После того,как всё будет сделано(и когда глазки вернутся со лба на место :-) ) надо извлечь из этого архива его содержимое в папку арр (что мы копировали с телефона) и вернуть на место в системную область тела.
Как это сделать?Вариантов много,я предлагаю воспользоваться шаблоном ,поместив туда файлы в соответствующую папку и получившимся патчем сделать обновление.Никакие пользовательские данные не теряются.Проверку подписи придётся отключить или самому подписать уже готовый патч.Не забываем очистить папку далвик кэш титаниумом.
ODEX_shablon.zip
(153.68 КБ) Скачиваний: 289

По поводу одексации папки framework скажу так:я этого пока не делал,поэтому сказать мне нечего.Если есть желающие поделиться подробной информацией -будет замечательно.Знаю лишь ,что вот здесь этот мануал есть,но на буржуйском.
Последний раз редактировалось masson 20 мар 2012, 21:59, всего редактировалось 2 раз(а).
  • 24

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

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

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

Сообщение Ответ:#13 » vin2s » 28 фев 2012, 07:09

Мануал по одексированию framework`a на примере framework.jar.
Спасибо booroondook и javum
Допустим вы деодексировали framework.jar изменили его, и теперь вам необходимо привести его в состояния framework.jar и framework.odex
Для этой процедуры нам понадобится изменённый framework.jar, установленная на свой аппарат одексированная прошивка и утилита adb.
Создаём папку /data/local/tmp/odex помещаем в неё необходимые утилиты dexopt-wrapper и zip и выставляем Permissions на папку odex и файлы 777.
Монтируем "system" и "data"
Код: Выделить всё
mount /system
mount /data
Закидываем наш модифицированный framework.jar в system/framework вместо штатного.
Далее пошагово работаем с командной строкой через adb.
Код: Выделить всё
cd /system/framework
Код: Выделить всё
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
Код: Выделить всё
/data/local/tmp/odex/dexopt-wrapper framework.jar /data/local/tmp/tmp-framework.odex $BOOTCLASSPATH
Код: Выделить всё
/data/local/tmp/odex/zip -d framework.jar classes.dex
Код: Выделить всё
cp /data/local/tmp/tmp-framework.odex /system/framework/
Код: Выделить всё
busybox dd if=/system/framework/framework.odex of=/system/framework/tmp-framework.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
Код: Выделить всё
rm framework.odex
Код: Выделить всё
mv tmp-framework.odex framework.odex
Код: Выделить всё
umount /system
umount /data

Всё. Теперь наш измененный framework.jar со своим framework.odex.
Таким же образом одексируются и остальные jar из framework.

  • 24

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

Суперкуратор
 
Сообщения: 692
Зарегистрирован: 24 июл 2011, 10:37
Откуда: Тюмень
Репутация: 432

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

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

Доработка интерфейса штатной звонилки на андроиде 2.3.5 прошивка 111227 для HD7PRO (HERO H7300) без ТВ.
сами апк можно забрать тут viewtopic.php?p=537220#p537220

 Скриншот До и После

 Затронутые файлы:

 Про картинки drawable-hdpi


 Верхний статусбар с именем опсоса - описание изменений layout/call_status.xml

 Кнопки и incall_touch_ui_ge.xml

 Размер фото, имя в 2 строки, номер телефона call_card_person_info.xml

Т.к. добавлен новый layout с id - все остальное касательно его
 ids.xml

 public.xml

 R$Id.smali

 dimens.xml

Как то так :men:
Вложения
картинки.zip
(767 байт) Скачиваний: 320
Последний раз редактировалось michфуд 21 мар 2012, 10:57, всего редактировалось 15 раз(а).
  • 19

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

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

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

Сообщение Ответ:#15 » michфуд » 13 мар 2012, 10:37

немного про датчик света cm3623 capella - им оснащен HD7 Pro и я полагаю много других китайских девайсов.
определить его марку помогает программа Sensor List.

затем с помощью скомпилированной программки (исходники сперты отсюда http://android-coding.blogspot.com/2011 ... light.html) (сам файлик прикладываю во вложении) - было определено путем подношения к лампе что всего навсего датчик нам выдает 6 значений в люксах:
100
150
225
320
640
1280
причем последние 2 - только если уткнуть датчик в саму лампу.

далее разбираем framework-res.apk и в values/arrays.xml видим следующее:

 

т.е. вместо 7 реальных ступеней света мы имеем аж 16 - потому он и не пашет как положено и работоспособность его проверяют фонариком - т.е. по сути можно отловить только 2 положения - ярко и не очень.
посему выкидываем мусор, оставляем в первом массиве 6 значений и в остальных - по 7:

 


проверяем - после включения экрана в темноте - мин яркость, постепенно не спеша подносим к лампе или подходим к окну - вот вам пожалуйста НОРМАЛЬНОЕ пошаговое увеличение яркости )))

всем спасибо за внимание :)

ps - забыл добавить что почему-то на увеличение яркости он нормально отрабатывает, но сбросить вниз его можно только если сделать screen_lock/unlock - т.е. в этот момент идет опрос датчика и он приглушит яркость, если вокруг уже темно... жалко что не работает в обратную сторону...

pps

допилил программку тем кто с датчиком света будет заморачиваться...
 теперь она показывает:

- это может быть полезно при отладке степеней яркости во framework-res.apk
Вложения
Light_sensor.zip
(13.89 КБ) Скачиваний: 1037
Последний раз редактировалось michфуд 17 мар 2012, 09:49, всего редактировалось 4 раз(а).
  • 70

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

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

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

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

отлично. продолжим про наших баранов :)

АВТОМАТИЧЕСКОЕ УМЕНЬШЕНИЕ ЯРКОСТИ

разбираем services.jar/PowerManagerService.smali

задача: запретить накоплению величины mHighestLightSensorValue и отключить проверку нахождения в доке

решение: правим .method private lightSensorChangedLocked(I)V
вместо того, чтобы mHighestLightSensorValue накапливалась - всегда ставим ей "-1"

в команде которая передает данные для установки яркости
invoke-direct {v8, v3, v4}, Lcom/android/server/PowerManagerService;->getAutoBrightnessValue(I[I)I
вместо mHighestLightSensorValue отправляем значение из регистра v9 - это текущее значения которое намерял датчик света (value)

ну и удаляем проверки mIsDocked

как-то так... сложно объяснить подробнее

 исходный код smali



 правленый код smali:

исходный код (open_source) на java
 исходный код (open_source) на java


кстати по идее там должна быть фича плавной регулировки яркости - ANIMATE - но чет с ней не разобрался... вроде как даже если значений с датчика света скажем всего 7, то можно прописать например 15 степеней яркости экрана - и вроде как при переходе от одного к другому оно должно перебирать промежуточные значения - по кр. мере у тех кто писал код для андроида задумка была такая - но что-то я не вижу этого на своем китайце - или они что-то поломали или я что-то не правильно понимаю.
ps - для этого еще переменная в framework-res.apk в bools.xml есть - AnimateScreenLights=true или false

Добавлено спустя 1 час 14 минут 10 секунд:
ps - для прикола - в logcat обнаружил что при достижении 100% заряда андроид дает команду зажечь зеленый светодиодик :) - на моем теле это порождает ошибку :) - т.к. вроде диод может быть только красный

pps
вот программка которая по 1 может прибавлять яркость http://4pda.ru/forum/index.php?showtopic=251640&st=20

у нас мин уровень - 30, потом плавно по 1 до 255.
так что ниже - не выйдет. все примочки программные, которые типа делают темнее - от лукавого - они используют наложение фильтра (меняют цвет) - пример - штатные часы
Последний раз редактировалось michфуд 15 мар 2012, 14:41, всего редактировалось 2 раз(а).
  • 28

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

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

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

Сообщение Ответ:#17 » kosha_ua » 15 мар 2012, 13:26

Смещаем кнопки в стандартной звонилке "Phone" при увеличеном фото и ИОФ в 2-3 строки

 получилось так

Разбираем Phone.apk в ApkTools
Сначало В "\Phone\res\layout\incall_touch_ui_ge.xml" смещаем кнопки в вниз и перезазмечаем их
 меняем/редактируем свой блок "@id/bottomButtons" на:

Дальше находим "\Phone\res\values-hdpi\dimens.xml" и
 редактируем отступ и ширину

Далее всё собираем назад в ApkTools.
В общем все :-):
Вложения
Blok_incall_touch_ui_qe.rar
редактируемый блок в incall_touch_ui_ge.xml
(760 байт) Скачиваний: 62
Phone.rar
Готовый Phone, rar меняем на apk
(3.9 МБ) Скачиваний: 226
Последний раз редактировалось kosha_ua 15 мар 2012, 23:23, всего редактировалось 1 раз.
  • 17

Аватара пользователя
kosha_ua
Пользователь
 
Сообщения: 127
Зарегистрирован: 17 дек 2011, 00:02
Откуда: Украина
Репутация: 256

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

Сообщение Ответ:#18 » kosha_ua » 15 мар 2012, 23:17

michфуд masson Еще одна бессоная ночь :-)

Манул расширю,
 после доп. пожеланий.

Есть встречный вопрос вопросы недающие отдаться мануалу

 1.Анимация "старый телевизор"при ON OFF.


 2.Имена контактов в две строки в контактах
Последний раз редактировалось kosha_ua 17 мар 2012, 22:50, всего редактировалось 1 раз.
  • 4

Аватара пользователя
kosha_ua
Пользователь
 
Сообщения: 127
Зарегистрирован: 17 дек 2011, 00:02
Откуда: Украина
Репутация: 256

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

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

 Данные перенесены в основной пост
Последний раз редактировалось masson 17 мар 2012, 10:53, всего редактировалось 2 раз(а).
  • 15

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

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

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

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

парни - кажись я сделал ЭТО!!!! :ya_hoo_oo: :ya_hoo_oo: :ya_hoo_oo:
Отображение ФИО вместо ИОФ в исходящем/входящем вызове,а также в списке вызовов.

рабочий пример со скриншотами: http://forum.china-iphone.ru/viewtopic. ... 69#p539469

HowTo
 
Последний раз редактировалось michфуд 22 мар 2012, 12:21, всего редактировалось 5 раз(а).
  • 35

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

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

След.

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

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

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

x

#{title}

#{text}