कटलफ़िश एक ऐसा वर्चुअल Android डिवाइस है जिसे कॉन्फ़िगर किया जा सकता है. इसे रिमोट तरीके से (Google Cloud Engine जैसे तीसरे पक्ष के क्लाउड ऑफ़र का इस्तेमाल करके) और लोकल नेटवर्क (Linux x86 और ARM64 मशीनों पर) दोनों तरह से चलाया जा सकता है.
कटलफ़िश के लक्ष्य
- प्लैटफ़ॉर्म और ऐप्लिकेशन डेवलपर को कोड से जुड़े बदलावों को डेवलप करने और उनकी पुष्टि करने के लिए, फ़िज़िकल हार्डवेयर पर निर्भर रहने से बचें.
- मुख्य फ़्रेमवर्क को ध्यान में रखते हुए, हाई फ़िडेलिटी पर फ़ोकस करते हुए, असल डिवाइस के फ़्रेमवर्क के हिसाब से काम करें.
- 28 के बाद के सभी एपीआई लेवल के साथ काम करें.
- सभी एपीआई लेवल पर फ़ंक्शन को एक जैसा लेवल उपलब्ध कराएं. यह फ़िज़िकल हार्डवेयर पर किए जाने वाले काम करने के तरीके के हिसाब से होना चाहिए.
स्केल चालू करें:
- एक साथ कई डिवाइस चलाने की सुविधा दें.
- कम कीमत पर हाई फ़िडेलिटी के साथ एक साथ टेस्ट करने की सुविधा चालू करें.
कॉन्फ़िगर किया जा सकने वाला ऐसा डिवाइस उपलब्ध कराएं जिसमें डिवाइस के नाप या आकार, रैम, सीपीयू वगैरह को अडजस्ट करने की सुविधा हो.
कटलफ़िश की तुलना अन्य डिवाइसों से करें
कटलफ़िश और Android एम्युलेटर
Android Emulator के साथ कई समानताएं हैं, लेकिन Cuttleफ़िश Android फ़्रेमवर्क के साथ पूरी फ़िडेलिटी की गारंटी देती है (चाहे यह पूरी तरह एओएसपी हो या आपके अपने ट्री में कस्टम लागू करने की सुविधा हो). असल दुनिया में इस्तेमाल किए जाने वाले ऐप्लिकेशन में इसका मतलब है कि कटलफ़िश से उम्मीद की जानी चाहिए कि वह ओएस लेवल पर आपके इंटरैक्शन का सही जवाब देगी. यह ठीक वैसा ही है, जैसे पसंद के मुताबिक बनाए गए या पूरी तरह से Android OS सोर्स से बनाए गए फ़िज़िकल फ़ोन टारगेट में.
Android Emulator को ऐप्लिकेशन डेवलप करने की प्रक्रिया को आसान बनाने के लिए इस्तेमाल के उदाहरण के साथ बनाया गया है. इसमें Android ऐप्लिकेशन डेवलपर के उपयोग के उदाहरणों की ओर से अपील करने के लिए कई फ़ंक्शनल हुक मौजूद हैं. अगर आपको अपनी पसंद के मुताबिक बनाए गए Android फ़्रेमवर्क के साथ एम्युलेटर बनाना है, तो इसके लिए आपको चुनौतियां पेश करनी पड़ सकती हैं. अगर आपको एक वर्चुअल डिवाइस चाहिए, जो आपके कस्टम प्लैटफ़ॉर्म/फ़्रेमवर्क कोड या टिप-ऑफ़-ट्री Android का प्रतिनिधित्व करेगा, तो Cuttleफ़िश एक बेहतरीन वर्चुअल विकल्प है. यह एओएसपी डेवलपमेंट की मौजूदा स्थिति को दिखाने के लिए एक कैननिकल डिवाइस है.
कटलफ़िश और फ़िज़िकल डिवाइस
कटलफ़िश वर्चुअल डिवाइस और आपके फ़िज़िकल डिवाइस के बीच मुख्य अंतर हार्डवेयर ऐब्स्ट्रक्शन लेयर (HAL) लेवल पर है. साथ ही, यह किसी भी कस्टम हार्डवेयर के साथ इंटरैक्ट करने वाले सॉफ़्टवेयर भी हैं. हार्डवेयर के हिसाब से लागू करने के अलावा, आपको कटलफ़िश और फ़िज़िकल डिवाइस के बीच फ़ंक्शन के तौर पर एक जैसा व्यवहार करना चाहिए.
कटलफ़िश कैसे मदद कर सकती है?
डीबग करने के लिए इस्तेमाल होने वाले किसी अन्य Android डिवाइस की तरह ही, Cuttleफ़िश के साथ इंटरैक्ट किया जा सकता है. यह adb के ज़रिए खुद को किसी सामान्य डिवाइस की तरह रजिस्टर करेगा और इसे रिमोट डेस्कटॉप की मदद से किसी फ़िज़िकल डिवाइस की तरह इस्तेमाल कर सकेंगे. इसमें ऐप्लिकेशन को कई तरीकों से इस्तेमाल किया जा सकता है. जैसे, ऐप्लिकेशन की टेस्टिंग, कस्टम सिस्टम बिल्ड टेस्टिंग वगैरह.
कटलफ़िश का इस्तेमाल, पूरे फ़्रेमवर्क की फ़िडेलिटी के लिए किया जाता है. इसलिए, इसका इस्तेमाल आपके फ़्रेमवर्क या ऐप्लिकेशन की फ़ंक्शनल जांच के लिए किया जा सकता है. ऐसा उन ऐप्लिकेशन के लिए किया जा सकता है जहां फ़िज़िकल हार्डवेयर डिपेंडेंसी मौजूद न हों और ऐसी चीज़ों की नकल करना नामुमकिन हो.
आजकल टेस्ट के लिए कटलफ़िश का इस्तेमाल आम तौर पर कैसे किया जाता है?
टेस्टिंग के लिए कटलफ़िश के कुछ सामान्य इस्तेमाल में ये शामिल हैं:
- सीटीएस
- फ़्रेमवर्क का अनुपालन
- इंटिग्रेशन की लगातार जांच करना
- कस्टम टेस्ट सुइट
क्या क्लाउड में कटलफ़िश होस्ट की जा सकती है?
हां, कटलफ़िश का मूल रूप से Google Cloud के साथ इस्तेमाल किया जा सकता है. हालांकि, आने वाले समय में इसे दूसरे क्लाउड प्लैटफ़ॉर्म पर भी उपलब्ध कराने की योजना है.
शुरू करें
एओएसपी के आधार पर कटलफ़िश इंस्टेंस बनाने के बारे में जानकारी पाने के लिए, कटलफ़िश का इस्तेमाल करना देखें.