Lampeggiante CM 11, ottengo `set_metadata_recursive: alcune modifiche fallite`:


19

ClockworkMod Recovery v6.0.2.3 mi dà l'errore di folling quando provo ad aggiornare il mio Samsung Galaxy Tab 2 (GT-P5113) a Cyanogenmod 11:

Restarting adbd...
Finding update package...
Opening update package...
Installing update...
set_metadata_recursive: some changes failed
E:Error in /tmp/update.zip
(status 7)
Installation aborted.

Essendo disperato, ho provato la stessa cosa con il Team Win Recovery Project (TWRP) v2.6.3.0 - anche l'ultimo per il mio platofrm,

Checking for MD5 file...
Skipping MD5 check: no MD5 file file found.
set_metadata_recursive: some changes filed
E:Error: executing updater binary in zip '/data/media/0/sideload.zip'

Risposte:


16

In breve, se si desidera eseguire il flashing di KitKat Android 4.4, è necessario eseguire l'aggiornamento a una versione di CWM superiore alla v6.0.4.5. Oppure, utilizzare un bootloader alternativo. Per Galaxy Tab 2 GT-P5113 o GT-p5110 puoi trovare le istruzioni qui .


Eventuali riferimenti o collegamenti sul perché ciò accada, per favore?
Sopalajo de Arrierez,

@SopalajodeArrierez Ho fornito una spiegazione sul link per ulteriori istruzioni. Questo è un messaggio di errore (se provi prima senza saperlo), l'altra domanda è una risposta tutorial con maggiori dettagli.
Evan Carroll,

6

Un pacchetto zip che contiene un aggiornamento del firmware include sempre due file in META-INF/com/google/android: updater-scripte update-binary. updater-scriptè un file di testo contenente i comandi necessari per installare l'aggiornamento. update-binarytraduce i comandi in codice binario.

In Android 4.4 KitKat, Google ha modificato l'interfaccia updater-scriptutilizzata per l'impostazione delle autorizzazioni. Il set_permmetodo precedentemente utilizzato era obsoleto e sostituito da set_metadata. Ciò causa il fallimento delle vecchie versioni del software di recupero personalizzato con i pacchetti Android 4.4 (ad esempio CyanogenMod 11) e visualizza il messaggio di errore "set_metadata_recursive: alcune modifiche non sono riuscite".

La soluzione migliore è aggiornare il software di recupero personalizzato. Non ho trovato una versione abbastanza nuova di ClockworkMod compilata per il mio dispositivo, ma ho trovato la versione più recente di TWRP per funzionare.

La seconda opzione è quella di risolvere il problema updater-scriptsostituendo qualsiasi set_metadatae set_metadata_recursivechiama con la vecchia sintassi, cioè set_perme set_perm_recursive. Non l'ho fatto, quindi non sono sicuro di quanto sarebbe facile.

La terza opzione è quella di sostituire quella update-binarycon una patch creata dal membro XDA daniel_hk: http://forum.xda-developers.com/showthread.php?t=2532300 . L'ho fatto e ha funzionato bene, ma il binario è compilato per ARMv7 e non funzionerà in nessun'altra architettura.


Sostituendo il update-binaryfunzionato sul mio Oppo Find 5 sia per la ROM che per le gapps. Grazie!
Qwerty,

1

Oltre alla risposta di jmullee , fatta confrontando cm-10.1.3 e cm-11 updater-script. Dopo questa sostituzione, ho eseguito correttamente il flash cm-11-20141110-NIGHTLY-n7000.zipcon il ripristino 5 (kernel ICS speedmod integrato).

set_metadata => set_perm
set_metadata_recursive => set_perm_recursive

sed -i "s|set_metadata(\(\"[^\"]*\"\), \"uid\", \([0-9]*\), \"gid\", \([0-9]*\), \"mode\", \([0-9]*\).*);|set_perm(\2, \3, \4, \1);|" updater-script

0

Ho risolto la modifica del file \ META-INF \ com \ google \ android \ updater-script in un editor di testo e la sostituzione di tutto set_metadata_recursive con la sua vecchia versione set_param_recursive (la firma delle funzioni è relativamente equivalente), dopo di che devi comprimere nuovamente il pacchetto e firmare il file. Per sostituirlo e capire come farlo: cerca in Google "Sostituisci set_metadata_recursive con set_param_recursive phyton" qualcuno ha creato uno script phyton ma se capisci le firme delle funzioni puoi farlo manualmente. - quindi reimballare e firmare la zip.


-1

Ho scritto questo modello di ricerca / sostituzione che unisce il nuovo formato al vecchio e ha funzionato per me:

$ sed -i "s|set_metadata_recursive(\\(\"[^\"]\*\"\\), \"uid\", \\([0-9]\*\\), \"gid\", \\([0-9]\*\\), \"dmode\", \\([0-9]\*\\), \"fmode\", \\([0-9]\*\\),.*);|set_perm_recursive(\2, \3, \4, \5, \1);|" META-INF/com/google/android/updater-script

Alla fine l'app google-play non si installava, quindi ho morso il proiettile e ho recovery-clockwork-6.0.4.6-i9300.imgmostrato un recupero aggiornato ( con heimdal) e sono stato in grado di eseguire il flashing di un CM11 non modificato. A parte, Google Play ha avuto errori fino a quando non ho disabilitato 3G (forzando IPv4 su WiFi), sembra che ci siano stati (temporanei?) Problemi di connessione ai server Play tramite IPv6.


3
Un po 'più di informazioni sarebbero utili. Hai ricevuto questo da un forum? O l'hai scritto tu stesso? In entrambi i casi, random piece of codenon è poi così utile senza alcuni commenti (specialmente nel caso delle espressioni regolari).
Stephen Schrauger,

ok scusa - è solo un modello di ricerca / sostituzione che ho scritto che unisce il nuovo formato al vecchio. Alla fine l'app google-play non si installava, quindi ho morso il proiettile e ho mostrato un ripristino aggiornato (recovery-clockwork-6.0.4.6-i9300.img, con heimdal) e sono stato quindi in grado di eseguire il flashing di un cm11 non modificato. A parte, Google Play ha avuto errori fino a quando non ho disabilitato 3G (forzando IPv4 tramite
Wi

-1

STATUS DI ERRORE 7 è dovuto al fatto che dovrai aggiornare la versione CWM a una versione superiore o uguale alla versione CWM v 6.0.4.4 per installare kitkat e lecca-lecca su Samsung Galaxy Tab 2 GT-P5113 o GT-p5110


1
Questo può essere vero, ma puoi sostenere il tuo reclamo con le fonti?
Firelord

-2

Assicurati di abilitare "Debug USB" in "Opzioni sviluppatore" sul tuo telefono rootato. Questo ha funzionato per me.


Che cosa hanno a che fare le opzioni di sviluppo con il recupero? Quando vengono avviati in CWM / TWRP, quelli non svolgono alcun ruolo. Soprattutto non per le ROM lampeggianti.
Izzy

Sono completamente indipendenti.
SarpSTA,

Credo che questa risposta si riferisca all'impostazione "USB Debugging", che su alcuni dispositivi / versioni può impostare un flag in nvram che è effettivamente leggibile da Recovery.
Matteo Leggi il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.