2012-09-28 27 views
9

एप्लिकेशन चलाते समय। एपीके फ़ाइल बनाई गई है और एएमके फ़ाइल एमुलेटर में स्थापित है। एमुलेटर में एपीके फ़ाइल स्थापित करने के लिए हमें एंड्रॉइड डीबग ब्रिज (एडीबी) सेवा की आवश्यकता है। डेमॉन इस सेवा का एक हिस्सा है। मेरा सवाल है कि डेमन का काम क्या है? यह क्या करता है?एडीबी डिमन क्या है?

उत्तर

2

मेरा प्रश्न यह है कि डेमन का काम क्या है? यह क्या करता है?

डेमॉन अन्य थ्रेड या ऑब्जेक्ट्स के लिए एक सेवा प्रदाता की तरह हैं जो डेमॉन थ्रेड के समान प्रक्रिया में चल रहे हैं। डेमॉन थ्रेड का उपयोग पृष्ठभूमि सहायक कार्यों के लिए किया जाता है और केवल सामान्य थ्रेड निष्पादित होने पर ही आवश्यक होते हैं। यदि सामान्य धागे नहीं चल रहे हैं और शेष धागे डिमन थ्रेड हैं तो दुभाषिया निकलता है।

+2

एक सामान्य डेमॉन का अच्छा विवरण, लेकिन यह जवाब नहीं देता कि * adb daemon * क्या है। – nneonneo

12

Android Debug Bridge प्रलेखन से:

Android डीबग ब्रिज (एडीबी) एक बहुमुखी कमांड लाइन टूल देता है कि आप एक एमुलेटर उदाहरण या जुड़ा Android संचालित डिवाइस के साथ संवाद है। यह एक क्लाइंट-सर्वर प्रोग्राम है जिसमें तीन घटक शामिल हैं:

  • एक क्लाइंट, जो आपकी विकास मशीन पर चलता है। आप एक adb कमांड जारी करके एक क्लाइंट को खोल से बुला सकते हैं। अन्य एंड्रॉइड टूल्स जैसे कि एडीटी प्लगइन और डीडीएमएस भी एडीबी क्लाइंट बनाते हैं।
  • एक सर्वर, जो आपकी विकास मशीन पर पृष्ठभूमि प्रक्रिया के रूप में चलता है। सर्वर क्लाइंट और एडीबी डिमन को एमुलेटर या डिवाइस पर चलने के बीच संचार प्रबंधित करता है।
  • एक डिमन, जो प्रत्येक एमुलेटर या डिवाइस उदाहरण पर पृष्ठभूमि प्रक्रिया के रूप में चलता है।

तो, डेमॉन एडीबी घटक है कि डिवाइस (या एमुलेटर) पर चलता है जो एडीबी सर्वर से आदेश को स्वीकार करता है और उन्हें निष्पादित होता है।

+0

क्या यह एंड्रॉइड एमुलेटर के लिए ओएस की तरह काम कर रहा है? – lopa

+0

नहीं, यह केवल एक प्रोग्राम है जो आदेश स्वीकार करता है और डिवाइस पर निष्पादित करता है।आप 'adb shell' कहते हैं, डिमन डिवाइस पर' sh' चलाता है और 'stdout/stdin/stderr' को आपके' adb' पर रूट करता है। एंड्रॉइड एमुलेटर स्वतंत्र रूप से एडीबी डिमन के अपने ओएस चलाता है। – nneonneo

+0

धन्यवाद nneonneo .. :) – lopa

1

असल में, एडीबी यह बात है, जो आपके और सिस्टम के बीच बैठती है। एंड्रॉइड सिस्टम को मूल रूप से नियंत्रण बिंदु की आवश्यकता होती है, ताकि आप इसे कमांड भेज सकें, जैसे:

  • इस ऐप को इंस्टॉल करें।
  • पोर्ट वाई
  • पर ऐप एक्स में डीबगर संलग्न करें एक खोल खोलें ताकि उपयोगकर्ता डिवाइस से बात कर सके।

यदि आपके पास एडीबी के बिना मानक एंड्रॉइड सिस्टम था, तो डिवाइस को नियंत्रित करने का कोई तरीका नहीं होगा।

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

+0

उत्तर के लिए क्रिस्टोफर धन्यवाद :) – lopa