ตั้งค่า Eclipse

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

สร้างพื้นที่ทํางานแยกต่างหากเพื่อพัฒนา Trade Federation อย่านําพื้นที่ทํางานที่ใช้สําหรับการพัฒนาอุปกรณ์ Android มาใช้ซ้ำ

หากจําเป็น คุณสามารถดาวน์โหลด Eclipse IDE สําหรับนักพัฒนาซอฟต์แวร์ Java ได้จาก eclipse.org/downloads

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

  1. เรียกใช้ Make Studio จากบรรทัดคำสั่ง การดำเนินการนี้จะสร้างไลบรารีภายนอก ขึ้นอยู่กับโปรเจ็กต์ด้านล่าง
  2. ตั้งค่าตัวแปร classpath ของ TRADEFED_ROOT ใน Window > Preferences > Java > Build Path> Classpath Variables และชี้ไปที่รูทแหล่งที่มาของ Tradefed
  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 ให้แนบซอร์สโค้ดจากสาขาเครื่องมือที่ไม่ได้รวมกลุ่ม เช่น /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 เพื่อรับไฟล์เหล่านี้ /development/main/ide/eclipse/

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

  1. ไปที่ Window > Preferences > Java > Code Style
  2. ในส่วนเครื่องมือจัดรูปแบบ ให้นําเข้าไฟล์ android-formatting.xml
  3. ในส่วนจัดระเบียบ > การนําเข้า ให้นําเข้าไฟล์ android.importorder

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

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

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

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

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

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

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

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

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

หากต้องการแก้ไขข้อบกพร่องของการทดสอบการทำงานของ 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. ตั้งชื่อการกําหนดค่าตามต้องการ แล้วเลือก tradefederation เป็นโปรเจ็กต์
  7. ป้อนข้อมูลพอร์ตโดยใช้ที่อยู่ที่ให้ไว้ก่อนหน้านี้
  8. เปลี่ยนไปใช้แท็บแหล่งที่มา แล้วเพิ่มโปรเจ็กต์ tradefederation และ google-tradefed ลงในเส้นทางการค้นหาแหล่งที่มา
  9. คลิกแก้ไขข้อบกพร่องเพื่อเริ่มเซสชันการแก้ไขข้อบกพร่อง

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

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

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

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

หากต้องการใช้ Java Debugger JDB ให้ทำตามขั้นตอนที่คล้ายกับของ Eclipse

  1. เริ่ม tradefed.sh ด้วย Flag การแก้ไขข้อบกพร่อง: 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 เพื่อเรียกใช้การครอบคลุมโค้ด