चमकती मुख्यमंत्री 11, मुझे `set_metadata_recursive: कुछ परिवर्तन विफल हुए`:


19

जब मैं अपने सैमसंग गैलेक्सी टैब 2 (GT-P5113) को CyanogenMod 11 में अपडेट करने की कोशिश करता हूं, तो घड़ी की कल की वसूली v6.0.2.3 मुझे फोलिंग त्रुटि देता है:

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.

हताश होने के नाते मैंने टीम विन रिकवरी प्रोजेक्ट (TWRP) v2.6.3.0 के साथ एक ही कोशिश की - मेरे प्लेटोफ़्रेम के लिए नवीनतम,

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'

जवाबों:


16

संक्षेप में, यदि आप किटकैट एंड्रॉइड 4.4 को फ्लैश करना चाहते हैं, तो आपको v6.0.4.5 से अधिक CWM के संस्करण में अपग्रेड करना होगा। या, एक वैकल्पिक बूटलोडर का उपयोग करें। गैलेक्सी टैब 2 GT-P5113 या GT-p5110 के लिए आप यहाँ निर्देश पा सकते हैं


कोई संदर्भ या लिंक ऐसा क्यों होता है, कृपया?
सोपालाजो डी एरियेरेज़

@SopalajodeArrierez I ने आगे के निर्देशों के लिंक पर एक स्पष्टीकरण प्रदान किया। यह एक त्रुटि संदेश है (यदि आप बिना जाने पहले प्रयास करते हैं), तो दूसरा प्रश्न अधिक विवरण के साथ एक ट्यूटोरियल-उत्तर है।
इवान कैरोल

6

एक ज़िप पैकेज जिसमें एक फर्मवेयर अद्यतन होता है, हमेशा दो फाइलों में शामिल होता है META-INF/com/google/android: updater-scriptऔर update-binaryupdater-scriptअद्यतन स्थापित करने के लिए आवश्यक आदेशों वाली एक पाठ फ़ाइल है। update-binaryबाइनरी कोड में कमांड्स का अनुवाद करता है।

एंड्रॉइड 4.4 किटकैट में, Google ने updater-scriptअनुमतियों को स्थापित करने के लिए उपयोग किए जाने वाले इंटरफ़ेस को बदल दिया है । पहले उपयोग की गई set_permविधि को हटा दिया गया था और इसके द्वारा प्रतिस्थापित किया गया था set_metadata। यह एंड्रॉइड 4.4 पैकेज (जैसे CyanogenMod 11) के साथ कस्टम रिकवरी सॉफ़्टवेयर के पुराने संस्करणों को विफल करने का कारण बनता है और त्रुटि संदेश "set_metadata_recursive: कुछ परिवर्तन विफल" प्रदर्शित करता है।

कस्टम रिकवरी सॉफ़्टवेयर को अद्यतन करने के लिए सबसे अच्छा समाधान है। मुझे अपने डिवाइस के लिए संकलित क्लॉकवर्कमॉड का नया पर्याप्त संस्करण नहीं मिला है, लेकिन मुझे काम करने के लिए TWRP का सबसे नया संस्करण मिला है।

दूसरा विकल्प ठीक करने के लिए है updater-scriptकिसी भी जगह से set_metadataऔर set_metadata_recursiveपुराने वाक्य रचना, यानी के साथ कॉल set_permऔर set_perm_recursive। मैंने ऐसा नहीं किया है इसलिए मुझे यकीन नहीं है कि यह कितना आसान होगा।

तीसरा विकल्प update-binaryXDA सदस्य daniel_hk द्वारा बनाए गए एक पैच के साथ प्रतिस्थापित करना है : http://forum.xda-developers.com/showthread.php?t=2532300 । मैंने यह किया है और यह ठीक काम किया है, लेकिन बाइनरी ARMv7 के लिए संकलित है और किसी अन्य वास्तुकला में काम नहीं करेगा।


ROM और gapps दोनों के लिए update-binaryमेरे ओप्पो फाइंड 5 पर काम करने की जगह । धन्यवाद!
क्वर्टी

1

जेमली के जवाब के अलावा , सेमी -10.1.3 और सेमी -11 अपडेटर-स्क्रिप्ट की तुलना करके बनाया गया है। इस प्रतिस्थापन के बाद, मैं सफलतापूर्वक cm-11-20141110-NIGHTLY-n7000.zipपुनर्प्राप्ति 5 (आईसीएस स्पीडमॉड कर्नेल में अंतर्निहित) के साथ चमक गया।

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

मैंने एक पाठ संपादक में \ META-INF \ com \ google \ android \ updater-script फ़ाइल को मोडिफाई करने और उसके पुराने संस्करण set_param_recursive (फ़ंक्शन के हस्ताक्षर अपेक्षाकृत बराबर) द्वारा सभी set_metadata_recursive को प्रतिस्थापित करने का हल किया है, उसके बाद आप पैक को फिर से ज़िप करना होगा और फ़ाइल पर हस्ताक्षर करना होगा। प्रतिस्थापित करने और यह पता लगाने के लिए कि यह कैसे करना है: google में "set_metadata_recursive को set_param_recursive phyton द्वारा बदलें" किसी ने एक phyton स्क्रिप्ट बनाई है, लेकिन यदि आप फ़ंक्शन को समझते हैं तो आप मैन्युअल रूप से कर सकते हैं। - फिर रिपैक करें और ज़िप पर हस्ताक्षर करें।


-1

मैंने इस खोज / प्रतिरूप को लिखा है जो नए प्रारूप को पुराने में बदल देता है, और इसने मेरे लिए काम किया:

$ 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

अंत में google-play ऐप या तो इंस्टॉल नहीं होगा, इसलिए मैंने गोली चलाई और एक अपडेटेड रिकवरी ( recovery-clockwork-6.0.4.6-i9300.imgहेइमल्ड के साथ) फ्लैश की और फिर अनमॉडिफाइड CM11 को फ्लैश करने में सक्षम हुआ। इसके अलावा, Google Play में त्रुटि तब तक थी जब तक कि मैंने 3G (WiFi पर IPv4 को मजबूर नहीं) कर दिया था, ऐसा लगता है कि IPv6 के माध्यम से Play सर्वर से कनेक्ट होने के अस्थायी () मुद्दे थे।


3
थोड़ी अधिक जानकारी उपयोगी होगी। क्या आपको यह एक मंच से मिला? या आपने खुद इसे लिखा था? या तो मामले में, random piece of codeयह सब कुछ टिप्पणियों के बिना मददगार नहीं है (विशेषकर नियमित अभिव्यक्ति के मामले में)।
स्टीफन श्रागर

ओके सॉरी - यह सिर्फ एक खोज / प्रतिस्थापित पैटर्न है जो मैंने लिखा है कि नए प्रारूप को पुराने में बदल देता है। अंत में google-play ऐप या तो इंस्टॉल नहीं होगा, इसलिए मैंने बुलेट को बिट किया और एक अपडेटेड रिकवरी (रिकवरी-क्लॉकवर्क-6.0.4.6-i9300.img, heimdal के साथ) फ्लैश किया और फिर एक अनमैन्डिफाइड 1111 फ्लैश करने में सक्षम था। एक तरफ, गूगल प्ले त्रुटि थी जब तक मैं विकलांग 3 जी (वाईफाई से अधिक आईपीवी 4 के लिए मजबूर कर), ऐसा लगता है वहाँ थे मुद्दों आईपीवी 6 के माध्यम से सर्वर खेलने के लिए जोड़ने (अस्थायी?)
jmullee

-1

ERROR STATUS 7 इसलिए है क्योंकि आपको सैमसंग गैलेक्सी टैब 2 GT-P5113 या GT-p5110 पर किटकैट और लॉलीपॉप लगाने के लिए CWM संस्करण को CWM v 6.0.4.4 से अधिक या उसके बराबर अपग्रेड करना होगा।


1
यह सच हो सकता है, लेकिन क्या आप स्रोत के साथ अपना दावा वापस ले सकते हैं?
Firelord

-2

सुनिश्चित करें कि आप अपने रूट किए गए फोन पर "डेवलपर विकल्पों" के तहत "यूएसबी डिबगिंग" सक्षम करें। मेरे लिए वह काम कर गया।


वसूली के साथ डेवलपर के विकल्पों का क्या करना है? जब CWM / TWRP में बूट किया जाता है, तो वे कोई भूमिका नहीं निभाते हैं। विशेष रूप से चमकती रोम के लिए नहीं।
इज़ी

वे पूरी तरह से असंबंधित हैं।
18 अप्रैल को सर्पस्टा

मेरा मानना ​​है कि यह उत्तर "USB डिबगिंग" सेटिंग का जिक्र है, जो कुछ उपकरणों / संस्करणों पर एक ध्वज को nvram में सेट कर सकता है जो वास्तव में पुनर्प्राप्ति से पठनीय है।
मैथ्यू पढ़ें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.