टारगेट तैयार करने वाले टूल की तरह ही, कई टारगेट तैयार करने वाले टूल की मदद से, एक साथ कई डिवाइसों को सेटअप किया जा सकता है. उदाहरण के लिए, जांच के लिए दो डिवाइसों को ब्लूटूथ से कनेक्ट करते समय इसका इस्तेमाल किया जाएगा.
बेस इंटरफ़ेस
बेस इंटरफ़ेस IMultiTargetPreparer
है. इसकी मदद से, setUp
तरीके को लागू किया जा सकता है. हमारा सुझाव है कि आप अपनी बेसिक ऐब्सट्रैक्ट क्लास BaseMultiTargetPreparer
को लागू करें. इसमें ऐप्लिकेशन को बंद करने की सुविधा देने वाली पहले से मौजूद सुविधा होती है, ताकि ट्रेनिंग ऐप्लिकेशन को बंद करने में आसानी हो.
एक से ज़्यादा टारगेट तैयार करने वाले, सीधे तौर पर किसी भी क्लीनअप ऑपरेशन के लिए tearDown
तरीका भी उपलब्ध कराते हैं.
सुझाव
हमारा सुझाव है कि हर व्यक्ति को एक ही मुख्य फ़ंक्शन के लिए सीमित किया जाए. इससे, प्रिपरर को आसानी से फिर से इस्तेमाल किया जा सकता है.
नया प्रिपरर जोड़ने से पहले, उपलब्ध प्रिपरर की सूची भी देखें, ताकि डुप्लीकेट काम न हो. प्रिपरर, tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
में उपलब्ध हैं.
मल्टी-टारगेट तैयार करने वाला व्यक्ति, जितने चाहें उतने डिवाइस सेट अप कर सकता है. लागू करने के लिए, इंटरफ़ेस के IInvocationContext
में सभी डिवाइस उपलब्ध हैं.
एक्सएमएल कॉन्फ़िगरेशन
ऑब्जेक्ट टैग multi_target_preparer
है. उदाहरण के लिए:
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
ऑपरेशन का क्रम
multi_target_preparer
,target_preparer
के बादsetUp
को लागू करता है.multi_target_preparer
, टारगेट क्लीनर से पहलेtearDown
को एक्ज़ीक्यूट करता है.
इससे हमेशा सेटअप के सभी चरणों को पूरा नहीं किया जा सकता. इसलिए, एक्सएमएल में मल्टी-टारगेट प्रिपरर को multi_pre_target_preparer
के तौर पर तय किया जा सकता है और target_preparer
इंस्टेंस से पहले उसे लागू किया जा सकता है.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
ऑपरेशन का पूरा क्रम इस तरह है:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
multi_pre_target_preparer tearDown
किसी भी मल्टी-टारगेट प्रिपरर को multi_target_preparer
या
multi_pre_target_preparer
के तौर पर घोषित किया जा सकता है. यह इस बात पर निर्भर करता है कि सेटअप का क्रम क्या है.