Cuttlefish वर्चुअल Android डिवाइस

Cuttlefish, कॉन्फ़िगर किया जा सकने वाला वर्चुअल Android डिवाइस है. इसे रिमोटली (Google Cloud Engine जैसी तीसरे पक्ष की क्लाउड सेवाओं का इस्तेमाल करके) और स्थानीय तौर पर (Linux x86 और ARM64 मशीनों पर) चलाया जा सकता है.

कटलफ़िश के लक्ष्य

  • इसकी मदद से, प्लैटफ़ॉर्म और ऐप्लिकेशन डेवलपर को कोड में बदलाव करने और उनकी पुष्टि करने के लिए, फ़िज़िकल हार्डवेयर पर निर्भर नहीं रहना पड़ता.
  • यह फ़्रेमवर्क, किसी असली डिवाइस के फ़्रेमवर्क के हिसाब से काम करता है. इसमें हाई फ़िडेलिटी पर फ़ोकस किया जाता है. इसके लिए, यह कोर फ़्रेमवर्क के साथ काम करता है.
  • एपीआई लेवल 28 के बाद के सभी लेवल के साथ काम करता है.
  • एपीआई लेवल के हिसाब से, फ़ंक्शन के लेवल को एक जैसा रखें. साथ ही, इसे फ़िज़िकल हार्डवेयर के व्यवहार के मुताबिक बनाएं.
  • स्केल चालू करें:

    • एक साथ कई डिवाइसों को चलाने की सुविधा मिलती है.
    • कम कीमत पर, ज़्यादा भरोसेमंद नतीजों के साथ एक साथ कई टेस्ट चलाने की सुविधा चालू करें.
  • कॉन्फ़िगर किया जा सकने वाला ऐसा डिवाइस उपलब्ध कराएं जिसमें साइज़, रैम, सीपीयू वगैरह को अडजस्ट किया जा सके.

Cuttlefish की तुलना अन्य डिवाइसों से करना

कटलफ़िश और Android Emulator

इसमें Android Emulator की तरह ही कई सुविधाएं हैं. हालांकि, Cuttlefish, Android फ़्रेमवर्क के साथ पूरी तरह से काम करता है. भले ही, यह पूरी तरह से AOSP हो या आपके ट्री में कस्टम तौर पर लागू किया गया हो. असल दुनिया में इसका मतलब यह है कि आपको Cuttlefish से, ओएस लेवल पर उसी तरह की प्रतिक्रियाएं मिलेंगी जिस तरह से आपको किसी ऐसे फ़िज़िकल फ़ोन से मिलती हैं जिसे उसी तरह के कस्टम या प्योर Android ओएस सोर्स से बनाया गया है.

Android Emulator को इस तरह से बनाया गया है कि इससे ऐप्लिकेशन को आसानी से डेवलप किया जा सके. इसमें कई फ़ंक्शनल हुक शामिल हैं, ताकि Android ऐप्लिकेशन डेवलपर के इस्तेमाल के मामलों को पूरा किया जा सके. अगर आपको अपने हिसाब से बनाए गए Android फ़्रेमवर्क के साथ कोई एम्युलेटर बनाना है, तो आपको समस्याएं आ सकती हैं. अगर आपको एक ऐसे वर्चुअल डिवाइस की ज़रूरत है जो आपके कस्टम प्लैटफ़ॉर्म/फ़्रेमवर्क कोड या टिप-ऑफ़-ट्री Android का प्रतिनिधित्व करे, तो Cuttlefish एक बेहतरीन वर्चुअल विकल्प है. यह AOSP डेवलपमेंट की मौजूदा स्थिति को दिखाने वाला कैननिकल डिवाइस है.

कटलफ़िश और फ़िज़िकल डिवाइस

Cuttlefish वर्चुअल डिवाइस और आपके फ़िज़िकल डिवाइस के बीच मुख्य अंतर, हार्डवेयर ऐब्स्ट्रैक्शन लेयर (एचएएल) लेवल पर होते हैं. साथ ही, ये अंतर ऐसे सॉफ़्टवेयर में भी होते हैं जो किसी कस्टम हार्डवेयर के साथ इंटरैक्ट करता है. हार्डवेयर के हिसाब से लागू किए गए सिस्टम को छोड़कर, आपको Cuttlefish और किसी फ़िज़िकल डिवाइस के बीच एक जैसा व्यवहार देखने को मिलेगा.

Cuttlefish आपकी कैसे मदद कर सकता है?

Cuttlefish का इस्तेमाल, किसी भी Android डिवाइस की तरह किया जा सकता है. इसका इस्तेमाल डीबग करने के लिए किया जा सकता है. यह डिवाइस, adb के ज़रिए खुद को एक सामान्य डिवाइस के तौर पर रजिस्टर करेगा. साथ ही, रिमोट डेस्कटॉप के ज़रिए इस डिवाइस के साथ उसी तरह इंटरैक्ट किया जा सकेगा जिस तरह किसी फ़िज़िकल डिवाइस के साथ किया जाता है. इस्तेमाल के उदाहरणों की संख्या ज़्यादा है. इनमें ऐप्लिकेशन की टेस्टिंग, कस्टम सिस्टम बिल्ड टेस्टिंग वगैरह शामिल हैं.

Cuttlefish, फ़्रेमवर्क की पूरी तरह से नकल करने की कोशिश करता है. इसलिए, इसका इस्तेमाल आपके फ़्रेमवर्क या ऐप्लिकेशन की फ़ंक्शनल टेस्टिंग के लिए किया जा सकता है. हालांकि, ऐसा सिर्फ़ तब किया जा सकता है, जब फ़िज़िकल हार्डवेयर की ऐसी डिपेंडेंसी न हों जिनकी नकल करना मुमकिन न हो.

आजकल, Cuttlefish का इस्तेमाल आम तौर पर टेस्टिंग के लिए कैसे किया जाता है?

Cuttlefish का इस्तेमाल, इन कामों के लिए किया जा सकता है:

  • CTS
  • फ़्रेमवर्क के मुताबिक काम करना
  • लगातार इंटिग्रेशन की जांच करना
  • पसंद के मुताबिक टेस्ट सुइट

क्या क्लाउड में Cuttlefish को होस्ट किया जा सकता है?

हां, Cuttlefish, Google Cloud के साथ काम करता है. साथ ही, अन्य क्लाउड प्लैटफ़ॉर्म के साथ काम करने की सुविधा भी जल्द उपलब्ध होगी.

शुरू करें

AOSP पर आधारित Cuttlefish इंस्टेंस बनाने के बारे में जानने के लिए, Cuttlefish का इस्तेमाल करना लेख पढ़ें.