Если вы не сделали nandroid backup системы - лучше не начинайте.
А если у вас нет root-прав на телефоне, то вы ничего не сможете сделать.
С вашего позволения, я начну своими словами.
Работаем с framework-res.apk из СМ7. Все изменения проводим в папке projects\framework-res.apk\res\values
. . . . Замена фона в Меню на свою картинку . . .
Готовим заранее картинку по размеру экрана с имененм screen_background_dark.png
Открываем в NotePad++ файл style.xml и производим следующие изменения:
строку <item name="colorBackground">@color/background_dark</item>
меняем на <item name="colorBackground">@color/transparent</item>
В строке <item name="windowBackground">@drawable/screen_background_dark</item>
уже указан путь к картинке. Остаётся в папку \res\drawable-hdpi\ поместить заготовленную картину.
Собираем приложение, подписываем, помещаем в телефон, перезагружаемся. Всё
Я задался вопросом, а можно ли сделать фоном установленные в системе обои? И у меня худо-бедно получилось Итак,
. . . Замена фона в Меню на системные обои (в том числе и "живые") . . .
Открываем в NotePad++ файл style.xml и производим следующие изменения:
строку <item name="colorBackground">@color/background_dark</item>
меняем на <item name="colorBackground">@color/transparent</item>
Строку <item name="windowBackground">@drawable/screen_background_dark</item> пока не трогаем, к ней вернёмся позже.
Копируем в буфер обмена строку <item name="windowShowWallpaper">false</item>, а в тексте меняем false на true
Ищем следующие строки и вставляем ниже их из буфера обмена строку <item name="windowShowWallpaper">false</item>
<style name="Theme.Dialog" parent="@style/Theme">
-> сюда
.
<style name="Theme.Light" parent="@style/Theme">
-> сюда
.
<style name="Theme.Translucent" parent="@style/Theme">
-> сюда
.
<style name="Theme.Panel" parent="@style/Theme">
-> сюда
.
После этого возвращаемся к строке <item name="windowBackground">@drawable/screen_background_dark</item>
Дело в том, что желательно "прикрыть" обои сверху полупрозрачной заливкой. Особенно если обои пестрые и текст меню плохо читается. Есть ещё один момент В частности, в Настройках SmartKeyboad 2-го уровня обнаружился вот такой косяк
Поборть не смог
К сожалению, непосредственно вставить цвет в строку нельзя (процесс сборки вылетает с ошибкой), только ссылку.
В файле color.xml можно выбрать подходящую заливку. Оптимальный вариант, это
<color name="bright_foreground_light_disabled">#80000000</color> -чёрный цвет с 50%-й прозрачностью. Тогда строка будет выглядеть так
<item name="windowBackground">@color/bright_foreground_light_disabled</item>
Если вас устраивает полная прозрачность, то тогда так:
<item name="windowBackground">@color/transparent</item>
Я же пошёл другим путём. У меня строка выглядет так
<item name="windowBackground">@color/My_color</item>
В файл color.xml я добавил строку
<color name="My_color">#XXyyyyyy</color> и теперь могу установить цвет и прозрачность заливки по своему усмотрению. Формат цвета:
XX - прозрачность в HEX (ff - непрозрачный, 00 - прозрачный, 80 - 50% прозрачности)
yyyyyy - непосредственно цвет в HEX.
Стандартный калькулятор винды и Окно выбора цвета Фотошопа вам помогут
У меня всё. И никаких гарантий, что где-нибудь что-нибудь не закосячит
У кого есть что добавить - вперёд!
Сообщение отредактировал TiM_22R - 23.7.2012, 5:45
А если у вас нет root-прав на телефоне, то вы ничего не сможете сделать.
С вашего позволения, я начну своими словами.
Краткий мануал
Сразу скажу, что для решения простых задач, таких, как замена иконок и других картинок, особый инструментарий не нужен. Достаточно открыть apk-файл Winrar'ом (не распаковывая), зайти в нужную папку и заменить требуемые файлы. Правда, файл нужно будет ещё подписать и поместить в телефон, но об этом чуть ниже. Для более серьёзных задач, требующих доступа ко всему содержимому apk-файла, без специальных прог не обойтись. В качестве примера кратко об ApkManager'e при работе с framework-res.apk. Для работы с кодом файлов лучше всего подойдёт NotePad++
Итак, скачиваем с телефона из папки system/framework на комп файл framework-res.apk (желательно сделать ещё одну резервную копию), распаковываем ApkManager и видим несколько папок.
В папку place-apk-here-for-modding помещаем наш apk (в эту папку можно поместить сразу насколько разных apk). В эту же папку ApkManager помещает готовые скомпилированные приложения.
Запускаем Script.bat и видим окно программы со списком доступных опций.
Для начала работы нам нужно выбрать приложение, с которым мы будем работать-вводим цифру 22
Появится список доступных для редактирования файлов с номерами. Вводим номер нужного файла.
Для распаковки (декомпиляции) файла вводим 9. Ждём окончания процесса... и на время забываем про окно программы.
Далее заходим в папку projects, в которой находится папка с именем исходного apk-файла. В нашем случае это папка framework-res.apk. Остаёться зайти в папку res и далее действовать согласно конкретной инструкции по редактированию.
По окончании всех работ возвращаемся в окно программы и выбираем команду компиляции приложения - цифра 11. Опять ждём... Перед окончанием процесс программа задаст вопрос о типе приложения. Если вы работаете с apk из папки system (как в нашем случае) вводите y. На следующий вопрос я, особо не раздумывая ввожу n. Иногда при сборке программа выдаёт сообщения об ошибке. Скорее всего это связано с ошибками в тексте при редактировании или несоответствии типов данных... Придётся всё проверить и собрать заново.
Остаётся подписать приложение командой 12. В моём случае телефон упорно не принимает подписанные АpkManager'ом файлы . Я подписываю пакеты непосредственно на флешке телефона программой ZipSigner 2 из Маркета.
Возвращаемся в папку place-apk-here-for-modding и видим там новый файл - unsignedframework-res.apk если приложение не подписано или signedframework-res.apk если подписано. Будем считать, что подписано . Я помещаю файлы на телефон с помошью RootExplorera.
Итак, подписанный и переименованный в framework-res.apk файл с помощью RE перемещаем в папку system телефона. Тем же RE выставляем нужные разрешения файла
И только после этого пееремещаем в папку framework. Перезагружаем телефон и...
Итак, скачиваем с телефона из папки system/framework на комп файл framework-res.apk (желательно сделать ещё одну резервную копию), распаковываем ApkManager и видим несколько папок.
В папку place-apk-here-for-modding помещаем наш apk (в эту папку можно поместить сразу насколько разных apk). В эту же папку ApkManager помещает готовые скомпилированные приложения.
Запускаем Script.bat и видим окно программы со списком доступных опций.
Для начала работы нам нужно выбрать приложение, с которым мы будем работать-вводим цифру 22
Появится список доступных для редактирования файлов с номерами. Вводим номер нужного файла.
Для распаковки (декомпиляции) файла вводим 9. Ждём окончания процесса... и на время забываем про окно программы.
Далее заходим в папку projects, в которой находится папка с именем исходного apk-файла. В нашем случае это папка framework-res.apk. Остаёться зайти в папку res и далее действовать согласно конкретной инструкции по редактированию.
По окончании всех работ возвращаемся в окно программы и выбираем команду компиляции приложения - цифра 11. Опять ждём... Перед окончанием процесс программа задаст вопрос о типе приложения. Если вы работаете с apk из папки system (как в нашем случае) вводите y. На следующий вопрос я, особо не раздумывая ввожу n. Иногда при сборке программа выдаёт сообщения об ошибке. Скорее всего это связано с ошибками в тексте при редактировании или несоответствии типов данных... Придётся всё проверить и собрать заново.
Остаётся подписать приложение командой 12. В моём случае телефон упорно не принимает подписанные АpkManager'ом файлы . Я подписываю пакеты непосредственно на флешке телефона программой ZipSigner 2 из Маркета.
Возвращаемся в папку place-apk-here-for-modding и видим там новый файл - unsignedframework-res.apk если приложение не подписано или signedframework-res.apk если подписано. Будем считать, что подписано . Я помещаю файлы на телефон с помошью RootExplorera.
Итак, подписанный и переименованный в framework-res.apk файл с помощью RE перемещаем в папку system телефона. Тем же RE выставляем нужные разрешения файла
И только после этого пееремещаем в папку framework. Перезагружаем телефон и...
[close]
Работаем с framework-res.apk из СМ7. Все изменения проводим в папке projects\framework-res.apk\res\values
. . . . Замена фона в Меню на свою картинку . . .
Готовим заранее картинку по размеру экрана с имененм screen_background_dark.png
Открываем в NotePad++ файл style.xml и производим следующие изменения:
строку <item name="colorBackground">@color/background_dark</item>
меняем на <item name="colorBackground">@color/transparent</item>
В строке <item name="windowBackground">@drawable/screen_background_dark</item>
уже указан путь к картинке. Остаётся в папку \res\drawable-hdpi\ поместить заготовленную картину.
Собираем приложение, подписываем, помещаем в телефон, перезагружаемся. Всё
Я задался вопросом, а можно ли сделать фоном установленные в системе обои? И у меня худо-бедно получилось Итак,
. . . Замена фона в Меню на системные обои (в том числе и "живые") . . .
Открываем в NotePad++ файл style.xml и производим следующие изменения:
строку <item name="colorBackground">@color/background_dark</item>
меняем на <item name="colorBackground">@color/transparent</item>
Строку <item name="windowBackground">@drawable/screen_background_dark</item> пока не трогаем, к ней вернёмся позже.
Копируем в буфер обмена строку <item name="windowShowWallpaper">false</item>, а в тексте меняем false на true
Ищем следующие строки и вставляем ниже их из буфера обмена строку <item name="windowShowWallpaper">false</item>
<style name="Theme.Dialog" parent="@style/Theme">
-> сюда
.
<style name="Theme.Light" parent="@style/Theme">
-> сюда
.
<style name="Theme.Translucent" parent="@style/Theme">
-> сюда
.
<style name="Theme.Panel" parent="@style/Theme">
-> сюда
.
После этого возвращаемся к строке <item name="windowBackground">@drawable/screen_background_dark</item>
Дело в том, что желательно "прикрыть" обои сверху полупрозрачной заливкой. Особенно если обои пестрые и текст меню плохо читается. Есть ещё один момент В частности, в Настройках SmartKeyboad 2-го уровня обнаружился вот такой косяк
Поборть не смог
К сожалению, непосредственно вставить цвет в строку нельзя (процесс сборки вылетает с ошибкой), только ссылку.
В файле color.xml можно выбрать подходящую заливку. Оптимальный вариант, это
<color name="bright_foreground_light_disabled">#80000000</color> -чёрный цвет с 50%-й прозрачностью. Тогда строка будет выглядеть так
<item name="windowBackground">@color/bright_foreground_light_disabled</item>
Если вас устраивает полная прозрачность, то тогда так:
<item name="windowBackground">@color/transparent</item>
Я же пошёл другим путём. У меня строка выглядет так
<item name="windowBackground">@color/My_color</item>
В файл color.xml я добавил строку
<color name="My_color">#XXyyyyyy</color> и теперь могу установить цвет и прозрачность заливки по своему усмотрению. Формат цвета:
XX - прозрачность в HEX (ff - непрозрачный, 00 - прозрачный, 80 - 50% прозрачности)
yyyyyy - непосредственно цвет в HEX.
Стандартный калькулятор винды и Окно выбора цвета Фотошопа вам помогут
У меня всё. И никаких гарантий, что где-нибудь что-нибудь не закосячит
У кого есть что добавить - вперёд!
Сообщение отредактировал TiM_22R - 23.7.2012, 5:45