बैकअप और ADB के माध्यम से Android सेटिंग्स और अनुप्रयोग को पुनर्स्थापित करें


30

मैं पूछना चाहता हूं कि क्या यह संभव है कि एडीबी के माध्यम से सभी एंड्रॉइड सेटिंग्स और एप्लिकेशन को बैकअप किया जाए।

मैंने कोशिश की:

adb backup -all
adb: unable to connect for backup

यह काम नहीं कर रहा है, जबकि अन्य सभी कमांड काम कर रहे हैं।

क्या इस bmgr का उपयोग करना संभव है ?


मैं win7-64 पर adb 1.0.29 का उपयोग कर रहा हूं और adb: unable to open file ./backup.abनिष्पादित करते समय त्रुटि प्राप्त करता हूं adb backup -all। क्या adb devicesआपका Android ढूंढता है?
k3b

हां मैं डिवाइस आईडी देख सकता हूं।

कमांड लाइन पर मल्टीपाइप पैकेज नामों को सबमिट करते समय मेरे पास एक समान मुद्दा था। समस्या थी (है) बैकअप के लिए संकुल की संख्या बहुत लंबी है। मुझे इसे कई कमांड कॉल में विभाजित करने की आवश्यकता थी
रोमेल्ड ब्रुनेट

जवाबों:


9

सुनिश्चित करें कि डीबगिंग सक्षम है और डिवाइस कनेक्ट है। इसके अलावा, वास्तव में डिवाइस पर "बैकअप माय डेटा" बटन का चयन करना याद रखें (डिवाइस को पुष्टि की आवश्यकता है)। यदि आप अपने डिवाइस पर ऐसी स्क्रीन नहीं देखते हैं, तो आप संभवतः एक पूर्व-आईसीएस (<4.0) फोन चला रहे हैं, जो दुर्भाग्य से सुविधा नहीं होगी।

इसके अलावा, इसके bmgrलिए कोई समाधान नहीं है- यह उन ऐप्स के परीक्षण के लिए एक उपकरण है, जो एप्लिकेशन में मैन्युअल रूप से "बैकअप" और "रिस्टोर" विधियों को बैकअप एजेंट पर फायरिंग करके बैकअप एपीआई का उपयोग करके अपने स्वयं के बैकअप को संभालते हैं , डिवाइस में शेलिंग नहीं और विकास मशीन से / को डेटा कॉपी करना।


यूप - मेरे लिए समस्या मेरे फोन पर एंड्रॉइड का पुराना संस्करण था, प्री 4.0। धन्यवाद!
nealmcb

क्या इसमें वास्तव में सेटिंग्स / डेटा शामिल हैं?
कोई भी

7

यहाँ चीजों को समर्थन करने के लिए मेरी आज्ञा है

./adb shell ls -l -a | grep '^[^l]' | sed -e 's/^d.* \([^ ]*\)\r$/mkdir sav\/\1; .\/adb pull \/\1 sav\/\1/' -e 's/-.* \([^ ]*\)\r$/.\/adb pull \/\1 sav\/\1/' | /bin/bash
  1. सभी फाइलों को सूचीबद्ध करें
  2. लिंक पर ध्यान न दें
  3. के लिये
    • फ़ाइलें: आउटपुट एक अदब पुल कमांड
    • निर्देशिका: dir बनाते हैं (मामले में जब हम sth खाली खींचते हैं) और एक adb पुल कमांड आउटपुट करते हैं
  4. मारपीट में सब कुछ निष्पादित

कुछ फाइलें हैं, जहां मुझे अनुमति से इनकार कर दिया गया है - लेकिन जैसा कि यह बैकअप डिवाइस को रूट करने के लिए बनाया गया है, मुझे अधिक अनुमति नहीं मिल सकती है ...


1
यह वास्तव में सभी फ़ाइलों का बैकअप लेता है (पुराने Android पर भी "अनुमति अस्वीकृत" बिट्स) (इस मामले में, जिंजरब्रेड 2.3.3)। मैं (जोड़ा इस प्रकार का उपयोग -pकरने के लिए परम mkdirकुछ त्रुटि संदेश से बचने और हटा दिया करने के लिए ./के सामने ./adb):time adb shell ls -l -a | grep '^[^l]' | sed -e 's/^d.* \([^ ]*\)\r$/mkdir -p sav\/\1; adb pull \/\1 sav\/\1/' -e 's/-.* \([^ ]*\)\r$/adb pull \/\1 sav\/\1/' | /bin/bash
स्टीफ़न गौयरिचन

3
सभी फ़ाइलों का पुनरावर्ती बैकअप करने के लिए एक बहुत सरल तरीका है, बिना किसी फैंसी रेगेक्स की आवश्यकता के "एडीबी पुल /" है।
जेसी हुलस

5

अगर मैं आपको सही तरीके से समझूं, तो यह लिंक वही हो सकता है जो आप खोज रहे हैं। संक्षेप में:

1)adb devices सुनिश्चित करें कि आपका डिवाइस संलग्न है चलाने के लिए।

2)adb pull /data/app ./ सभी ऐप एपीके को हथियाने और उन्हें वर्तमान फ़ोल्डर में डालने के लिए चलाएं ।
a) या adb pull /system/sd/app ./एसडी कार्ड पर एप्लिकेशन प्राप्त करने के लिए चलाएं ।

3) सेटिंग्स विभिन्न स्थानों पर स्थित हैं, इसलिए यह पता करें कि adb pullउन्हें कहाँ और फिर उसी कमांड का उपयोग उन्हें हथियाने के लिए किया गया है।

और फिर लिंक विवरण मैक या विंडोज के आधार पर कैसे पुनर्स्थापित करें।

वैकल्पिक रूप से, ऐसा लगता है कि bmgrआपके द्वारा बताई गई कमांड कुछ सरल कमांड्स के साथ भी काम करेगी ( adb shell bmgr backup <package>बैकअप और adb shell bmgr restore <package>रिस्टोर करने के लिए)। आप और क्या देख रहे हैं?


1
जैसा कि अलेक्जेंडर लुकास नीचे अपने जवाब में नोट करते हैं, bmgrकमांड डेवलपर्स के लिए ऐप बैकअप / पुनर्स्थापना का परीक्षण करने का एक उपकरण है। यह वास्तव में डिवाइस से किसी भी डेटा को कॉपी नहीं करता है, इसलिए इसके उपयोगी होने की संभावना नहीं है।
पीटी

जिंजरब्रेड डिवाइस के साथ adb 1.0.30 पर काम नहीं करता है:pull: building file list... 0 files pulled. 0 files skipped.
स्टीफन गौरिचोन

आपका adb pullनिजी एप्लिकेशन डेटा के लिए गैर-निहित उपकरणों पर काम नहीं करेगा। और bmgrकेवल
गोगल्स

2

समस्या संभवतः एक से अधिक उपकरण / एमुलेटर से जुड़ी होने के कारण है।

जांचें adb devicesकि अगर यह एक से अधिक डिवाइस दिखाता है तो यह कनेक्ट करने में सक्षम नहीं हो सकता है specialy to emulators

adb usbइसे चलाएं अन्य उपकरणों को पुनः आरंभ करें, फिर USB केबल को डिस्कनेक्ट / पुनः कनेक्ट करें, अब चलाएं

adb devices

यह केवल एक उपकरण दिखाना चाहिए।

अब करो

adb backup -all

और आपको जाना अच्छा होना चाहिए :)


अगर मैं एंड्रॉइड के लिए टर्मिनल एमुलेटर के माध्यम से स्थानीय रूप से कमांड का उपयोग करता हूं तो मुझे क्या करना होगा?
user2284570

2

एसडीके अपडेट को चलाना सुनिश्चित करें और विशेष रूप से Google यूएसबी ड्राइवर्स के लिए बॉक्स को चेक करें और एसडीके को अपडेट करें।

अपने डिवाइस पर USB डीबगिंग को सक्षम करने और अपने पीसी में प्लग करने के बाद, आपको ड्राइवरों को स्थापित करने के बारे में संकेत देना चाहिए। भले ही इसका सफल ओपन डिवाइस मैनेजर हो और आपका फ़ोन सही लगे और ड्राइवरों को अपडेट करें और इसे Google USB ड्राइवर फ़ोल्डर में इंगित करें SDK > Extras > Google USBऔर इसे ड्राइवरों को अपडेट करने दें।

तब आपको अपने डिवाइस से पूर्ण बैकअप खींचने में सक्षम होना चाहिए।


यह मेरे लिए मुद्दा तय किया जब मैं यह कर रहा था। ड्राइवर समस्या नहीं थे, लेकिन ADB संस्करण स्वयं बहुत पुराना था।
एजे हेंडरसन

1

मेरे पास एक GS4 है जिसे मुझे बैकअप की आवश्यकता थी और दुर्भाग्य से इस त्रुटि में भाग गया। थोड़ा सिर खुजलाने (और शपथ ग्रहण) के बाद मुझे यह तय हुआ कि मुझे उम्मीद है कि आप काम करेंगे। मैं यह सिर्फ abdमदद प्रलेखन के माध्यम से चल रहा है और स्क्रॉल करके यह पता लगाने में सक्षम था । मैंने पाया कि -dयह एक पैरामीटर है जो "केवल कनेक्टेड यूएसबी डिवाइस को कमांड देता है"। इसलिए प्लगिंग और चुगिंग के बाद मुझे यह मेरे लिए काम करने के लिए मिला। मेरे द्वारा उपयोग की जाने वाली कमांड थी:

adb -d backup -apk -shared -all -f C:\Users\NAME\backup.ab

आशा है कि यह किसी के लिए काम करता है जो मेरे पास एक ही मुद्दा है।


0

मेरे पास एक ही मुद्दा था और मैं प्री-आईसीएस भी हूं। मैंने इसके चारों ओर काम /करने के लिए एक बैच फ़ाइल बनाने के लिए ls और awk (grep लिंक के साथ) का उपयोग किया था, जो मेरे पीसी पर एक निर्देशिका पर प्रत्येक वास्तविक निर्देशिका को खींचता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.