Eclipse را تنظیم کنید

برای راه‌اندازی Tradefed با استفاده از Eclipse، این مراحل را دنبال کنید.

برای توسعه فدراسیون تجارت، یک فضای کاری جداگانه ایجاد کنید، از فضای کاری که قبلاً برای توسعه دستگاه اندروید استفاده شده است، دوباره استفاده نکنید.

در صورت نیاز، می‌توانید Eclipse IDE را برای توسعه‌دهندگان جاوا از آدرس eclipse.org/downloads دانلود کنید.

ایجاد پروژه‌ها

  1. دستور make را یک بار از خط فرمان اجرا کنید. این دستور کتابخانه‌های خارجی وابسته به پروژه‌های زیر را می‌سازد.
  2. متغیر classpath TRADEFED_ROOT را در Window > Preferences > Java > Build Path> Classpath Variables تنظیم کنید و آن را به ریشه منبع tradefed خود ارجاع دهید.
  3. متغیر مسیر TRADEFED_ROOT را در Window > Preferences > General > Workspace > Linked Resources تنظیم کنید و آن را به ریشه منبع tradefed خود ارجاع دهید
  4. برای وارد کردن این پروژه‌های جاوای متن‌باز از مسیر زیر، از 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
    
  5. در صورت تمایل، اگر می‌خواهید کد منبع ddmlib را ببینید، کد منبع را از یک شاخه ابزارهای بدون دسته، مانند /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java ، پیوست کنید.

  6. در صورت تمایل، اگر می‌خواهید پروژه‌های مهار 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:

  1. به پنجره > تنظیمات > جاوا > سبک کد بروید.
  2. در بخش Formatter ، فایل android-formatting.xml را وارد کنید.
  3. در قسمت سازماندهی > واردات ، فایل android.importorder را وارد کنید.

حذف فاصله‌های خالی انتهایی

برای مجبور کردن Eclipse به حذف تمام فضاهای خالی انتهایی:

  1. به مسیر Window > Preferences -> Java -> Editor -> Save Actions بروید.
  2. سپس اقدامات اضافی -> پیکربندی -> کد > برگه سازماندهی -> قالب‌بندی .
  3. تیک گزینه حذف فضای خالی انتهایی را بزنید.
  4. روی اعمال و بستن کلیک کنید.

بررسی استایل کد

هنگام ارسال لیست تغییرات، یک قلاب پیش‌آپلود خودکار برای بررسی قالب کد شما اجرا می‌شود: 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 آغاز شده است، این مراحل را دنبال کنید:

  1. tradefed.sh را با پرچم اشکال‌زدایی شروع کنید: TF_DEBUG=1 tradefed.sh
  2. صبر کنید تا این پیام را از JVM ببینید: Listening for transport dt_socket at address: 10088 این به این معنی است که JVM منتظر اتصال اشکال‌زدا به پورت 10088 است.
  3. اتصال به اشکال‌زدایی از راه دور Eclipse از منوی اصلی: Run > Debug Configurations... را انتخاب کنید.
  4. در پنجره‌ی باز شده، از منوی سمت چپ، گزینه‌ی Remote Java Application را انتخاب کنید.
  5. روی نماد پیکربندی راه‌اندازی جدید در نوار عملیات کلیک کنید.
  6. پیکربندی را به دلخواه نامگذاری کنید و tradefederation را به عنوان پروژه انتخاب کنید.
  7. پورت را با استفاده از آدرسی که قبلاً ارائه شده است، پر کنید.
  8. به تب Source بروید و projects tradefed و google-tradefed را به Source Lookup Path اضافه کنید.
  9. برای شروع جلسه اشکال‌زدایی، روی اشکال‌زدایی (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 را دنبال کنید:

  1. tradefed.sh با پرچم اشکال‌زدایی شروع کنید: TF_DEBUG=1 tradefed.sh
  2. صبر کنید تا اعلان JVM را ببینید: Listening for transport dt_socket at address: 10088 .
  3. اتصال jdb . برای مثال، از croot دستور زیر را اجرا کنید:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. منتظر اتصال باشید و اشکال‌زدایی را شروع کنید! برای راهنمایی بیشتر، man jdb اجرا کنید.

پوشش کد را بررسی کنید

  1. افزونه Eclemma را نصب کنید.
  2. به بخش راهنما > نصب نرم‌افزار جدید بروید و ویزارد را به آدرس زیر هدایت کنید: http://update.eclemma.org/
  3. پس از نصب، گزینه Coverage As > JUnit test را برای انجام اجرای پوشش کد انتخاب کنید.