एक्लिप्स का उपयोग करके ट्रेडफेड स्थापित करने के लिए इन चरणों का पालन करें।
ट्रेड फेडरेशन को विकसित करने के लिए एक अलग कार्यक्षेत्र बनाएं, एंड्रॉइड-डिवाइस विकास के लिए पहले से नियोजित कार्यक्षेत्र का पुन: उपयोग न करें।
यदि आवश्यक हो, तो आप जावा डेवलपर्स के लिए Eclipse IDE यहां से डाउनलोड कर सकते हैं: eclipse.org/downloads
प्रोजेक्ट बनाएं
- कमांड लाइन से एक बार मेक चलाएँ। यह नीचे दी गई परियोजनाओं पर निर्भर बाहरी पुस्तकालयों का निर्माण करेगा।
- TRADEFED_ROOT क्लासपाथ वैरिएबल को
Window > Preferences > Java > Build Path> Classpath Variables
में सेट करें और इसे अपने ट्रेडफेड स्रोत रूट पर इंगित करें - TRADEFED_ROOT पथ चर को
Window > Preferences > General > Workspace > Linked Resources
में सेट करें और इसे अपने ट्रेडफेड स्रोत रूट पर इंगित करें इन ओपन सोर्स जावा प्रोजेक्ट्स को निम्नलिखित पथों के अंतर्गत लाने के लिए
File > Import...-> General > Existing Projects into workspace"
विज़ार्ड का उपयोग करें: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 ।वैकल्पिक रूप से, यदि आप सीटीएस हार्नेस प्रोजेक्ट भी लोड करना चाहते हैं, तो आयात करें:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
स्वचालित प्रारूप
ध्यान दें: अपेक्षित फ़ाइलें पूर्ण प्लेटफ़ॉर्म स्रोत ट्री में development/ide/eclipse
के भीतर रहती हैं। इसलिए आपको इन फ़ाइलों को प्राप्त करने के लिए main
जैसे प्लेटफ़ॉर्म शाखा की जाँच करनी होगी: /development/main/ide/eclipse/
फ़ॉर्मेटर को एंड्रॉइड स्टाइल गाइड पर स्वचालित रूप से सेट करने के लिए एक्लिप्स में वरीयता फ़ाइलों का उपयोग करें। स्टूडियो में ऐसा करने के लिए:
- विंडो > प्राथमिकताएँ > जावा > कोड स्टाइल पर जाएँ।
- फ़ॉर्मेटर के अंतर्गत, फ़ाइल
android-formatting.xml
आयात करें। - व्यवस्थित करें > आयात के अंतर्गत, फ़ाइल
android.importorder
आयात करें।
पिछली रिक्त स्थान हटाएँ
एक्लिप्स को सभी पिछली रिक्त जगहों को हटाने के लिए बाध्य करने के लिए:
- विंडो > प्राथमिकताएँ -> जावा -> संपादक -> क्रियाएँ सहेजें पर जाएँ।
- फिर अतिरिक्त क्रियाएँ -> कॉन्फ़िगर करें -> कोड > आयोजन टैब -> फ़ॉर्मेटर।
- ट्रेलिंग व्हाईटस्पेस हटाएँ की जाँच करें।
- लागू करें और बंद करें पर क्लिक करें.
कोड शैली जांचें
चेंजलिस्ट सबमिट करते समय, आपके कोड प्रारूप की जांच करने के लिए एक स्वचालित प्रीअपलोड हुक चलेगा: google-java-format
यह आपके कोड को सामान्य मानक पर फ़ॉर्मेट करने में मदद करता है।
ग्रहण डीबग करें
यदि आप एक्लिप्स में डिबगर के माध्यम से टीएफ कोड चलाना चाहते हैं, तो यह अनुशंसा की जाती है कि आप पहले संबंधित कोड के लिए एक यूनिट परीक्षण बनाएं क्योंकि यह कार्यात्मकता का प्रयोग करने का सबसे सरल और तेज़ तरीका होगा।
TF इकाई परीक्षण को डीबग करने के लिए, बस उस पर राइट-क्लिक करें और Debug As > JUnit test चुनें।
टीएफ कार्यात्मक परीक्षण को डीबग करने के लिए, कार्यात्मक परीक्षण चलाने के लिए पिछले अनुभाग में दिए गए निर्देशों का पालन करें लेकिन रन > डीबग कॉन्फ़िगरेशन मेनू का उपयोग करें।
टीएफ प्रोग्राम को डीबग करने के लिए, किसी भी कॉन्फ़िगरेशन को चलाते समय, कार्यात्मक परीक्षण चलाने के लिए पिछले अनुभाग में दिए गए निर्देशों का पालन करें, लेकिन जिस कॉन्फ़िगरेशन को आप चरण 4 में चलाना चाहते हैं, उसके लिए कमांड लाइन तर्क प्रदान करें। इसलिए 'इंस्ट्रूमेंट' कॉन्फ़िगरेशन को डीबग करने के लिए, रन > डिबग कॉन्फ़िगरेशन मेनू पर जाएं और एक्लिप्स डिबग कॉन्फ़िगरेशन में आर्गुमेंट्स टैब को -- package <package to run> instrument
सेट करें।
एक्लिप्स के साथ रिमोट डिबग
tradefed.sh
कमांड लाइन से शुरू किए गए ट्रेडफेड सत्र को दूरस्थ रूप से डीबग करने के लिए इन चरणों का पालन करें:
- डिबग फ़्लैग के साथ ट्रेडफेड.श प्रारंभ करें:
TF_DEBUG=1 tradefed.sh
- तब तक प्रतीक्षा करें जब तक आप JVM से यह संकेत न देख लें:
Listening for transport dt_socket at address: 10088
इसका मतलब है कि JVM पोर्ट10088
पर डिबगर के संलग्न होने की प्रतीक्षा कर रहा है। - मुख्य मेनू से एक्लिप्स के रिमोट डिबगिंग के साथ संलग्न करें: रन > डीबग कॉन्फ़िगरेशन... चुनें।
- पॉप-अप संवाद में, बाएं मेनू से रिमोट जावा एप्लिकेशन का चयन करें।
- एक्शन बार पर न्यू लॉन्च कॉन्फ़िगरेशन आइकन पर क्लिक करें।
- कॉन्फ़िगरेशन को अपनी इच्छानुसार नाम दें और प्रोजेक्ट के रूप में ट्रेडफेडरेशन का चयन करें।
- पहले दिए गए पते का उपयोग करके पोर्ट को पॉप्युलेट करें।
- सोर्स टैब पर स्विच करें और प्रोजेक्ट ट्रेडफेडरेशन और गूगल-ट्रेडफेड को सोर्स लुकअप पाथ में जोड़ें।
- डिबगिंग सत्र शुरू करने के लिए डिबग पर क्लिक करें।
डिबगर श्रवण JVM प्रक्रिया से जुड़ जाता है, और tradefed.sh
चलाने वाला टर्मिनल tf>
प्रॉम्प्ट दिखाता है।
डिबग मोड में अपने कोड के माध्यम से कदम उठाने के लिए, एक्लिप्स में एक ब्रेक पॉइंट सेट करें और टर्मिनल में अपने ट्रेडफेड कमांड को लागू करें (यानी run <test>
)। टीएफ स्टार्टअप के दौरान कुछ भी डीबग करने के लिए, आप पहले ब्रेक पॉइंट सेट कर सकते हैं और फिर एक्लिप्स डीबगर संलग्न कर सकते हैं।
सुझाव: वैकल्पिक पोर्ट का उपयोग करने के लिए, ऊपर चरण 1 में दिए गए कमांड में TF_DEBUG_PORT=nnn
जोड़ें। यदि आपके पास जांच के लिए रहस्यमय हैंग बग हैं तो आप इसका उपयोग उत्पादन परिवेश में भी कर सकते हैं: tradefed.sh
में suspend=y
को suspend=n
में बदलें और डिबग फ्लैग से शुरू करें। जेवीएम डिबगर के अटैच होने का इंतजार नहीं करेगा, लेकिन आप ऐसा किसी भी समय कर सकते हैं, जब तक प्रक्रिया चल रही है।
जेडीबी का उपयोग करके रिमोट डिबग
जावा डिबगर जेडीबी का उपयोग करने के लिए, एक्लिप्स से मिलते-जुलते चरणों का पालन करें:
- डिबग फ़्लैग के साथ
tradefed.sh
प्रारंभ करें:TF_DEBUG=1 tradefed.sh
- जब तक आप JVM से संकेत न देख लें तब तक प्रतीक्षा करें:
Listening for transport dt_socket at address: 10088
। jdb
कनेक्ट करें। उदाहरण के लिए, क्रुट रन से:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
कनेक्शन के लिए प्रतीक्षा करें और डीबग करें! अधिक सहायता के लिए
man jdb
चलाएँ।
कोड कवरेज की जांच करें
- एक्लेम्मा प्लगइन इंस्टॉल करें।
- सहायता > नया सॉफ़्टवेयर इंस्टॉल करें पर जाएं और विज़ार्ड को यहां इंगित करें: http://update.eclemma.org/
- एक बार इंस्टॉल हो जाने पर, कोड कवरेज चलाने के लिए Coverage As > JUnit परीक्षण विकल्प चुनें।