कैमरा एक्सटेंशन की पुष्टि करने वाला टूल, डिवाइस बनाने वाली कंपनियों को यह पुष्टि करने की अनुमति देता है कि Camera Extensions OEM vendor library को सही तरीके से लागू किया गया है. इस टूल में, अपने-आप और मैन्युअल तरीके से पुष्टि करने की जांचें शामिल होती हैं.
अपने-आप होने वाली पुष्टि की जांच: इससे यह पुष्टि की जाती है कि वेंडर लाइब्रेरी इंटरफ़ेस को सही तरीके से लागू किया गया है. उदाहरण के लिए, अगर इमेज कैप्चर करने के लिए
CaptureProcessor
की ज़रूरत है, तो टेस्ट यह पुष्टि करते हैं कि इमेज कैप्चर करने के लिए,ImageCaptureExtenderImpl#getCaptureStages()
ज़रूरीCaptureStage
इंस्टेंस दिखाता है.मैन्युअल तरीके से पुष्टि करने वाले टेस्ट: इमेज इफ़ेक्ट और झलक वाली इमेज और कैप्चर की गई इमेज की क्वालिटी की पुष्टि करें. उदाहरण के लिए, इन टेस्ट की मदद से डिवाइस बनाने वाली कंपनियां मैन्युअल तरीके से यह पुष्टि कर सकती हैं कि फ़ोटो में चेहरे को बेहतर बनाने वाला इफ़ेक्ट सही तरीके से लागू किया गया है या नहीं. इसके अलावा, वे यह भी पुष्टि कर सकती हैं कि फ़ोटो में बैकग्राउंड को धुंधला करने वाला इफ़ेक्ट सही तरीके से काम कर रहा है या नहीं.
पुष्टि करने वाले टूल का सोर्स कोड, Android Jetpack repository में मौजूद extensions test app का हिस्सा है.
कैमरा एक्सटेंशन की पुष्टि करने वाला टूल बनाना
एक्सटेंशन की पुष्टि करने वाला टूल बनाने के लिए, यह तरीका अपनाएं:
Android Jetpack लाइब्रेरी का सोर्स कोड डाउनलोड करें. ज़्यादा जानकारी के लिए, Android Jetpack README का कोड देखना सेक्शन देखें.
extensionstestapp
APK बनाएं. इससे मैन्युअल तरीके से पुष्टि करने से जुड़ी जांच की जा सकती है.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
APK को इस पाथ पर आउटपुट किया जाता है:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APK बनाएं. इस APK की मदद से, पुष्टि करने वाले टेस्ट अपने-आप चलाए जा सकते हैं.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
APK को इस पाथ पर आउटपुट किया जाता है:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
अपने-आप पुष्टि करने वाले टेस्ट चलाना
अपने-आप होने वाले पुष्टि करने के टेस्ट चलाने के लिए, extensionstestapp
और androidTest
APK इंस्टॉल करें.
extensionstestapp
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
सभी ऑटोमेटेड टेस्ट चलाएं
एपीके इंस्टॉल करने के बाद, वेंडर लाइब्रेरी को लागू करने की पुष्टि करने के लिए, सभी अपने-आप होने वाले टेस्ट चलाने के लिए, यह कमांड चलाएं:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
अगर सभी टेस्ट पास हो जाते हैं, तो OK नतीजा मिलता है. ऐसा न करने पर, सभी टेस्ट पूरे होने के बाद, फ़ाइनल टेस्ट रिपोर्ट में टर्मिनल में गड़बड़ियां दिखती हैं.
पहली इमेज. अपने-आप होने वाली जांच का नतीजा 'ठीक है' के तौर पर मिला है
दूसरी इमेज. अपने-आप होने वाली जांच के नतीजे में गड़बड़ियां
किसी क्लास के अपने-आप होने वाले टेस्ट चलाना
किसी क्लास के ऑटोमेटेड टेस्ट चलाने के लिए, टारगेट क्लास का नाम और पाथ डालें. यहां दिए गए उदाहरण में, ImageCaptureTest
क्लास के लिए टेस्ट चलाने का तरीका बताया गया है:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
मैन्युअल तरीके से पुष्टि करने वाले टेस्ट चलाना
मैन्युअल तरीके से पुष्टि करने वाले टेस्ट, एक्सटेंशन टेस्ट ऐप्लिकेशन में मौजूद होते हैं. एक्सटेंशन टेस्ट ऐप्लिकेशन को इंस्टॉल और लॉन्च करने के बाद, सबसे ऊपर दाईं ओर मौजूद मेन्यू आइटम पर टैप करके, पुष्टि करने वाले टूल मोड पर स्विच करें.
पुष्टि करने वाले टूल मोड पर स्विच करने के बाद, पहले पेज पर उन सभी कैमरों की सूची दिखती है जिनमें REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
सुविधा मौजूद है. अगर कोई कैमरा किसी भी एक्सटेंशन मोड के साथ काम नहीं करता है, तो उससे जुड़ा लिस्ट आइटम धूसर रंग का होता है.
तीसरी इमेज. पुष्टि करने वाले टूल का मोड
जांच करने के लिए, एक्सटेंशन मोड देखने के लिए किसी कैमरे पर टैप करें. चुने गए कैमरे के साथ काम न करने वाले एक्सटेंशन मोड, धूसर रंग में दिखते हैं.
चौथी इमेज. किसी कैमरे के लिए उपलब्ध एक्सटेंशन मोड
झलक के तौर पर दिखाए गए नतीजों की पुष्टि करना
झलक देखने के नतीजों की पुष्टि करने के लिए, चुने गए कैमरे के एक्सटेंशन मोड पर टैप करके मैन्युअल टेस्ट शुरू करें. इसके बाद, इमेज कैप्चर करने की गतिविधि दिखाई जाती है. इसमें झलक शामिल होती है.
पांचवीं इमेज. बोके इफ़ेक्ट चालू करके ली गई इमेज की झलक
इमेज कैप्चर करने की सुविधा के साथ ये फ़ंक्शन काम करते हैं:
- ज़ूम इन करें/आउट करें
- टैप करके फ़ोकस करने की सुविधा
- फ़्लैश मोड बदलने वाला बटन
- EV +/-
- एक्सटेंशन चालू/बंद करने वाला बटन
पुष्टि करें कि झलक में, ज़ूम इन/आउट करने, टैप करके फ़ोकस करने, फ़्लैश मोड, और ईवी +/- फ़ंक्शन उम्मीद के मुताबिक काम कर रहे हों.
खींची गई इमेज के नतीजों की पुष्टि करना
इमेज कैप्चर करने के लिए, इमेज कैप्चर करने की गतिविधि में मौजूद CAPTUR बटन (गोल बटन) पर टैप करें. इससे इमेज की पुष्टि करने वाली गतिविधि शुरू होती है. इसमें कैप्चर की गई इमेज दिखती है.
छठी इमेज. बोके इफ़ेक्ट चालू करके कैप्चर की गई इमेज
इमेज की पुष्टि करने की गतिविधि में ये फ़ंक्शन शामिल होते हैं:
- इमेज का साइज़ बदलने के लिए, पिंच इन/आउट करें
- खींची गई इमेज के बीच स्विच करने के लिए, बाईं/दाईं ओर स्लाइड करें
- फिर से कैप्चर करें
- इमेज सेव करने का मेन्यू आइटम
पुष्टि करें कि कैप्चर की गई इमेज सही है. साथ ही, यह ज़ूम इन/आउट, टैप-टू-फ़ोकस, फ़्लैश मोड, और ईवी +/- सेटिंग से मेल खाती है. ये सेटिंग, इमेज कैप्चर करते समय सेट की गई थीं.
अगर कैप्चर किए गए नतीजे सही हैं, तो सबसे नीचे दाएं कोने में मौजूद, पास बटन (सही का निशान) पर टैप करें. अगर ऐसा नहीं है, तो सबसे नीचे बाएं कोने में मौजूद FAIL बटन (विस्मयादिबोधक चिह्न) पर टैप करें.
परीक्षण के नतीजे देखें
एक्सटेंशन मोड की पुष्टि होने के बाद, एक्सटेंशन मोड के लिए सूची आइटम में बैकग्राउंड का रंग और इंडिकेटर अलग दिखता है. सभी कैमरों की सूची में, आइटम इन रंगों में दिखते हैं:
- सफ़ेद बैकग्राउंड: कैमरा कम से कम एक एक्सटेंशन मोड के साथ काम करता है. हालांकि, काम करने वाले एक्सटेंशन मोड की पूरी तरह से पुष्टि नहीं की गई है.
- हरा बैकग्राउंड: कैमरा, कम से कम एक एक्सटेंशन मोड के साथ काम करता है. सपोर्ट किए गए सभी एक्सटेंशन मोड की पुष्टि की जाती है और सभी नतीजे पास होते हैं.
- लाल रंग का बैकग्राउंड: इसका मतलब है कि कैमरा, कम से कम एक एक्सटेंशन मोड के साथ काम करता है. सहायता देने वाले सभी एक्सटेंशन मोड की पुष्टि की जाती है. हालांकि, इनमें से कम से कम एक एक्सटेंशन मोड का नतीजा सही नहीं होता है.
- ग्रे बैकग्राउंड: यह सुविधा उपलब्ध नहीं है.
सातवीं इमेज. कैमरों और एक्सटेंशन मोड के टेस्ट के नतीजों को दिखाने वाले रंग
पुष्टि करने वाले टूल के अन्य फ़ंक्शन
सभी जांच पूरी होने के बाद, कैमरे की सूची वाली गतिविधि ये फ़ंक्शन उपलब्ध कराती है:
- जांच के नतीजे एक्सपोर्ट करें: जांच के नतीजों को CSV फ़ाइल के तौर पर
Documents/ExtensionsValidation
फ़ोल्डर में एक्सपोर्ट करता है. - रीसेट करें: इससे, कैश मेमोरी में सेव किए गए सभी टेस्ट के नतीजे मिट जाते हैं.
- एक्सटेंशन का सैंपल ऐप्लिकेशन: इससे एक्सटेंशन के सैंपल ऐप्लिकेशन मोड पर स्विच किया जाता है.
जांच पूरी होने के बाद, जांच के नतीजे एक्सपोर्ट किए जा सकते हैं. अगर आपको कोई समस्या मिलती है और समाधानों के साथ वेंडर लाइब्रेरी के लागू किए गए नए वर्शन की पुष्टि फिर से करनी है, तो पिछले टेस्ट के नतीजों को रीसेट करें. साथ ही, सभी कैमरों पर काम करने वाले सभी एक्सटेंशन मोड को फिर से चलाएं, ताकि यह पुष्टि की जा सके कि समस्याएं ठीक हो गई हैं.