ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่า Tradefed โดยใช้ Eclipse
สร้างพื้นที่ทํางานแยกต่างหากเพื่อพัฒนา Trade Federation อย่านําพื้นที่ทํางานที่ใช้สําหรับการพัฒนาอุปกรณ์ Android มาใช้ซ้ำ
หากจําเป็น คุณสามารถดาวน์โหลด Eclipse IDE สําหรับนักพัฒนาซอฟต์แวร์ Java ได้จาก eclipse.org/downloads
สร้างโปรเจ็กต์
- เรียกใช้ Make Studio จากบรรทัดคำสั่ง การดำเนินการนี้จะสร้างไลบรารีภายนอก ขึ้นอยู่กับโปรเจ็กต์ด้านล่าง
- ตั้งค่าตัวแปร classpath ของ TRADEFED_ROOT ใน
Window > Preferences > Java > Build Path> Classpath Variables
และชี้ไปที่รูทแหล่งที่มาของ Tradefed - ตั้งค่าตัวแปรเส้นทาง 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
ให้แนบซอร์สโค้ดจากสาขาเครื่องมือที่ไม่ได้รวมกลุ่ม เช่น /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
เพื่อรับไฟล์เหล่านี้
/development/main/ide/eclipse/
ใช้ไฟล์ค่ากำหนดใน Eclipse เพื่อตั้งค่าเครื่องมือจัดรูปแบบเป็นคู่มือสไตล์ Android โดยอัตโนมัติ วิธีดำเนินการใน Studio
- ไปที่ Window > Preferences > Java > Code Style
- ในส่วนเครื่องมือจัดรูปแบบ ให้นําเข้าไฟล์
android-formatting.xml
- ในส่วนจัดระเบียบ > การนําเข้า ให้นําเข้าไฟล์
android.importorder
นําช่องว่างต่อท้ายออก
วิธีบังคับให้ Eclipse นำช่องว่างต่อท้ายทั้งหมดออก
- ไปที่ Window > Preferences -> Java -> Editor -> Save Actions
- จากนั้นการทำงานเพิ่มเติม -> กำหนดค่า -> โค้ด > แท็บการจัดระเบียบ -> เครื่องมือจัดรูปแบบ
- เลือกนำเว้นวรรคต่อท้ายออก
- คลิกใช้และปิด
ตรวจสอบรูปแบบโค้ด
เมื่อส่งรายการการเปลี่ยนแปลง ฮุกการอัปโหลดล่วงหน้าอัตโนมัติจะทำงานเพื่อตรวจสอบรูปแบบโค้ด google-java-format
ซึ่งจะช่วยจัดรูปแบบโค้ดให้เป็นมาตรฐานทั่วไป
แก้ไขข้อบกพร่องของ Eclipse
หากต้องการเรียกใช้โค้ด TF ผ่านโปรแกรมแก้ไขข้อบกพร่องใน Eclipse เราขอแนะนำให้คุณสร้างการทดสอบหน่วยสําหรับโค้ดที่เป็นปัญหาก่อน เนื่องจากเป็นวิธีที่ง่ายและรวดเร็วที่สุดในการใช้ฟังก์ชันการทำงาน
หากต้องการแก้ไขข้อบกพร่องของการทดสอบหน่วย TF เพียงคลิกขวาที่การทดสอบหน่วย TF และเลือกแก้ไขข้อบกพร่องเป็น > การทดสอบ JUnit
หากต้องการแก้ไขข้อบกพร่องของการทดสอบการทำงานของ 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 ระยะไกลจากเมนูด้านซ้าย
- คลิกไอคอนการกำหนดค่าการเปิดตัวใหม่ในแถบการดำเนินการ
- ตั้งชื่อการกําหนดค่าตามต้องการ แล้วเลือก tradefederation เป็นโปรเจ็กต์
- ป้อนข้อมูลพอร์ตโดยใช้ที่อยู่ที่ให้ไว้ก่อนหน้านี้
- เปลี่ยนไปใช้แท็บแหล่งที่มา แล้วเพิ่มโปรเจ็กต์ tradefederation และ 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
หากต้องการใช้ Java Debugger JDB ให้ทำตามขั้นตอนที่คล้ายกับของ Eclipse
- เริ่ม
tradefed.sh
ด้วย Flag การแก้ไขข้อบกพร่อง: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 เพื่อเรียกใช้การครอบคลุมโค้ด