Eclipse का इस्तेमाल करके Tradefed को सेट अप करने के लिए, यह तरीका अपनाएं.
Trade Federation को डेवलप करने के लिए, एक अलग वर्कस्पेस बनाएं. Android डिवाइस को डेवलप करने के लिए पहले से इस्तेमाल किए जा रहे वर्कस्पेस का फिर से इस्तेमाल न करें.
अगर आपको Eclipse IDE for Java developers डाउनलोड करना है, तो इसे यहां से डाउनलोड करें: eclipse.org/downloads
प्रोजेक्ट बनाना
- कमांड लाइन से, make को एक बार चलाएं. इससे नीचे दिए गए प्रोजेक्ट के लिए, बाहरी लाइब्रेरी बनाई जाएंगी.
Window > Preferences > Java > Build Path> Classpath Variables
में TRADEFED_ROOT क्लासपाथ वैरिएबल सेट करें और इसे अपने tradefed सोर्स रूट पर पॉइंट करेंWindow > Preferences > General > Workspace > Linked Resources
में TRADEFED_ROOT पाथ वैरिएबल सेट करें और इसे अपने tradefed सोर्स रूट पर पॉइंट करेंFile > Import...-> General > Existing Projects into workspace"
विज़र्ड का इस्तेमाल करके, इन ओपन सोर्स Java प्रोजेक्ट को इन पाथ के तहत लाएं:prebuilts/misc/common/ddmlib\* tools/loganalysis tools/loganalysis/tests tools/tradefederation/core tools/tradefederation/core/tests tools/tradefederation/contrib tools/tradefederation/core/remote platform_testing/libraries/health/runners/longevity/host platform_testing/libraries/annotations platform_testing/libraries/health/composers/host
अगर आपको
ddmlib
का सोर्स कोड देखना है, तो /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java जैसे अनबंडल्ड टूल ब्रांच से सोर्स कोड अटैच करें. हालांकि, ऐसा करना ज़रूरी नहीं है.अगर आपको CTS हार्नेस प्रोजेक्ट भी लोड करने हैं, तो इंपोर्ट करें:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
ऑटो फ़ॉर्मैट
ध्यान दें: ज़रूरी फ़ाइलें, पूरे प्लैटफ़ॉर्म के सोर्स ट्री में development/ide/eclipse
में मौजूद होती हैं. इसलिए, आपको इन फ़ाइलों को पाने के लिए, प्लैटफ़ॉर्म की किसी ब्रांच को देखना होगा. जैसे:
android-latest-release
:
/development/android16-release/ide/eclipse/
फ़ॉर्मेटर को Android स्टाइल गाइड के हिसाब से अपने-आप सेट करने के लिए, Eclipse में प्राथमिकता वाली फ़ाइलों का इस्तेमाल करें. Studio में ऐसा करने के लिए:
- Window > Preferences > Java > Code Style पर जाएं.
- फ़ॉर्मेटर में जाकर,
android-formatting.xml
फ़ाइल इंपोर्ट करें. - व्यवस्थित करें > इंपोर्ट किए गए में जाकर, फ़ाइल
android.importorder
इंपोर्ट करें.
आखिर में मौजूद खाली सफ़ेद जगह को हटाएं
Eclipse को पीछे की सभी खाली सफ़ेद जगहों को हटाने के लिए मजबूर करने के लिए:
- Window > Preferences -> Java -> Editor -> Save Actions पर जाएं.
- इसके बाद, ज़्यादा कार्रवाइयां -> कॉन्फ़िगर करें -> कोड > व्यवस्थित करें टैब -> फ़ॉर्मैट करने वाला टूल पर क्लिक करें.
- आखिर में मौजूद खाली जगह हटाएं को चुनें.
- लागू करें और बंद करें पर क्लिक करें.
कोड स्टाइल की जांच करना
बदलावों की सूची सबमिट करते समय, अपलोड से पहले अपने-आप चलने वाला हुक, आपके कोड के फ़ॉर्मैट की जांच करेगा: google-java-format
इससे आपके कोड को सामान्य स्टैंडर्ड के हिसाब से फ़ॉर्मैट करने में मदद मिलती है.
Eclipse को डीबग करना
अगर आपको Eclipse में डीबगर के ज़रिए टीएफ़ कोड चलाना है, तो हमारा सुझाव है कि आप पहले उस कोड के लिए यूनिट टेस्ट बनाएं. इससे फ़ंक्शनैलिटी को आज़माने का सबसे आसान और तेज़ तरीका मिलेगा.
TF यूनिट टेस्ट को डीबग करने के लिए, उस पर राइट क्लिक करें और Debug As > JUnit test को चुनें.
TF की फ़ंक्शनल टेस्ट को डीबग करने के लिए, पिछले सेक्शन में दिए गए निर्देशों का पालन करें. हालांकि, फ़ंक्शनल टेस्ट चलाने के लिए Run > Debug configurations मेन्यू का इस्तेमाल करें.
किसी कॉन्फ़िगरेशन को चलाते समय, TF प्रोग्राम को डीबग करने के लिए, पिछले सेक्शन में दिए गए निर्देशों का पालन करें. हालांकि, चरण 4 में, उस कॉन्फ़िगरेशन के लिए कमांड लाइन आर्ग्युमेंट दें जिसे आपको चलाना है. इसलिए, 'instrument' कॉन्फ़िगरेशन को डीबग करने के लिए, Run > Debug configuration मेन्यू पर जाएं. इसके बाद, Eclipse के डीबग कॉन्फ़िगरेशन में Arguments टैब को -- package <package to run> instrument
पर सेट करें.
Eclipse की मदद से रिमोट डीबग करना
tradefed.sh
कमांड लाइन से शुरू किए गए Tradefed सेशन को दूर से डीबग करने के लिए, यह तरीका अपनाएं:
- डीबग फ़्लैग के साथ tradefed.sh शुरू करें:
TF_DEBUG=1 tradefed.sh
- जब तक आपको JVM से यह प्रॉम्प्ट न दिखे, तब तक इंतज़ार करें:
Listening for transport dt_socket at address: 10088
इसका मतलब है कि JVM, डीबगर के पोर्ट10088
पर अटैच होने का इंतज़ार कर रहा है. - मुख्य मेन्यू से Eclipse की रिमोट डीबगिंग सुविधा का इस्तेमाल करके अटैच करें: चलाएं > डीबग कॉन्फ़िगरेशन... चुनें.
- पॉप-अप होने वाले डायलॉग बॉक्स में, बाईं ओर मौजूद मेन्यू से Remote Java Application चुनें.
- ऐक्शन बार में मौजूद, नया लॉन्च कॉन्फ़िगरेशन आइकॉन पर क्लिक करें.
- कॉन्फ़िगरेशन को अपनी पसंद का नाम दें. इसके बाद, प्रोजेक्ट के तौर पर tradefederation चुनें.
- पहले दिए गए पते का इस्तेमाल करके पोर्ट की जानकारी भरें.
- सोर्स टैब पर जाएं. इसके बाद, सोर्स लुकअप पाथ में tradefederation और google-tradefed प्रोजेक्ट जोड़ें.
- डीबग सेशन शुरू करने के लिए, डीबग करें पर क्लिक करें.
डीबगर, लिसनिंग जेवीएम प्रोसेस से अटैच हो जाता है. साथ ही, tradefed.sh
चलाने वाला टर्मिनल, tf>
प्रॉम्प्ट दिखाता है.
डीबग मोड में अपने कोड को चरण दर चरण देखने के लिए, Eclipse में एक ब्रेक पॉइंट सेट करें और टर्मिनल में अपनी Tradefed कमांड (यानी कि run <test>
) लागू करें. TF स्टार्टअप के दौरान किसी भी चीज़ को डीबग करने के लिए, पहले ब्रेक पॉइंट सेट करें. इसके बाद, Eclipse डीबगर अटैच करें.
सलाह: किसी दूसरे पोर्ट का इस्तेमाल करने के लिए, ऊपर दिए गए पहले चरण में TF_DEBUG_PORT=nnn
जोड़ें. अगर आपको ऐसे हैंग बग की जांच करनी है जिनके बारे में आपको पता नहीं है, तो प्रोडक्शन एनवायरमेंट में भी इसका इस्तेमाल किया जा सकता है: tradefed.sh
में suspend=y
को suspend=n
में बदलें और डीबग फ़्लैग से शुरुआत करें. JVM, डीबगर के अटैच होने का इंतज़ार नहीं करेगा. हालांकि, प्रोसेस के चालू रहने तक, इसे किसी भी समय अटैच किया जा सकता है.
JDB का इस्तेमाल करके रिमोट डीबग करना
Java Debugger JDB का इस्तेमाल करने के लिए, Eclipse के लिए बताए गए चरणों का पालन करें:
- डीबग फ़्लैग के साथ
tradefed.sh
शुरू करें:TF_DEBUG=1 tradefed.sh
- जब तक आपको JVM से यह प्रॉम्प्ट न दिखे, तब तक इंतज़ार करें:
Listening for transport dt_socket at address: 10088
. jdb
को कनेक्ट करें. उदाहरण के लिए, croot run से:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
कनेक्ट होने का इंतज़ार करें और डीबग करना शुरू करें! ज़्यादा मदद पाने के लिए,
man jdb
चलाएं.
कोड कवरेज की जांच करना
- Eclemma प्लगिन इंस्टॉल करें.
- Help > Install New Software पर जाएं और विज़र्ड को यहां ले जाएं: http://update.eclemma.org/
- इंस्टॉल हो जाने के बाद, कोड कवरेज रन करने के लिए, कवरेज के तौर पर > JUnit टेस्ट का विकल्प चुनें.