برای راهاندازی Tradefed بااستفاده از Eclipse، این مراحل را دنبال کنید.
فضای کاری جداگانهای برای توسعه Trade Federation ایجاد کنید، از فضای کاریای که قبلاً برای توسعه دستگاه Android استفاده شده است دوباره استفاده نکنید.
درصورت نیاز، میتوانید Eclipse IDE for Java developers را از اینجا بارگیری کنید: eclipse.org/downloads
ایجاد پروژهها
- یکبار make را از خط فرمان اجرا کنید. با این کار، کتابخانههای خارجی که پروژههای زیر به آنها وابسته هستند ساخته میشود.
- متغیر مسیر کلاس TRADEFED_ROOT را در
Window > Preferences > Java > Build Path> Classpath Variablesتنظیم کنید و آن را به ریشه منبع tradefed خود هدایت کنید - متغیر مسیر TRADEFED_ROOT را در
Window > Preferences > General > Workspace > Linked Resourcesتنظیم کنید و آن را به ریشه منبع 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/android17-release/ide/eclipse/
از فایلهای اولویت در Eclipse برای تنظیم خودکار قالببندی به راهنمای سبک Android استفاده کنید. برای انجام این کار در «استودیو»:
- به پنجره > اولویتها > جاوا > سبک کد بروید.
- در بخش قالببندی، فایل
android-formatting.xmlرا وارد کنید. - در بخش سازماندهی > وارد کردنها، فایل
android.importorderرا وارد کنید.
برداشتن فاصلههای سفید انتهایی
برای وادار کردن Eclipse به برداشتن همه فاصلههای سفید انتهایی:
- به Window (پنجره) > Preferences (اولویتها) -> Java -> Editor (ویرایشگر) -> Save Actions (ذخیره کنشها) بروید.
- سپس کنشهای اضافی -> پیکربندی -> کد > برگه سازماندهی -> قالببندی.
- برداشتن فضای خالی انتهایی را علامت بزنید.
- روی اعمال و بستن کلیک کنید.
بررسی سبک کد
هنگام ارسال فهرست تغییرات، یک قلاب پیشبارگذاری خودکار برای بررسی قالب کد شما اجرا میشود: google-java-format
این کار به قالببندی کد شما طبق استاندارد رایج کمک میکند.
اشکالزدایی Eclipse
اگر میخواهید کد TF را ازطریق اشکالزدا در Eclipse اجرا کنید، توصیه میشود ابتدا برای کد موردنظر آزمون واحد ایجاد کنید زیرا این سادهترین و سریعترین راه برای تمرین عملکرد است.
برای اشکالزدایی کردن آزمون واحد TF، کافی است روی آن کلیک راست کنید و اشکالزدایی بهعنوان > آزمون JUnit را انتخاب کنید.
برای اشکالزدایی کردن آزمایش عملکردی TF، دستورالعملهای بخش قبلی را برای اجرای آزمایش عملکردی دنبال کنید، اما از منو اجرا > پیکربندیهای اشکالزدایی استفاده کنید.
برای اشکالزدایی خود برنامه TF، هنگام اجرای هر پیکربندی،
دستورالعملهای بخش قبلی را برای اجرای آزمایش عملکردی دنبال کنید اما
در مرحله ۴، آرگومانهای خط فرمان را برای پیکربندی موردنظرتان برای اجرا ارائه دهید. بنابراین برای اشکالزدایی پیکربندی «ابزار»، به منو اجرا > پیکربندی اشکالزدایی بروید و زبانه آرگومانها را در پیکربندی اشکالزدایی 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 از منو اصلی: اجرا > پیکربندیهای اشکالزدایی… را انتخاب کنید.
- در چارگوش گفتگوی بازشو، برنامه جاوا از دور را از منوِ سمت راست انتخاب کنید.
- روی نماد پیکربندی راهاندازی جدید در نوار اقدام کلیک کنید.
- پیکربندی را به نام دلخواهتان نامگذاری کنید و tradefederation را بهعنوان پروژه انتخاب کنید.
- درگاه را بااستفاده از نشانیای که قبلاً ارائه شده است تکمیل کنید.
- به برگه Source بروید و پروژههای tradefederation و google-tradefed را به Source Lookup Path اضافه کنید.
- برای شروع جلسه اشکالزدایی، روی اشکالزدایی کلیک کنید.
اشکالزدا به فرایند JVM درحال گوش دادن متصل میشود و پایانه درحال اجرای
tradefed.sh پیامواره tf> را نشان میدهد.
برای گامبهگام پیش رفتن در کدتان در حالت اشکالزدایی، نقطه توقفی در Eclipse تنظیم کنید و
فرمان Tradefed خود (یعنی run <test>) را در پایانه فراخوانی کنید. برای اشکالزدایی هر چیزی
درطول راهاندازی TF، ابتدا میتوانید نقطه گسست را تنظیم کنید و سپس اشکالزدای Eclipse را پیوست کنید.
نکته: برای استفاده از درگاه جایگزین، TF_DEBUG_PORT=nnnرا به فرمان در مرحله ۱
بالا اضافه کنید. حتی میتوانید از این در محیط تولید استفاده کنید اگر اشکالات تعلیق مرموزی برای بررسی دارید: suspend=y را در tradefed.sh به suspend=n تغییر دهید و با پرچم اشکالزدایی شروع کنید. JVM منتظر نمیماند تا اشکالزدا متصل شود، اما تا زمانی که فرایند همچنان درحال اجرا است، میتوانید این کار را در هر زمانی انجام دهید.
اشکالزدایی از راه دور بااستفاده از JDB
برای استفاده از «اشکالزدای جاوا» (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 را نصب کنید.
- به راهنما > نصب نرمافزار جدید بروید و جادوگر را به این نشانی هدایت کنید: http://update.eclemma.org/
- پساز نصب، گزینه آزمایش پوشش بهعنوان > JUnit را انتخاب کنید تا اجرای پوشش کد را انجام دهید.