दिलचस्प पोस्ट
एक तालिका में माइक्रोसॉफ्ट एक्सेस एक से अधिक पंक्तियां एकत्रित करता है सी # निर्माता / उपभोक्ता isset () और खाली () – का उपयोग करने के लिए UIButton को छुआ नहीं जा सकता जबकि एनिमेटेड UIView एनाइटमथडिअरीशन के साथ चल रहे मानक विचलन को कुशलतापूर्वक कैसे गणना करें? एएसएएस और एसडीओ के माध्यम से एमएक्स के साथ फाइल खोलें अमेज़ॅन लिनक्स पर यूवेएसबी अपस्टार्ट सी ++ में कन्स्ट्रक्टर और = ऑपरेटर ओवरलोड कॉपी करें: क्या एक आम समारोह संभव है? एक सामग्री के लिए HTML तत्व में प्रोग्राम चुनें? jquery (या शुद्ध जे एस) अनुकरण परीक्षण के लिए दबाया कुंजी दर्ज करें डॉकर डेमन लॉग कहां है? Google एपीआई एपीआई अनुरोध एंड्रॉइड ऑटो-कॉम्पले के लिए निषेध है, यहां तक ​​कि सही एपीआई कुंजी के साथ भी सी ++ थ्रेड्स, std :: system_error – ऑपरेशन की अनुमति नहीं है? क्या मैं बूस्ट के साथ निर्देशिका में फ़ाइलों को पुनरावृति करने के लिए एक मुखौटा का उपयोग कर सकता हूं? एक चिपचिपा नेविगेशन बार कैसे बनाओ जो स्क्रॉलिंग के बाद शीर्ष पर तय हो जाता है

एंड्रॉइड एमुलेटर स्टोर SQLite डेटाबेस कहाँ है?

मैं एक एंड्रॉइड एप्लिकेशन पर काम कर रहा हूं जो एक SQLite डेटाबेस में डेटा संग्रहीत करता है। मेरा प्रश्न यह है, जब आप एक एमुलेटर का उपयोग कर रहे हैं, तो यह डाटाबेस फ़ाइल फाइल सिस्टम पर संग्रहीत कहां है?

मैंने देखा है कि इसमें संग्रहीत है

/data/data/package_name/databases

लेकिन मुझे यह जानने की जरूरत है कि मेरी स्थानीय मशीन की हार्ड ड्राइव कहां है, जो वास्तव में मानचित्रों के लिए है डाटाबेस मशीन को बंद करने के बाद भी, एमुलेटर के कई रनों पर कायम रहता है, इसलिए यह केवल राम में नहीं रह सकता …

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड एमुलेटर स्टोर SQLite डेटाबेस कहाँ है?"

एमिलेटर की फाइल सिस्टम आपकी हार्ड ड्राइव पर एक निर्देशिका में मैप नहीं करता है। एमुलेटर की डिस्क छवि को एक छवि फ़ाइल के रूप में संग्रहित किया जाता है, जिसे आप Eclipse (उपकरण पट्टी में G1- दिखने वाले आइकन को देखें) या इम्यूलेटर द्विआधारी के माध्यम से (विकल्प के वर्णन के लिए "एमुलेटर-सहायता" चला सकते हैं) के माध्यम से प्रबंधित कर सकते हैं। ।

आप कमांड लाइन से एडीबी का उपयोग कर चल रहे एमुलेटर में जैक के लिए सबसे अच्छा कर रहे हैं। यदि आप विशिष्ट निर्देशिका और फ़ाइल नाम प्राप्त कर सकते हैं, तो आप "एडीबी पुल" को एमुलेटर के डाटाबेस फ़ाइल को बंद करने और अपने नियमित हार्ड ड्राइव पर कर सकते हैं।

संपादित करें : हटाए गए सुझाव को हटाए गए उपकरणों के लिए भी काम करता है – यह केवल emulators के लिए काम करता है, और डिवाइस जहां आप रूट के रूप में एडीबी का संचालन कर रहे हैं

कृपया इस लिंक को देखें या नीचे दिए गए उत्तर का पालन करें।


नीचे दिए गए टिप्पणियों में उल्लिखित अद्यतन:

अब आपको डीडीएमएस के परिप्रेक्ष्य में रहने की आवश्यकता नहीं है, बस एक्लिप्स विंडो से फ़ाइल एक्सप्लोरर खोलें > दृश्य दिखाएँ> अन्य … ऐसा लगता है कि ऐप को भी चलने की आवश्यकता नहीं है, मैं अलग-अलग ऐप फाइलों में ब्राउज़ कर सकता हूं सामग्री। मैं एडीबी संस्करण 1.0.29 चल रहा हूं


या, आप पुराने दृष्टिकोण की कोशिश कर सकते हैं:

अपने एक्लिप्स आईडीई पर डीडीएमएस परिप्रेक्ष्य खोलें

( विंडो> ओपन पर्सपेक्टिव> अन्य> डीडीएमएस )

और सबसे महत्वपूर्ण:

आपका आवेदन चलाना होगा ताकि आप फ़ोल्डर्स और फाइलों के हिरासत को देख सकें

फिर फ़ाइल एक्सप्लोरर टैब में आप पथ का पालन करेंगे:

डेटा> डेटा> आपका पैकेज-नाम> डेटाबेस> अपना डेटाबेस-फ़ाइल

तब फाइल का चयन करें, .db फ़ाइल डाउनलोड करने के लिए स्क्रीन के दाएं कोने में डिस्क आइकन पर क्लिक करें। यदि आप एमुलेटर के लिए एक डेटाबेस फ़ाइल अपलोड करना चाहते हैं तो आप फ़ोन आइकन पर क्लिक कर सकते हैं (डिस्क आइकन के बगल में) और अपलोड करने के लिए फ़ाइल चुन सकते हैं।

यदि आप .db फ़ाइल की सामग्री देखना चाहते हैं, तो मुझे सलाह है कि आप SQLite डेटाबेस ब्राउज़र का उपयोग करें, जिसे आप यहां डाउनलोड कर सकते हैं ।

पुनश्च: यदि आप वास्तविक डिवाइस से डेटाबेस देखना चाहते हैं, तो आपको अपने फोन को रूट करना होगा।

अन्य उत्तरों गंभीर रूप से पुरानी हैं एंड्रॉइड स्टूडियो के साथ, आप ऐसा करते हैं:

  1. Toos> Android> Android डिवाइस मॉनिटर पर क्लिक करें

यहां छवि विवरण दर्ज करें

  1. फ़ाइल एक्सप्लोरर पर क्लिक करें

यहां छवि विवरण दर्ज करें

  1. अपनी डीबी फ़ाइल पर जाएं और सहेजें बटन पर क्लिक करें।

यहां छवि विवरण दर्ज करें

मैंने एक सरल बाश स्क्रिप्ट लिखी, जो एंड्रॉइड डिवाइस से आपके कंप्यूटर पर डेटाबेस खींचती है (लिनक्स, मैक उपयोगकर्ता)

फ़ाइल नाम: android_db_move.sh उपयोग: android_db_move.sh com.example.app db_name.db

 #!/bin/bash REQUIRED_ARGS=2 ADB_PATH=/Users/Tadas/Library/sdk/platform-tools/adb PULL_DIR="~/" if [ $# -ne $REQUIRED_ARGS ] then echo "" echo "Usage:" echo "android_db_move.sh [package_name] [db_name]" echo "eg. android_db_move.sh lt.appcamp.impuls impuls.db" echo "" exit 1 fi; echo"" cmd1="$ADB_PATH -d shell 'run-as $1 cat /data/data/$1/databases/$2 > /sdcard/$2' " cmd2="$ADB_PATH pull /sdcard/$2 $PULL_DIR" echo $cmd1 eval $cmd1 if [ $? -eq 0 ] then echo ".........OK" fi; echo $cmd2 eval $cmd2 if [ $? -eq 0 ] then echo ".........OK" fi; exit 0 

डेटाबेस / डेटा / डाटा / पैकेज / डाटाबेस / डाटाबेसाइल में SQLite फ़ाइलों के रूप में संग्रहीत हैं:

  • पैकेज को एंड्रॉइड मैनिफ़ेस्ट। एक्सएमएल (टैग "मैनिफेस्ट", विशेषता "पैकेज") में घोषित किया गया है।
  • DATABASEFILE नाम दिया गया है जब आप SQLiteOpenHelper कन्स्ट्रक्टर को कॉल करते हैं, जैसा कि यहां बताया गया है: http://developer.android.com/guide/topics/data/data-storage.html#db

आप फ़ाइल एक्सप्लोरर टैब में डीडीएमएस परिप्रेक्ष्य का चयन करने वाले एमुलेटर में डेटाबेस फ़ाइल को देख सकते हैं (/ से फाइल सिस्टम की प्रतिलिपि) देख सकते हैं।

चूंकि सवाल एंड्रॉइड स्टूडियो तक सीमित नहीं है, इसलिए मैं विजुअल स्टूडियो 2015 के लिए रास्ता दे रहा हूं (एक्समरिन के लिए काम किया है)।

उपकरण-एंड्रॉइड- एंड्रॉइड डिवाइस मॉनिटर

यहां छवि विवरण दर्ज करें

इस सवाल के अन्य answerers के लिए विशेष धन्यवाद

सरल समाधान – दोनों इम्यूलेटर और कनेक्टेड डिवाइस के लिए काम करता है

1 वर्तमान में उपलब्ध उपकरणों / emulators की सूची देखें

 $ adb devices 

जुड़े हुए उपकरणों की सूची

G7NZCJ015313309 डिवाइस इम्यूलेटर -5554 डिवाइस

9885b6454e46383744 उपकरण

2 अपने डिवाइस / एमुलेटर पर बैकअप चलाएं

 $ adb -s emulator-5554 backup -f ~/Desktop/data.ab -noapk com.your_app_package.app; 

3 निकालें data.ab

 $ dd if=data.ab bs=1 skip=24 | openssl zlib -d | tar -xvf -; 

आपको /db फ़ोल्डर में डेटाबेस मिलेगा