Xakep

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

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

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

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

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

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


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

Кстати, никто не сталкивался с проблемой падения SetupWizard при применении настроек даты/времени? У меня возникает этот косяк, когда сразу же после появления визарда идти далее и завершить настройку времени. Если чуть подождать, то все ок.

Я поколупался в смали визарда, он вызывает интент DateTimeSettingsSetupWizard из настроек. Этот класс совпадает с используемым у меня. Нажатие кнопки "Далее" по идее должно возвращать результат "RESULT_OK" (или -1), но... SetupWizard, как видно по логу, ловит вместо нормального результата нулл. Мистика. Как лечить?

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


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

Косяк по моему мой... Я понимаю что-то не знаю - может кто в краце объяснит что я делал не так.
В папку кинул и распаковал:

  • Phone.apk
  • framework-res.apk

Также в этой папке лежит framework.jar - как я понимаю он не распакованный.
Прошлый мой пост был сделан без распакованного framework-res.apk... После того как я это сделал и повторно запустил запаковку phone.apk ситуация изменилась - время выполнения увеличилось с 29 сек на 45 сек но все равно выдало ошибку:

W: Could not find sources


I: Building resources...
/storage/sdcard1/Download/myapp/Phone_src/res/values-ru/strings.xml:370: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
/storage/sdcard1/Download/myapp/Phone_src/res/values-ru/strings.xml:371: error: Unexpected end tag string
/storage/sdcard1/Download/myapp/Phone_src/res/layout/incall_touch_ui.xml:28: error: Error: String types not allowed (at 'outerRadius' with value 'home_screen').
/storage/sdcard1/Download/myapp/Phone_src/res/layout/incall_touch_ui.xml:28: error: Error: String types not allowed (at 'glowRadius' with value '').
/storage/sdcard1/Download/myapp/Phone_src/res/layout/incall_touch_ui.xml:28: error: Error: String types not allowed (at 'snapMargin' with value 'costsMoney').
/storage/sdcard1/Download/myapp/Phone_src/res/layout-sw580dp/incall_touch_ui.xml:35: error: Error: String types not allowed (at 'outerRadius' with value 'home_screen').
/storage/sdcard1/Download/myapp/Phone_src/res/layout-sw580dp/incall_touch_ui.xml:35: error: Error: String types not allowed (at 'glowRadius' with value '').
/storage/sdcard1/Download/myapp/Phone_src/res/layout-sw580dp/incall_touch_ui.xml:35: error: Error: String types not allowed (at 'snapMargin' with value 'costsMoney').
Exception in thread "main" aapt: warning: string 'category_plmn_list' has no default translation in /storage/sdcard1/Download/myapp/Phone_src/res; found: in ms vi
aapt: warning: string 'dialog_network_mode_title' has no default translation in /storage/sdcard1/Download/myapp/Phone_src/res; found: in ms vi
aapt: warning: string 'plmn_mcc_mnc_error' has no default translation in /storage/sdcard1/Download/myapp/Phone_src/res; found: in ms vi
aapt: warning: string 'update_plmn_setting' has no default translation in /storage/sdcard1/Download/myapp/Phone_src/res; found: in ms vi zh_CN
brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/data/data/per.pqy.apktool/lix/aapt, p, --min-sdk-version, 16, --target-sdk-version, 16, -F, /data/data/per.pqy.apktool/APKTOOL7609026896321440454.tmp, -0, arsc, -I, ?/apktool/framework/1.apk, -S, /storage/sdcard1/Download/myapp/Phone_src/res, -M, /storage/sdcard1/Download/myapp/Phone_src/AndroidManifest.xml]
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358)
at brut.androlib.Androlib.buildResources(Androlib.java:283)
at brut.androlib.Androlib.build(Androlib.java:206)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/data/data/per.pqy.apktool/lix/aapt, p, --min-sdk-version, 16, --target-sdk-version, 16, -F, /data/data/per.pqy.apktool/APKTOOL7609026896321440454.tmp, -0, arsc, -I, ?/apktool/framework/1.apk, -S, /storage/sdcard1/Download/myapp/Phone_src/res, -M, /storage/sdcard1/Download/myapp/Phone_src/AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:357)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336)
... 5 more
Caused by: brut.common.BrutException: could not exec command: [/data/data/per.pqy.apktool/lix/aapt, p, --min-sdk-version, 16, --target-sdk-version, 16, -F, /data/data/per.pqy.apktool/APKTOOL7609026896321440454.tmp, -0, arsc, -I, ?/apktool/framework/1.apk, -S, /storage/sdcard1/Download/myapp/Phone_src/res, -M, /storage/sdcard1/Download/myapp/Phone_src/AndroidManifest.xml]
at brut.util.OS.exec(OS.java:89)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:355)
... 6 more
Отредактировал Sandr0

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


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

Выложи уже свой Phone.apk с фреймворками, попробуем сами пересобрать. Вслепую ничем не помочь.

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


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

В папку кинул и распаковал:

Вы вообще читали мануал по пересборке? Не распоковывать надо, а тулзе кормить, а только уж потом собирать.

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


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

GoldRenard

Я его не изменял. Когда столкнулся с ошибкой - попытался просто разобрать и сразу собрать.

Интересно и самому разобраться

myapp.rar

ApkTool_4.1_Rus_Mod.apk

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


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

Lens_flare

Буду благодарен за ссылку.

На формумах то там сто грамм сто там.... единоого мануала нет - собираю по крупицам можно сказать

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


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

В \res\values\strings.xml добавить:

    <string name="category_plmn_list">PLMN List</string>    <string name="dialog_network_mode_title">Service</string>    <string name="plmn_mcc_mnc_error">MCC/MNC must not be empty!</string>    <string name="update_plmn_setting">PLMN Setting</string>
В \res\values-ru\strings.xml исправить строки 370-371 на следующие:

    <string name="throttle_time_frame_subtext">"Пройдено %1$d٪ цикла.Следующий период начнется в течение %2$d дн. (%3$s)"</string>
Просто дайте ApkTool то, что он хочет :)

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


Ссылка на сообщение
Поделиться на другие сайты
получение рута и прочие плюшки, типа deodex'еров etc?
Получение рут - это простое копирование необходимых файлов и выставление на них правильных прав доступа. Deodex делается через jBart (он написан на Java). 

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


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

В \res\values\strings.xml добавить:

    <string name="category_plmn_list">PLMN List</string>    <string name="dialog_network_mode_title">Service</string>    <string name="plmn_mcc_mnc_error">MCC/MNC must not be empty!</string>    <string name="update_plmn_setting">PLMN Setting</string>
В \res\values-ru\strings.xml исправить строки 370-371 на следующие:

    <string name="throttle_time_frame_subtext">"Пройдено %1$d٪ цикла.Следующий период начнется в течение %2$d дн. (%3$s)"</string>
Просто дайте ApkTool то, что он хочет :)

 

Похоже на то, но....

Использовал все версии отсюда https://code.google.com/p/android-apktool

То, что ниже 1.5.1 даже при декомпиляции выдает ошибки

1.5.1 и 1.5.2 выдают эти сроки

Сейчас опробую внести рекомендованные изменения

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


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

Xakep

а теперь обрати внимание на дату этого фантомного сообщения - первое марта :D

Помните кто-то когда-то ввел прикрепление второго поста вслед за первым? Так вот тут по ходу кто-то им воспользовался.. и забыл ;)

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


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

Вопрос не то чтобы по прошивкам, но все же... Хочу понять принцип разделения ресурсов под разные разрешения.

Допустим, имеются ресурсы:

layout - A.xml - B.xml - C.xmllayout-sw680dp - B.xml - C.xmllayout-sw720dp - C.xml
Девайс подходит под условие sw720dp. Какие ресурсы для такого девайса будут результирующими?

 - A.xml - от layout - B.xml - от layout-sw680dp - C.xml - от layout-sw720dp
или

 - A.xml - от layout - B.xml - от layout - C.xml - от layout-sw720dp
Насколько я понял из этого руководства, правильный - первый вариант?

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


Ссылка на сообщение
Поделиться на другие сайты
правильный - первый вариант?
Да, все верно. 
1 пользователю понравился пост

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


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

Хочу понять принцип разделения ресурсов под разные разрешения.

Что касается sw*dp:

Sw*dp - проверочный указатель, вместо * стоит dpi, выше которого эти ресурсы будут использоваться. Если есть 680 и 720, а dpi 700 - будут использоваться только 680.

Нужно для того, чтобы учитывать таблетки с низким dpi (например 150) и некоторых других моментов.

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


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

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

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


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

что вы берете за основу, когда создаете новую прошивку?

Ввиду отсутствия исходников ядра, вынуждены лепить из стоковых прошивок, если случайно находится похожий аппарат (а в случае с МТК так вообще сплошные клоны), прошивки с него, как стоковая так и порты той же lewa os, так же могут браться за основу.

Остальной мир все что вы перечислили собирает из исходников, там соответственно гораздо легче прикрутить какой-либо твик, чем тем, кто патчит апкшки.

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

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


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

Gogaren_3Meu

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

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

Лично я знаю только об одной успешной полной сборке ядра для Huawei G500 Pro (МТ6577), при которой гуру исправил косяки разработчика

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

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


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

Lens_flare,
Stanner,
спасибо за информацию :) Т.е. каких-то подвижек ждать не приходится...

На самом деле, купив смарт леново (770-й), я окончательно понял, что украшательства и всяческие свистоперделки в прошивке это конечно здорово, но большая батарейка вне конкуренции и ради этого можно смириться с тем, что, например, часы не по центру, а справа и никак их не переставишь:) 

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


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

каких-то подвижек ждать не приходится...

Мы тут на p700i пытаемся cm собрать, полученные результаты наверняка можно перенести и на другие аппараты.

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

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


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

Всем доброго вечера. А может кто подскажет, как правильно перепаковать boot с китайской версии прошивки на ROW?

 

Сори, вопрос отпал, разобрался сам.

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

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


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

Вчера мне Andrey GAV кинул интересную ссылку, я потестировал - мне понравился функционал. Смысл в том, что на сеть 3G смарт переключается при включенной передаче данных, при отключении или включении WiFi, уходе в спячку - смарт принудительно переключается на 2G и реально будет экономия батареи, т.к. не будет переподключений в сети 3G.

Функционал отключаемый и гибко настраиваемый, рекомендую всем потестить.

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

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


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

Вчера мне Andrey GAV кинул интересную ссылку, я потестировал - мне понравился функционал. Смысл в том, что на сеть 3G смарт переключается при включенной передаче данных, при отключении или включении WiFi, уходе в спячку - смарт переключается на 2G и реально будет экономия батареи. Функционал отключаемый и гибко настраиваемый, рекаомендую всем потестить.

а ниче что это встроенный функционал андроида? :D

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


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

Принудительное переключение в режим 2G при отключении передачи данных? Пруф, пожалуйста!

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


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

Принудительное переключение в режим 2G при отключении передачи данных?

да, не обратил внимание на эту строку :wacko:

Интересно, ведь апи нет на такие вещи.. или я что-то пропустил?

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


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

 

да, не обратил внимание на эту строку :wacko:

Принудительное переключение в режим 2G при отключении передачи данных?

Интересно, ведь апи нет на такие вещи.. или я что-то пропустил?

И проверил на своем S750 - весь функционал работает, вроде не жрет батарею.

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

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


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

Изучаю пакет прошивки A516 для SP Flash Tool. Вижу новые для себя файлы:

preload.imgkernel_a516_row.binramdisk.imgramdisk-recovery.img
С первым разобрался, это ext4-раздел с предустановленным софтом, который копируется при первом запуске. Интересуют следующие три.

kernel_a516_row.bin - само ядро, идентичное тем, что в boot.img и recovery.img.

ramdisk.img и ramdisk-recovery.img это идентичные рамдиски boot.img и recovery.img соответственно.

Вопрос в том, пишутся ли они в сам телефон? Это какие-то резервные копии ядра и рамдисков?

В скаттере они не упоминаются, в SP Flash Tool в карте разделов для прошивки тоже не появляются, но мало ли...

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


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

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

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

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

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


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

Войти

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


Войти

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

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