Пакет 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 і не працюватиме в будь-якій іншій архітектурі.