برای راه اندازی Tradefed با استفاده از Eclipse این مراحل را دنبال کنید.
یک فضای کاری جداگانه برای توسعه Trade Federation ایجاد کنید، از فضای کاری که قبلاً برای توسعه دستگاه Android استفاده شده است، دوباره استفاده نکنید.
در صورت نیاز، می توانید Eclipse IDE را برای توسعه دهندگان جاوا از: eclipse.org/downloads دانلود کنید
پروژه ها را ایجاد کنید
- یک بار make را از خط فرمان اجرا کنید. با این کار کتابخانه های خارجی وابسته به پروژه های زیر ساخته می شود.
- متغیر TRADEFED_ROOT classpath را در
Window > Preferences > Java > Build Path> Classpath Variables
تنظیم کنید و آن را به ریشه منبع tradefed خود هدایت کنید. - متغیر مسیر TRADEFED_ROOT را در
Window > Preferences > General > Workspace > Linked Resources
تنظیم کنید و آن را به ریشه منبع tradefed خود قرار دهید. از جادوگر
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 ضمیمه کنید.در صورت تمایل، اگر میخواهید پروژههای مهار CTS نیز بارگیری شوند، وارد کنید:
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/
از فایلهای ترجیحی در Eclipse برای تنظیم خودکار فرمتکننده به راهنمای سبک اندروید استفاده کنید. برای انجام این کار در استودیو:
- به Window > Preferences > Java > Code Style بروید.
- در قسمت Formatter ، فایل
android-formatting.xml
را وارد کنید. - در قسمت Organize > Imports ، فایل
android.importorder
را وارد کنید.
فضاهای خالی انتهایی را حذف کنید
برای وادار کردن Eclipse به حذف تمام فضای خالی انتهایی:
- به Window > Preferences -> Java -> Editor -> Save Actions بروید.
- سپس Additional Actions -> Configure -> Code > Organising tab -> Formatter .
- گزینه Remove Trailing Space را علامت بزنید.
- روی Apply و Close کلیک کنید.
سبک کد را بررسی کنید
هنگام ارسال یک لیست تغییرات، یک قلاب پیش آپلود خودکار برای بررسی قالب کد شما اجرا می شود: google-java-format
این به قالب بندی کد شما با استانداردهای رایج کمک می کند.
اشکال زدایی Eclipse
اگر میخواهید کد TF را از طریق یک اشکالزدا در Eclipse اجرا کنید، توصیه میشود ابتدا یک تست واحد برای کد مورد نظر ایجاد کنید زیرا این سادهترین و سریعترین راه برای اعمال عملکرد خواهد بود.
برای اشکال زدایی تست واحد TF، به سادگی روی آن کلیک راست کرده و Debug As > JUnit test را انتخاب کنید.
برای اشکالزدایی یک تست عملکردی TF، دستورالعملهای بخش قبلی را برای اجرای یک تست عملکردی دنبال کنید، اما از منوی Run > Debug configurations استفاده کنید.
برای اشکالزدایی خود برنامه TF، هنگام اجرای هر پیکربندی، دستورالعملهای بخش قبل را برای اجرای یک تست عملکردی دنبال کنید، اما آرگومانهای خط فرمان را برای پیکربندی که میخواهید در مرحله 4 اجرا کنید، ارائه دهید. بنابراین برای اشکالزدایی پیکربندی ابزار، به منوی Run > Debug configuration بروید و تب Arguments را در پیکربندی اشکال زدایی Eclipse روی -- package <package to run> instrument
تنظیم کنید.
اشکال زدایی از راه دور با Eclipse
این مراحل را برای رفع اشکال از راه دور یک جلسه tradefed شده از خط فرمان tradefed.sh
دنبال کنید:
- tradefed.sh را با پرچم رفع اشکال شروع کنید:
TF_DEBUG=1 tradefed.sh
- منتظر بمانید تا این فرمان را از JVM ببینید:
Listening for transport dt_socket at address: 10088
این بدان معناست که JVM منتظر است تا اشکال زدا در پورت10088
متصل شود. - با اشکال زدایی از راه دور Eclipse از منوی اصلی پیوست کنید: Run > Debug Configurations... را انتخاب کنید.
- در گفتگوی پاپ آپ، Remote Java Application را از منوی سمت چپ انتخاب کنید.
- روی نماد پیکربندی راه اندازی جدید در نوار عمل کلیک کنید.
- پیکربندی را به دلخواه خود نامگذاری کنید و فدراسیون تجاری را به عنوان پروژه انتخاب کنید.
- با استفاده از آدرسی که قبلا ارائه شده است، پورت را پر کنید.
- به برگه Source بروید و پروژههای tradefederation و google-tradefed را به مسیر جستجوی منبع اضافه کنید.
- برای شروع جلسه رفع اشکال، روی Debug کلیک کنید.
دیباگر به فرآیند گوش دادن JVM متصل می شود و ترمینال در حال اجرا tradefed.sh
اعلان tf>
را نشان می دهد.
برای عبور از کد خود در حالت اشکال زدایی، یک نقطه شکست در Eclipse تعیین کنید و دستور Tradefed خود را فراخوانی کنید (یعنی run <test>
) در ترمینال. برای اشکال زدایی هر چیزی در هنگام راه اندازی TF، می توانید ابتدا نقطه شکست را تنظیم کنید و سپس اشکال زدایی Eclipse را متصل کنید.
نکته: برای استفاده از یک پورت جایگزین، TF_DEBUG_PORT=nnn
را به دستور مرحله 1 بالا اضافه کنید. حتی میتوانید از این در محیط تولید استفاده کنید اگر اشکالات هنگ مرموز برای بررسی دارید: suspend=y
به suspend=n
در tradefed.sh
تغییر دهید و با پرچم رفع اشکال شروع کنید. 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/
- پس از نصب، گزینه Coverage As > JUnit test را برای اجرای اجرای پوشش کد انتخاب کنید.