การกำหนดค่าบิลด์อย่างง่าย

โมดูลทดสอบใหม่แต่ละโมดูลต้องมีไฟล์การกำหนดค่าเพื่อสั่งระบบบิลด์ด้วยข้อมูลเมตาของโมดูล การพึ่งพาเวลาคอมไพล์ และคำแนะนำในการบรรจุ ตอนนี้ 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