โมดูลทดสอบใหม่แต่ละโมดูลต้องมีไฟล์การกำหนดค่าเพื่อสั่งระบบบิลด์ด้วยข้อมูลเมตาของโมดูล การพึ่งพาเวลาคอมไพล์ และคำแนะนำในการบรรจุ ตอนนี้ Android ใช้ ระบบ Soong build เพื่อการกำหนดค่าการทดสอบที่ง่ายขึ้น
Soong ใช้ไฟล์ Blueprint หรือ .bp
ซึ่งเป็นคำอธิบายแบบประกาศอย่างง่ายของโมดูลที่จะสร้างเหมือน JSON รูปแบบนี้แทนที่ระบบ Make-based ที่ใช้ในรีลีสก่อนหน้า ดู ไฟล์อ้างอิงของ Soong บน แดชบอร์ดการรวมอย่างต่อเนื่อง สำหรับรายละเอียดทั้งหมด
เพื่อรองรับการทดสอบแบบกำหนดเองหรือใช้ Android Compatibility Test Suite (CTS) ให้ทำตาม การกำหนดค่าการทดสอบที่ซับซ้อน แทน
ตัวอย่าง
รายการด้านล่างมาจากไฟล์กำหนดค่า Blueprint ตัวอย่างนี้: /platform_testing/tests/example/instrumentation/Android.bp
ภาพรวมอยู่ที่นี่เพื่อความสะดวก:
android_test {
name: "HelloWorldTests",
srcs: ["src/**/*.java"],
sdk_version: "current",
static_libs: ["androidx.test.runner"],
certificate: "platform",
test_suites: ["device-tests"],
}
โปรดทราบว่าการประกาศ android_test
ที่จุดเริ่มต้นระบุว่านี่คือการทดสอบ ในทางกลับกันการรวม android_app
จะระบุว่านี่เป็นแพ็คเกจสร้างแทน
การตั้งค่า
การตั้งค่าต่อไปนี้รวบรวมคำอธิบาย:
name: "HelloWorldTests",
จำเป็นต้องตั้งค่า name
เมื่อมีการระบุประเภทโมดูล android_test
(ที่จุดเริ่มต้นของบล็อก) ซึ่งจะตั้งชื่อให้กับโมดูลของคุณ และ APK ที่ได้จะมีชื่อเหมือนกันและต่อท้ายด้วย .apk
เช่น ในกรณีนี้ ผลการทดสอบ apk จะมีชื่อว่า HelloWorldTests.apk
นอกจากนี้ยังกำหนดชื่อ make เป้าหมายสำหรับโมดูลของคุณ ดังนั้นคุณจึงสามารถใช้ make [options] <HelloWorldTests>
เพื่อสร้างโมดูลการทดสอบและการอ้างอิงทั้งหมด
static_libs: ["androidx.test.runner"],
การตั้งค่า static_libs
สั่งให้ระบบ build รวมเนื้อหาของโมดูลที่มีชื่อเข้ากับ apk ที่เป็นผลลัพธ์ของโมดูลปัจจุบัน ซึ่งหมายความว่าแต่ละโมดูลที่มีชื่อคาดว่าจะสร้างไฟล์ .jar
และเนื้อหาจะถูกใช้สำหรับแก้ไขการอ้างอิง classpath ในช่วงเวลาคอมไพล์ รวมทั้งรวมอยู่ใน apk ที่เป็นผลลัพธ์
โมดูล androidx.test.runner
เป็นโมดูลที่สร้างไว้ล่วงหน้าสำหรับไลบรารีรันเนอร์ทดสอบ AndroidX ซึ่งรวมถึงรันเนอร์ทดสอบ AndroidJUnitRunner
AndroidJUnitRunner
รองรับเฟรมเวิร์กการทดสอบ JUnit4 และแทนที่ InstrumentationTestRunner
ใน Android 10 อ่านเพิ่มเติมเกี่ยวกับการทดสอบแอป Android ได้ที่ แอปทดสอบบน Android
หากคุณกำลังสร้างโมดูลเครื่องมือวัดใหม่ คุณควรเริ่มต้นด้วยไลบรารี androidx.test.runner
เป็นตัวดำเนินการทดสอบเสมอ โครงสร้างแหล่งที่มาของแพลตฟอร์มยังรวมถึงกรอบการทดสอบที่เป็นประโยชน์อื่นๆ เช่น ub-uiautomator
, mockito-target
, easymock
และอื่นๆ
certificate: "platform",
การตั้งค่า certificate
จะสั่งให้ระบบบิลด์ลงนาม apk ด้วยใบรับรองเดียวกันกับแพลตฟอร์มหลัก สิ่งนี้จำเป็นหากการทดสอบของคุณใช้สิทธิ์ที่มีการป้องกันด้วยลายเซ็นหรือ API โปรดทราบว่าสิ่งนี้เหมาะสำหรับการทดสอบอย่างต่อเนื่องของแพลตฟอร์ม แต่ ไม่ ควรใช้ในโมดูลทดสอบ CTS โปรดทราบว่าตัวอย่างนี้ใช้การตั้งค่าใบรับรองนี้เพื่อจุดประสงค์ในการอธิบายเท่านั้น: โค้ดทดสอบของตัวอย่างไม่จำเป็นต้องลงชื่อสำหรับ apk ทดสอบด้วยใบรับรองแพลตฟอร์มพิเศษ
หากคุณกำลังเขียนเครื่องมือสำหรับคอมโพเนนต์ของคุณที่อยู่นอกเซิร์ฟเวอร์ระบบ นั่นคือมีแพ็กเกจไม่มากก็น้อยเหมือนกับแอป apk ทั่วไป ยกเว้นว่าสร้างไว้ในอิมเมจระบบและอาจเป็นแอปพิเศษ โอกาสที่เครื่องมือของคุณจะ กำหนดเป้าหมายไปที่แพ็คเกจแอป (ดูส่วนด้านล่างเกี่ยวกับรายการ) ของคอมโพเนนต์ของคุณ ในกรณีนี้ makefile แอปพลิเคชันของคุณอาจมีการตั้ง certificate
ของตัวเอง และโมดูลเครื่องมือวัดของคุณควรคงการตั้งค่าเดิมไว้ เนื่องจากในการกำหนดเป้าหมายเครื่องมือของคุณในแอปที่กำลังทดสอบ apk ทดสอบและ apk ของแอปจะต้องลงนามด้วยใบรับรองเดียวกัน
ในกรณีอื่น คุณไม่จำเป็นต้องมีการตั้งค่านี้เลย: ระบบบิลด์จะลงนามด้วยใบรับรองในตัวที่เป็นค่าเริ่มต้น โดยอิงตามตัวแปรของบิลด์ และโดยทั่วไปเรียกว่า dev-keys
test_suites: ["device-tests"],
การตั้งค่า test_suites
ทำให้ชุดทดสอบของ Trade Federation ค้นพบการทดสอบได้ง่าย สามารถเพิ่มห้องชุดอื่น ๆ ได้ที่นี่เช่น CTS เพื่อแบ่งปันการทดสอบนี้
${ANDROID_PRODUCT_OUT}/testcases/HelloWorldTests/HelloWorldTests.apk
การตั้งค่าเพิ่มเติม
การตั้งค่าเพิ่มเติมต่อไปนี้รวบรวมคำอธิบาย:
test_config: "path/to/hello_world_test.xml"
การตั้งค่า test_config
จะสั่งให้ระบบ build เป้าหมายการทดสอบของคุณต้องการการกำหนดค่าเฉพาะ ตามค่าเริ่มต้น AndroidTest.xml
ถัดจาก Android.bp
จะเชื่อมโยงกับการกำหนดค่า
auto_gen_config: true
การตั้งค่า auto_gen_config
ระบุว่าจะสร้างการทดสอบการกำหนดค่าโดยอัตโนมัติหรือไม่ หากไม่มี AndroidTest.xml
ถัดจาก Android.bp
ก็ไม่จำเป็นต้องตั้งค่าแอตทริบิวต์นี้เป็น true อย่างชัดแจ้ง
require_root: true
การตั้งค่า require_root
สั่งให้ระบบบิลด์เพิ่ม RootTargetPreparer ให้กับการกำหนดค่าการทดสอบที่สร้างขึ้นโดยอัตโนมัติ สิ่งนี้รับประกันว่าการทดสอบจะทำงานโดยมีสิทธิ์รูท
test_min_api_level: 29
การตั้งค่า test_min_api_level
สั่งให้ระบบ build เพิ่ม MinApiLevelModuleController ให้กับการกำหนดค่าการทดสอบที่สร้างขึ้นโดยอัตโนมัติ เมื่อ Trade Federation เรียกใช้การกำหนดค่าการทดสอบ การทดสอบจะถูกข้ามหากคุณสมบัติอุปกรณ์ของ ro.product.first_api_level
< test_min_api_level
โมดูลทดสอบใหม่แต่ละโมดูลต้องมีไฟล์การกำหนดค่าเพื่อสั่งระบบบิลด์ด้วยข้อมูลเมตาของโมดูล การพึ่งพาเวลาคอมไพล์ และคำแนะนำในการบรรจุ ตอนนี้ Android ใช้ ระบบ Soong build เพื่อการกำหนดค่าการทดสอบที่ง่ายขึ้น
Soong ใช้ไฟล์ Blueprint หรือ .bp
ซึ่งเป็นคำอธิบายแบบประกาศอย่างง่ายของโมดูลที่จะสร้างเหมือน JSON รูปแบบนี้แทนที่ระบบ Make-based ที่ใช้ในรีลีสก่อนหน้า ดู ไฟล์อ้างอิงของ Soong บน แดชบอร์ดการรวมอย่างต่อเนื่อง สำหรับรายละเอียดทั้งหมด
เพื่อรองรับการทดสอบแบบกำหนดเองหรือใช้ Android Compatibility Test Suite (CTS) ให้ทำตาม การกำหนดค่าการทดสอบที่ซับซ้อน แทน
ตัวอย่าง
รายการด้านล่างมาจากไฟล์กำหนดค่า Blueprint ตัวอย่างนี้: /platform_testing/tests/example/instrumentation/Android.bp
ภาพรวมอยู่ที่นี่เพื่อความสะดวก:
android_test {
name: "HelloWorldTests",
srcs: ["src/**/*.java"],
sdk_version: "current",
static_libs: ["androidx.test.runner"],
certificate: "platform",
test_suites: ["device-tests"],
}
โปรดทราบว่าการประกาศ android_test
ที่จุดเริ่มต้นระบุว่านี่คือการทดสอบ ในทางกลับกันการรวม android_app
จะระบุว่านี่เป็นแพ็คเกจสร้างแทน
การตั้งค่า
การตั้งค่าต่อไปนี้รวบรวมคำอธิบาย:
name: "HelloWorldTests",
จำเป็นต้องตั้งค่า name
เมื่อมีการระบุประเภทโมดูล android_test
(ที่จุดเริ่มต้นของบล็อก) ซึ่งจะตั้งชื่อให้กับโมดูลของคุณ และ APK ที่ได้จะมีชื่อเหมือนกันและต่อท้ายด้วย .apk
เช่น ในกรณีนี้ ผลการทดสอบ apk จะมีชื่อว่า HelloWorldTests.apk
นอกจากนี้ยังกำหนดชื่อ make เป้าหมายสำหรับโมดูลของคุณ ดังนั้นคุณจึงสามารถใช้ make [options] <HelloWorldTests>
เพื่อสร้างโมดูลการทดสอบและการอ้างอิงทั้งหมด
static_libs: ["androidx.test.runner"],
การตั้งค่า static_libs
สั่งให้ระบบ build รวมเนื้อหาของโมดูลที่มีชื่อเข้ากับ apk ที่เป็นผลลัพธ์ของโมดูลปัจจุบัน ซึ่งหมายความว่าแต่ละโมดูลที่มีชื่อคาดว่าจะสร้างไฟล์ .jar
และเนื้อหาจะถูกใช้สำหรับแก้ไขการอ้างอิง classpath ในช่วงเวลาคอมไพล์ รวมทั้งรวมอยู่ใน apk ที่เป็นผลลัพธ์
โมดูล androidx.test.runner
เป็นโมดูลที่สร้างไว้ล่วงหน้าสำหรับไลบรารีรันเนอร์ทดสอบ AndroidX ซึ่งรวมถึงรันเนอร์ทดสอบ AndroidJUnitRunner
AndroidJUnitRunner
รองรับเฟรมเวิร์กการทดสอบ JUnit4 และแทนที่ InstrumentationTestRunner
ใน Android 10 อ่านเพิ่มเติมเกี่ยวกับการทดสอบแอป Android ได้ที่ แอปทดสอบบน Android
หากคุณกำลังสร้างโมดูลเครื่องมือวัดใหม่ คุณควรเริ่มต้นด้วยไลบรารี androidx.test.runner
เป็นตัวดำเนินการทดสอบเสมอ โครงสร้างแหล่งที่มาของแพลตฟอร์มยังรวมถึงกรอบการทดสอบที่เป็นประโยชน์อื่นๆ เช่น ub-uiautomator
, mockito-target
, easymock
และอื่นๆ
certificate: "platform",
การตั้งค่า certificate
จะสั่งให้ระบบบิลด์ลงนาม apk ด้วยใบรับรองเดียวกันกับแพลตฟอร์มหลัก สิ่งนี้จำเป็นหากการทดสอบของคุณใช้สิทธิ์ที่มีการป้องกันด้วยลายเซ็นหรือ API โปรดทราบว่าสิ่งนี้เหมาะสำหรับการทดสอบอย่างต่อเนื่องของแพลตฟอร์ม แต่ ไม่ ควรใช้ในโมดูลทดสอบ CTS โปรดทราบว่าตัวอย่างนี้ใช้การตั้งค่าใบรับรองนี้เพื่อจุดประสงค์ในการอธิบายเท่านั้น: โค้ดทดสอบของตัวอย่างไม่จำเป็นต้องลงชื่อสำหรับ apk ทดสอบด้วยใบรับรองแพลตฟอร์มพิเศษ
หากคุณกำลังเขียนเครื่องมือสำหรับคอมโพเนนต์ของคุณที่อยู่นอกเซิร์ฟเวอร์ระบบ นั่นคือมีแพ็กเกจไม่มากก็น้อยเหมือนกับแอป apk ทั่วไป ยกเว้นว่าสร้างไว้ในอิมเมจระบบและอาจเป็นแอปพิเศษ โอกาสที่เครื่องมือของคุณจะ กำหนดเป้าหมายไปที่แพ็คเกจแอป (ดูส่วนด้านล่างเกี่ยวกับรายการ) ของคอมโพเนนต์ของคุณ ในกรณีนี้ makefile แอปพลิเคชันของคุณอาจมีการตั้ง certificate
ของตัวเอง และโมดูลเครื่องมือวัดของคุณควรคงการตั้งค่าเดิมไว้ เนื่องจากในการกำหนดเป้าหมายเครื่องมือของคุณในแอปที่กำลังทดสอบ apk ทดสอบและ apk ของแอปจะต้องลงนามด้วยใบรับรองเดียวกัน
ในกรณีอื่น คุณไม่จำเป็นต้องมีการตั้งค่านี้เลย: ระบบบิลด์จะลงนามด้วยใบรับรองในตัวที่เป็นค่าเริ่มต้น โดยอิงตามตัวแปรของบิลด์ และโดยทั่วไปเรียกว่า dev-keys
test_suites: ["device-tests"],
การตั้งค่า test_suites
ทำให้ชุดทดสอบของ Trade Federation ค้นพบการทดสอบได้ง่าย สามารถเพิ่มห้องชุดอื่น ๆ ได้ที่นี่เช่น CTS เพื่อแบ่งปันการทดสอบนี้
${ANDROID_PRODUCT_OUT}/testcases/HelloWorldTests/HelloWorldTests.apk
การตั้งค่าเพิ่มเติม
การตั้งค่าเพิ่มเติมต่อไปนี้รวบรวมคำอธิบาย:
test_config: "path/to/hello_world_test.xml"
การตั้งค่า test_config
จะสั่งให้ระบบ build เป้าหมายการทดสอบของคุณต้องการการกำหนดค่าเฉพาะ ตามค่าเริ่มต้น AndroidTest.xml
ถัดจาก Android.bp
จะเชื่อมโยงกับการกำหนดค่า
auto_gen_config: true
การตั้งค่า auto_gen_config
ระบุว่าจะสร้างการทดสอบการกำหนดค่าโดยอัตโนมัติหรือไม่ หากไม่มี AndroidTest.xml
ถัดจาก Android.bp
ก็ไม่จำเป็นต้องตั้งค่าแอตทริบิวต์นี้เป็น true อย่างชัดแจ้ง
require_root: true
การตั้งค่า require_root
สั่งให้ระบบบิลด์เพิ่ม RootTargetPreparer ให้กับการกำหนดค่าการทดสอบที่สร้างขึ้นโดยอัตโนมัติ สิ่งนี้รับประกันว่าการทดสอบจะทำงานโดยมีสิทธิ์รูท
test_min_api_level: 29
การตั้งค่า test_min_api_level
สั่งให้ระบบ build เพิ่ม MinApiLevelModuleController ให้กับการกำหนดค่าการทดสอบที่สร้างขึ้นโดยอัตโนมัติ เมื่อ Trade Federation เรียกใช้การกำหนดค่าการทดสอบ การทดสอบจะถูกข้ามหากคุณสมบัติอุปกรณ์ของ ro.product.first_api_level
< test_min_api_level
โมดูลทดสอบใหม่แต่ละโมดูลต้องมีไฟล์การกำหนดค่าเพื่อสั่งระบบบิลด์ด้วยข้อมูลเมตาของโมดูล การพึ่งพาเวลาคอมไพล์ และคำแนะนำในการบรรจุ ตอนนี้ Android ใช้ ระบบ Soong build เพื่อการกำหนดค่าการทดสอบที่ง่ายขึ้น
Soong ใช้ไฟล์ Blueprint หรือ .bp
ซึ่งเป็นคำอธิบายแบบประกาศอย่างง่ายของโมดูลที่จะสร้างเหมือน JSON รูปแบบนี้แทนที่ระบบ Make-based ที่ใช้ในรีลีสก่อนหน้า ดู ไฟล์อ้างอิงของ Soong บน แดชบอร์ดการรวมอย่างต่อเนื่อง สำหรับรายละเอียดทั้งหมด
เพื่อรองรับการทดสอบแบบกำหนดเองหรือใช้ Android Compatibility Test Suite (CTS) ให้ทำตาม การกำหนดค่าการทดสอบที่ซับซ้อน แทน
ตัวอย่าง
รายการด้านล่างมาจากไฟล์กำหนดค่า Blueprint ตัวอย่างนี้: /platform_testing/tests/example/instrumentation/Android.bp
ภาพรวมอยู่ที่นี่เพื่อความสะดวก:
android_test {
name: "HelloWorldTests",
srcs: ["src/**/*.java"],
sdk_version: "current",
static_libs: ["androidx.test.runner"],
certificate: "platform",
test_suites: ["device-tests"],
}
โปรดทราบว่าการประกาศ android_test
ที่จุดเริ่มต้นระบุว่านี่คือการทดสอบ ในทางกลับกันการรวม android_app
จะระบุว่านี่เป็นแพ็คเกจสร้างแทน
การตั้งค่า
การตั้งค่าต่อไปนี้รวบรวมคำอธิบาย:
name: "HelloWorldTests",
จำเป็นต้องตั้งค่า name
เมื่อมีการระบุประเภทโมดูล android_test
(ที่จุดเริ่มต้นของบล็อก) ซึ่งจะตั้งชื่อให้กับโมดูลของคุณ และ APK ที่ได้จะมีชื่อเหมือนกันและต่อท้ายด้วย .apk
เช่น ในกรณีนี้ ผลการทดสอบ apk จะมีชื่อว่า HelloWorldTests.apk
นอกจากนี้ยังกำหนดชื่อ make เป้าหมายสำหรับโมดูลของคุณ ดังนั้นคุณจึงสามารถใช้ make [options] <HelloWorldTests>
เพื่อสร้างโมดูลการทดสอบและการอ้างอิงทั้งหมด
static_libs: ["androidx.test.runner"],
การตั้งค่า static_libs
สั่งให้ระบบ build รวมเนื้อหาของโมดูลที่มีชื่อเข้ากับ apk ที่เป็นผลลัพธ์ของโมดูลปัจจุบัน ซึ่งหมายความว่าแต่ละโมดูลที่มีชื่อคาดว่าจะสร้างไฟล์ .jar
และเนื้อหาจะถูกใช้สำหรับแก้ไขการอ้างอิง classpath ในช่วงเวลาคอมไพล์ รวมทั้งรวมอยู่ใน apk ที่เป็นผลลัพธ์
โมดูล androidx.test.runner
เป็นโมดูลที่สร้างไว้ล่วงหน้าสำหรับไลบรารีรันเนอร์ทดสอบ AndroidX ซึ่งรวมถึงรันเนอร์ทดสอบ AndroidJUnitRunner
AndroidJUnitRunner
รองรับเฟรมเวิร์กการทดสอบ JUnit4 และแทนที่ InstrumentationTestRunner
ใน Android 10 อ่านเพิ่มเติมเกี่ยวกับการทดสอบแอป Android ได้ที่ แอปทดสอบบน Android
หากคุณกำลังสร้างโมดูลเครื่องมือวัดใหม่ คุณควรเริ่มต้นด้วยไลบรารี androidx.test.runner
เป็นตัวดำเนินการทดสอบเสมอ โครงสร้างแหล่งที่มาของแพลตฟอร์มยังรวมถึงกรอบการทดสอบที่เป็นประโยชน์อื่นๆ เช่น ub-uiautomator
, mockito-target
, easymock
และอื่นๆ
certificate: "platform",
การตั้งค่า certificate
จะสั่งให้ระบบบิลด์ลงนาม apk ด้วยใบรับรองเดียวกันกับแพลตฟอร์มหลัก สิ่งนี้จำเป็นหากการทดสอบของคุณใช้สิทธิ์ที่มีการป้องกันด้วยลายเซ็นหรือ API โปรดทราบว่าสิ่งนี้เหมาะสำหรับการทดสอบอย่างต่อเนื่องของแพลตฟอร์ม แต่ ไม่ ควรใช้ในโมดูลทดสอบ CTS โปรดทราบว่าตัวอย่างนี้ใช้การตั้งค่าใบรับรองนี้เพื่อจุดประสงค์ในการอธิบายเท่านั้น: โค้ดทดสอบของตัวอย่างไม่จำเป็นต้องลงชื่อสำหรับ apk ทดสอบด้วยใบรับรองแพลตฟอร์มพิเศษ
หากคุณกำลังเขียนเครื่องมือสำหรับคอมโพเนนต์ของคุณที่อยู่นอกเซิร์ฟเวอร์ระบบ นั่นคือมีแพ็กเกจไม่มากก็น้อยเหมือนกับแอป apk ทั่วไป ยกเว้นว่าสร้างไว้ในอิมเมจระบบและอาจเป็นแอปพิเศษ โอกาสที่เครื่องมือของคุณจะ กำหนดเป้าหมายไปที่แพ็คเกจแอป (ดูส่วนด้านล่างเกี่ยวกับรายการ) ของคอมโพเนนต์ของคุณ ในกรณีนี้ makefile แอปพลิเคชันของคุณอาจมีการตั้ง certificate
ของตัวเอง และโมดูลเครื่องมือวัดของคุณควรคงการตั้งค่าเดิมไว้ เนื่องจากในการกำหนดเป้าหมายเครื่องมือของคุณในแอปที่กำลังทดสอบ apk ทดสอบและ apk ของแอปจะต้องลงนามด้วยใบรับรองเดียวกัน
ในกรณีอื่น คุณไม่จำเป็นต้องมีการตั้งค่านี้เลย: ระบบบิลด์จะลงนามด้วยใบรับรองในตัวที่เป็นค่าเริ่มต้น โดยอิงตามตัวแปรของบิลด์ และโดยทั่วไปเรียกว่า dev-keys
test_suites: ["device-tests"],
การตั้งค่า test_suites
ทำให้ชุดทดสอบของ Trade Federation ค้นพบการทดสอบได้ง่าย สามารถเพิ่มห้องชุดอื่น ๆ ได้ที่นี่เช่น CTS เพื่อแบ่งปันการทดสอบนี้
${ANDROID_PRODUCT_OUT}/testcases/HelloWorldTests/HelloWorldTests.apk
การตั้งค่าเพิ่มเติม
การตั้งค่าเพิ่มเติมต่อไปนี้รวบรวมคำอธิบาย:
test_config: "path/to/hello_world_test.xml"
การตั้งค่า test_config
จะสั่งให้ระบบ build เป้าหมายการทดสอบของคุณต้องการการกำหนดค่าเฉพาะ ตามค่าเริ่มต้น AndroidTest.xml
ถัดจาก Android.bp
จะเชื่อมโยงกับการกำหนดค่า
auto_gen_config: true
การตั้งค่า auto_gen_config
ระบุว่าจะสร้างการทดสอบการกำหนดค่าโดยอัตโนมัติหรือไม่ หากไม่มี AndroidTest.xml
ถัดจาก Android.bp
ก็ไม่จำเป็นต้องตั้งค่าแอตทริบิวต์นี้เป็น true อย่างชัดแจ้ง
require_root: true
การตั้งค่า require_root
สั่งให้ระบบบิลด์เพิ่ม RootTargetPreparer ให้กับการกำหนดค่าการทดสอบที่สร้างขึ้นโดยอัตโนมัติ สิ่งนี้รับประกันว่าการทดสอบจะทำงานโดยมีสิทธิ์รูท
test_min_api_level: 29
การตั้งค่า test_min_api_level
สั่งให้ระบบ build เพิ่ม MinApiLevelModuleController ให้กับการกำหนดค่าการทดสอบที่สร้างขึ้นโดยอัตโนมัติ เมื่อ Trade Federation เรียกใช้การกำหนดค่าการทดสอบ การทดสอบจะถูกข้ามหากคุณสมบัติอุปกรณ์ของ ro.product.first_api_level
< test_min_api_level