ตั้งค่า Eclipse

ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่า Tradefed โดยใช้ Eclipse

สร้างพื้นที่ทำงานแยกต่างหากเพื่อพัฒนาสหพันธ์การค้า อย่าใช้ มีการใช้พื้นที่ทำงานสำหรับการพัฒนาอุปกรณ์ Android อยู่แล้ว

หากจำเป็น คุณดาวน์โหลด Eclipse IDE สำหรับนักพัฒนา Java ได้จากรายการต่อไปนี้ eclipse.org/downloads

สร้างโปรเจ็กต์

  1. เรียกใช้ Make Studio จากบรรทัดคำสั่ง การดำเนินการนี้จะสร้างไลบรารีภายนอก ขึ้นอยู่กับโปรเจ็กต์ด้านล่าง
  2. ตั้งค่าตัวแปรคลาสพาธ TRADEFED_ROOT ใน Window > Preferences > Java > Build Path> Classpath Variables และชี้ค่าไปยังรากต้นทางที่แลกเปลี่ยน
  3. ตั้งค่าตัวแปรเส้นทาง TRADEFED_ROOT ใน Window > Preferences > General > Workspace > Linked Resources และชี้ไปที่รากต้นทางที่มีการแลกเปลี่ยน
  4. ใช้วิซาร์ด 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
    
  5. หรือหากต้องการดูซอร์สโค้ด ddmlib ให้แนบซอร์สโค้ด จาก Branch ของเครื่องมือที่ไม่ได้จัดกลุ่ม เช่น /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 ในแพลตฟอร์มเต็มรูปแบบ แผนผังต้นทาง คุณจะต้องตรวจสอบสาขาของแพลตฟอร์ม เช่น main เพื่อรับไฟล์เหล่านี้: /การพัฒนา/หลัก/แนวคิด/สุริยุปราคา/

ใช้ไฟล์ค่ากำหนดใน Eclipse เพื่อตั้งค่าตัวจัดรูปแบบเป็น คู่มือแนะนำเกี่ยวกับ Android โดยดำเนินการใน Studio ได้ดังนี้

  1. ไปที่หน้าต่าง > ค่ากำหนด > Java > รูปแบบโค้ด
  2. ในส่วน Formatter ให้นำเข้าไฟล์ android-formatting.xml
  3. ในส่วน จัดระเบียบ > Imports ให้นำเข้าไฟล์ android.importorder

นำช่องว่างต่อท้ายออก

หากต้องการบังคับให้ Eclipse นำช่องว่างด้านหลังทั้งหมดออก ให้ทำดังนี้

  1. ไปที่หน้าต่าง > ค่ากำหนด -> Java -> เอดิเตอร์ -> บันทึกการดำเนินการ
  2. จากนั้น การดำเนินการเพิ่มเติม -> กำหนดค่า -> รหัส > กำลังจัดระเบียบแท็บ -> เครื่องมือจัดรูปแบบ
  3. เลือกนำช่องว่างต่อท้าย
  4. คลิกใช้และปิด

ตรวจสอบรูปแบบโค้ด

เมื่อส่งรายการการเปลี่ยนแปลง ฮุกการอัปโหลดล่วงหน้าอัตโนมัติจะทำงานเพื่อตรวจสอบ รูปแบบโค้ด: google-java-format

ซึ่งจะช่วยในการจัดรูปแบบโค้ดให้เป็นมาตรฐานทั่วไป

แก้ไขข้อบกพร่องของ Eclipse

ถ้าต้องการเรียกใช้โค้ด TF ผ่านโปรแกรมแก้ไขข้อบกพร่องใน Eclipse ขอแนะนำให้ สร้างการทดสอบ 1 หน่วยสำหรับโค้ดที่มีปัญหาก่อน เนื่องจากวิธีนี้จะเรียบง่ายที่สุด และรวดเร็วที่สุดในการใช้ฟังก์ชันการทำงาน

ในการแก้ไขข้อบกพร่องของการทดสอบหน่วย TF เพียงคลิกขวาที่การทดสอบหน่วย TF และเลือกแก้ไขข้อบกพร่องเป็น > JUnit test

หากต้องการแก้ไขข้อบกพร่องของการทดสอบการทำงานของ TF ให้ทำตามวิธีการในส่วนก่อนหน้า สำหรับการเรียกใช้การทดสอบการทำงาน แต่ใช้ปุ่ม เรียกใช้ > เมนูแก้ไขข้อบกพร่องการกำหนดค่า

หากต้องการแก้ไขข้อบกพร่องของโปรแกรม TF เมื่อเรียกใช้การกำหนดค่า โปรดทำตาม วิธีการในส่วนก่อนหน้านี้สำหรับการเรียกใช้การทดสอบการทำงานแต่มี อาร์กิวเมนต์บรรทัดคำสั่งสำหรับการกำหนดค่าที่ต้องการเรียกใช้ในขั้นตอนที่ 4 สไตรค์ เพื่อแก้ไขข้อบกพร่องของ "เครื่องมือ" ให้ไปที่เรียกใช้ > การกำหนดค่าการแก้ไขข้อบกพร่อง แล้วตั้งค่าแท็บอาร์กิวเมนต์ในการกำหนดค่าการแก้ไขข้อบกพร่องของ Eclipse เป็น -- package <package to run> instrument

แก้ไขข้อบกพร่องจากระยะไกลด้วย Eclipse

ทำตามขั้นตอนเหล่านี้เพื่อแก้ไขข้อบกพร่องเซสชันที่แลกเปลี่ยนจากระยะไกลซึ่งเริ่มต้นจาก บรรทัดคำสั่ง tradefed.sh:

  1. เริ่ม Tradefed.sh ด้วยแฟล็กการแก้ไขข้อบกพร่อง: TF_DEBUG=1 tradefed.sh
  2. รอจนกว่าจะเห็นข้อความแจ้งนี้จาก JVM: Listening for transport dt_socket at address: 10088 ซึ่งหมายความว่า JVM กำลังรอให้เครื่องมือแก้ไขข้อบกพร่อง แนบที่พอร์ต 10088
  3. แนบด้วยการแก้ไขข้อบกพร่องจากระยะไกลของ Eclipse จากเมนูหลัก: เลือก เรียกใช้ > แก้ไขข้อบกพร่อง การกำหนดค่า...
  4. ในกล่องโต้ตอบป๊อปอัป ให้เลือกแอปพลิเคชัน Java ระยะไกลจากเมนูด้านซ้าย
  5. คลิกไอคอนการกำหนดค่าการเปิดตัวใหม่ในแถบการดำเนินการ
  6. ตั้งชื่อการกำหนดค่าตามต้องการ และเลือก Tradeeration เป็น
  7. ป้อนข้อมูลในพอร์ตโดยใช้ที่อยู่ที่ให้ไว้ก่อนหน้านี้
  8. สลับไปที่แท็บแหล่งที่มา แล้วเพิ่มการแลกเปลี่ยนโปรเจ็กต์ และ google-tradefed ไปยังเส้นทางการค้นหาแหล่งที่มา
  9. คลิกแก้ไขข้อบกพร่องเพื่อเริ่มเซสชันการแก้ไขข้อบกพร่อง

โปรแกรมแก้ไขข้อบกพร่องจะแนบไปกับกระบวนการ JVM ของการฟัง และเทอร์มินัลที่ทำงานอยู่ tradefed.sh แสดงข้อความแจ้งเกี่ยวกับ tf>

หากต้องการเลื่อนดูโค้ดในโหมดแก้ไขข้อบกพร่อง ให้ตั้งจุดพักใน Eclipse และเรียกใช้ คำสั่ง Tradefed (เช่น run <test>) ในเทอร์มินัล เพื่อแก้ไขข้อบกพร่องได้ ระหว่างการเริ่มต้น TF ให้ตั้งจุดพักก่อน แล้วติด Eclipse โปรแกรมแก้ไขข้อบกพร่อง

เคล็ดลับ: หากต้องการใช้พอร์ตอื่น ให้เพิ่ม TF_DEBUG_PORT=nnn ลงในคำสั่งในขั้นตอนที่ 1 ที่ด้านบน คุณสามารถใช้วิธีนี้ในสภาพแวดล้อมการใช้งานจริงได้หากมีเรื่องลึกลับ แขวนข้อบกพร่องเพื่อตรวจสอบ: เปลี่ยน suspend=y เป็น suspend=n ใน tradefed.sh และ ให้เริ่มด้วยแฟล็กการแก้ไขข้อบกพร่อง JVM จะไม่รอให้มีการแนบโปรแกรมแก้ไขข้อบกพร่อง แต่คุณสามารถทำเช่นนั้นได้ เมื่อใดก็ได้ที่กระบวนการยังคงทำงานอยู่

แก้ไขข้อบกพร่องระยะไกลโดยใช้ JDB

หากต้องการใช้ JDB ของโปรแกรมแก้ไขข้อบกพร่อง Java ให้ทำตามขั้นตอนที่คล้ายกับขั้นตอนสำหรับ 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. เมื่อติดตั้งแล้ว ให้เลือก ครอบคลุมเป็น > ตัวเลือกการทดสอบ JUnit เพื่อดำเนินการ การครอบคลุมของโค้ด