ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่า Tradefed โดยใช้ Eclipse
สร้างพื้นที่ทำงานแยกต่างหากเพื่อพัฒนาสหพันธ์การค้า อย่าใช้ มีการใช้พื้นที่ทำงานสำหรับการพัฒนาอุปกรณ์ Android อยู่แล้ว
หากจำเป็น คุณดาวน์โหลด Eclipse IDE สำหรับนักพัฒนา Java ได้จากรายการต่อไปนี้ eclipse.org/downloads
สร้างโปรเจ็กต์
- เรียกใช้ Make Studio จากบรรทัดคำสั่ง การดำเนินการนี้จะสร้างไลบรารีภายนอก ขึ้นอยู่กับโปรเจ็กต์ด้านล่าง
- ตั้งค่าตัวแปรคลาสพาธ TRADEFED_ROOT ใน
Window > Preferences > Java > Build Path> Classpath Variables
และชี้ค่าไปยังรากต้นทางที่แลกเปลี่ยน - ตั้งค่าตัวแปรเส้นทาง TRADEFED_ROOT ใน
Window > Preferences > General > Workspace > Linked Resources
และชี้ไปที่รากต้นทางที่มีการแลกเปลี่ยน ใช้วิซาร์ด
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
ให้แนบซอร์สโค้ด จาก Branch ของเครื่องมือที่ไม่ได้จัดกลุ่ม เช่น /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
ในแพลตฟอร์มเต็มรูปแบบ
แผนผังต้นทาง คุณจะต้องตรวจสอบสาขาของแพลตฟอร์ม เช่น main
เพื่อรับไฟล์เหล่านี้:
/การพัฒนา/หลัก/แนวคิด/สุริยุปราคา/
ใช้ไฟล์ค่ากำหนดใน Eclipse เพื่อตั้งค่าตัวจัดรูปแบบเป็น คู่มือแนะนำรูปแบบ Android โดยดำเนินการใน Studio ได้ดังนี้
- ไปที่หน้าต่าง > ค่ากำหนด > Java > รูปแบบโค้ด
- ในส่วน Formatter ให้นำเข้าไฟล์
android-formatting.xml
- ในส่วน จัดระเบียบ > Imports ให้นำเข้าไฟล์
android.importorder
นำช่องว่างต่อท้ายออก
หากต้องการบังคับให้ Eclipse นำช่องว่างด้านหลังทั้งหมดออก ให้ทำดังนี้
- ไปที่หน้าต่าง > ค่ากำหนด -> Java -> เอดิเตอร์ -> บันทึกการดำเนินการ
- จากนั้น การดำเนินการเพิ่มเติม -> กำหนดค่า -> รหัส > กำลังจัดระเบียบแท็บ -> เครื่องมือจัดรูปแบบ
- เลือกนำช่องว่างต่อท้าย
- คลิกใช้และปิด
ตรวจสอบรูปแบบโค้ด
เมื่อส่งรายการการเปลี่ยนแปลง ฮุกการอัปโหลดล่วงหน้าอัตโนมัติจะทำงานเพื่อตรวจสอบ
รูปแบบโค้ด: google-java-format
ซึ่งจะช่วยในการจัดรูปแบบโค้ดให้เป็นมาตรฐานทั่วไป
แก้ไขข้อบกพร่องของ Eclipse
ถ้าต้องการเรียกใช้โค้ด TF ผ่านโปรแกรมแก้ไขข้อบกพร่องใน Eclipse ขอแนะนำให้ สร้างการทดสอบ 1 หน่วยสำหรับโค้ดที่มีปัญหาก่อน เนื่องจากวิธีนี้จะเรียบง่ายที่สุด และรวดเร็วที่สุดในการใช้ฟังก์ชันการทำงาน
ในการแก้ไขข้อบกพร่องของการทดสอบหน่วย TF เพียงคลิกขวาที่การทดสอบหน่วย TF และเลือกแก้ไขข้อบกพร่องเป็น > JUnit test
หากต้องการแก้ไขข้อบกพร่องของการทดสอบการทำงานของ TF ให้ทำตามวิธีการในส่วนก่อนหน้า สำหรับการเรียกใช้การทดสอบการทำงาน แต่ใช้ปุ่ม เรียกใช้ > เมนูแก้ไขข้อบกพร่องการกำหนดค่า
หากต้องการแก้ไขข้อบกพร่องของโปรแกรม TF เมื่อเรียกใช้การกำหนดค่า โปรดทำตาม
วิธีการในส่วนก่อนหน้านี้สำหรับการเรียกใช้การทดสอบการทำงานแต่มี
อาร์กิวเมนต์บรรทัดคำสั่งสำหรับการกำหนดค่าที่ต้องการเรียกใช้ในขั้นตอนที่ 4 สไตรค์
เพื่อแก้ไขข้อบกพร่องของ "เครื่องมือ" ให้ไปที่เรียกใช้ > การกำหนดค่าการแก้ไขข้อบกพร่อง
แล้วตั้งค่าแท็บอาร์กิวเมนต์ในการกำหนดค่าการแก้ไขข้อบกพร่องของ Eclipse เป็น
-- package <package to run> instrument
แก้ไขข้อบกพร่องจากระยะไกลด้วย Eclipse
ทำตามขั้นตอนเหล่านี้เพื่อแก้ไขข้อบกพร่องเซสชันที่แลกเปลี่ยนจากระยะไกลซึ่งเริ่มต้นจาก
บรรทัดคำสั่ง tradefed.sh
:
- เริ่ม Tradefed.sh ด้วยแฟล็กการแก้ไขข้อบกพร่อง:
TF_DEBUG=1 tradefed.sh
- รอจนกว่าจะเห็นข้อความแจ้งนี้จาก JVM:
Listening for transport dt_socket at address: 10088
ซึ่งหมายความว่า JVM กำลังรอให้เครื่องมือแก้ไขข้อบกพร่อง แนบที่พอร์ต10088
- แนบด้วยการแก้ไขข้อบกพร่องจากระยะไกลของ Eclipse จากเมนูหลัก: เลือก เรียกใช้ > แก้ไขข้อบกพร่อง การกำหนดค่า...
- ในกล่องโต้ตอบป๊อปอัป ให้เลือกแอปพลิเคชัน Java ระยะไกลจากเมนูด้านซ้าย
- คลิกไอคอนการกำหนดค่าการเปิดตัวใหม่ในแถบการดำเนินการ
- ตั้งชื่อการกำหนดค่าตามต้องการ และเลือก Tradeeration เป็น
- ป้อนข้อมูลในพอร์ตโดยใช้ที่อยู่ที่ให้ไว้ก่อนหน้านี้
- สลับไปที่แท็บแหล่งที่มา แล้วเพิ่มการแลกเปลี่ยนโปรเจ็กต์ และ google-tradefed ไปยังเส้นทางการค้นหาแหล่งที่มา
- คลิกแก้ไขข้อบกพร่องเพื่อเริ่มเซสชันการแก้ไขข้อบกพร่อง
โปรแกรมแก้ไขข้อบกพร่องจะแนบไปกับกระบวนการ 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 ดังนี้
- เริ่มต้น
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/
- เมื่อติดตั้งแล้ว ให้เลือก ครอบคลุมเป็น > ตัวเลือกการทดสอบ JUnit เพื่อดำเนินการ การครอบคลุมของโค้ด