Пакет zip, содержащий обновление прошивки, всегда включает два файла в META-INF/com/google/android: updater-scriptи update-binary. updater-scriptтекстовый файл, содержащий команды, необходимые для установки обновления. update-binaryпереводит команды в двоичный код
В Android 4.4 KitKat Google изменил интерфейс, который updater-scriptиспользуется для настройки разрешений. Ранее использованный set_permметод устарел и заменен на set_metadata. Это приводит к сбою старых версий пользовательских программ восстановления с пакетами Android 4.4 (например, CyanogenMod 11) и отображает сообщение об ошибке «set_metadata_recursive: некоторые изменения не выполнены».
Лучшее решение - обновить пользовательское программное обеспечение для восстановления. Я не нашел достаточно новой версии ClockworkMod, скомпилированной для моего устройства, но нашел новую версию TWRP для работы.
Второй вариант заключается в исправлении updater-script, заменяя любые set_metadataи set_metadata_recursiveвызовы старым синтаксисом, то есть set_permи set_perm_recursive. Я не сделал этого, поэтому я не уверен, насколько легко это будет.
Третий вариант - заменить update-binaryисправленный созданный членом XDA daniel_hk:
http://forum.xda-developers.com/showthread.php?t=2532300
. Я сделал это, и он работал нормально, но двоичный файл скомпилирован для ARMv7 и не будет работать в любой другой архитектуре.