برای راهاندازی Tradefed با استفاده از Eclipse، این مراحل را دنبال کنید.
برای توسعه فدراسیون تجارت، یک فضای کاری جداگانه ایجاد کنید، از فضای کاری که قبلاً برای توسعه دستگاه اندروید استفاده شده است، دوباره استفاده نکنید.
در صورت نیاز، میتوانید Eclipse IDE را برای توسعهدهندگان جاوا از آدرس eclipse.org/downloads دانلود کنید.
ایجاد پروژهها
- دستور make را یک بار از خط فرمان اجرا کنید. این دستور کتابخانههای خارجی وابسته به پروژههای زیر را میسازد.
- متغیر classpath 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"استفاده کنید: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-qpr1-release/ide/eclipse/
از فایلهای ترجیحی در Eclipse برای تنظیم خودکار قالببندی به راهنمای سبک اندروید استفاده کنید. برای انجام این کار در Studio:
- به پنجره > تنظیمات > جاوا > سبک کد بروید.
- در بخش Formatter ، فایل
android-formatting.xmlرا وارد کنید. - در قسمت سازماندهی > واردات ، فایل
android.importorderرا وارد کنید.
حذف فاصلههای خالی انتهایی
برای مجبور کردن Eclipse به حذف تمام فضاهای خالی انتهایی:
- به مسیر Window > Preferences -> Java -> Editor -> Save Actions بروید.
- سپس اقدامات اضافی -> پیکربندی -> کد > برگه سازماندهی -> قالببندی .
- تیک گزینه حذف فضای خالی انتهایی را بزنید.
- روی اعمال و بستن کلیک کنید.
بررسی استایل کد
هنگام ارسال لیست تغییرات، یک قلاب پیشآپلود خودکار برای بررسی قالب کد شما اجرا میشود: google-java-format
این به قالببندی کد شما با استاندارد رایج کمک میکند.
اشکالزدایی در اکلیپس
اگر میخواهید کد TF را از طریق یک اشکالزدا در Eclipse اجرا کنید، توصیه میشود ابتدا یک تست واحد برای کد مورد نظر ایجاد کنید زیرا این سادهترین و سریعترین راه برای آزمایش عملکرد آن خواهد بود.
برای اشکالزدایی یک تست واحد TF، کافیست روی آن کلیک راست کرده و Debug As > JUnit test را انتخاب کنید.
برای اشکالزدایی از یک آزمون عملکردی TF، دستورالعملهای بخش قبلی را برای اجرای یک آزمون عملکردی دنبال کنید، اما از منوی Run > Debug configurations استفاده کنید.
برای اشکالزدایی خود برنامه TF، هنگام اجرای هرگونه پیکربندی، دستورالعملهای بخش قبلی را برای اجرای یک تست عملکردی دنبال کنید، اما آرگومانهای خط فرمان را برای پیکربندی مورد نظر برای اجرا در مرحله ۴ ارائه دهید. بنابراین برای اشکالزدایی پیکربندی 'instrument'، به منوی 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 را انتخاب کنید.
- روی نماد پیکربندی راهاندازی جدید در نوار عملیات کلیک کنید.
- پیکربندی را به دلخواه نامگذاری کنید و tradefederation را به عنوان پروژه انتخاب کنید.
- پورت را با استفاده از آدرسی که قبلاً ارائه شده است، پر کنید.
- به تب Source بروید و projects tradefed و google-tradefed را به Source Lookup Path اضافه کنید.
- برای شروع جلسه اشکالزدایی، روی اشکالزدایی (Debug) کلیک کنید.
دیباگر به فرآیند JVM در حال گوش دادن متصل میشود و ترمینالی که tradefed.sh را اجرا میکند، اعلان tf> را نشان میدهد.
برای بررسی گام به گام کد خود در حالت اشکالزدایی، یک نقطه شکست در Eclipse تنظیم کنید و دستور Tradefed خود را فراخوانی کنید (یعنی run <test> ). برای اشکالزدایی هر چیزی در حین راهاندازی TF، میتوانید ابتدا نقطه شکست را تنظیم کنید و سپس اشکالزدای Eclipse را وصل کنید.
نکته: برای استفاده از یک پورت جایگزین، TF_DEBUG_PORT=nnn به دستور مرحله ۱ بالا اضافه کنید. حتی میتوانید در محیط عملیاتی نیز از این دستور استفاده کنید اگر باگهای مرموزی برای بررسی دارید: suspend=y را به suspend=n در tradefed.sh تغییر دهید و با پرچم اشکالزدایی شروع کنید. JVM منتظر اتصال اشکالزدا نمیماند، اما میتوانید این کار را در هر زمانی که فرآیند هنوز در حال اجرا است انجام دهید.
اشکالزدایی از راه دور با استفاده از JDB
برای استفاده از اشکالزدای جاوا JDB، مراحلی مشابه مراحل استفاده از Eclipse را دنبال کنید:
-
tradefed.shبا پرچم اشکالزدایی شروع کنید:TF_DEBUG=1 tradefed.sh - صبر کنید تا اعلان JVM را ببینید:
Listening for transport dt_socket at address: 10088. اتصال
jdb. برای مثال، از croot دستور زیر را اجرا کنید:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/srcمنتظر اتصال باشید و اشکالزدایی را شروع کنید! برای راهنمایی بیشتر،
man jdbاجرا کنید.
پوشش کد را بررسی کنید
- افزونه Eclemma را نصب کنید.
- به بخش راهنما > نصب نرمافزار جدید بروید و ویزارد را به آدرس زیر هدایت کنید: http://update.eclemma.org/
- پس از نصب، گزینه Coverage As > JUnit test را برای انجام اجرای پوشش کد انتخاب کنید.