Instant App เป็นฟีเจอร์หลักของ Android 10 จึงจำเป็นต้องทํางานได้อย่างถูกต้อง ระบบจะติดตั้งแอปด่วนโดยปริยาย ดังนั้นแอปเหล่านี้จึงมีชุดความสามารถที่จำกัดและทำงานในแซนด์บ็อกซ์ด้านความปลอดภัยที่เข้มงวดกว่า เนื่องจากข้อจำกัดเหล่านี้มีการใช้งานอย่างแพร่หลาย ส่วนหนึ่งส่วนใดของระบบจึงมีความเสี่ยงที่จะทำงานกับ Instant Apps ไม่ถูกต้อง ระบบจะสร้างชุดย่อยการทดสอบ CTS เพื่อให้แน่ใจว่าลักษณะการทำงานที่ Instant Apps อนุญาตทํางานได้ แนวคิดหลักคือลดขนาดของ CTS โดยแยกชุดการทดสอบขั้นต่ำเพื่อพอร์ต CTS ที่ทำงานในโหมด Instant App หมายถึงการติดตั้ง APK ทดสอบเป็น Instant App และทำการทดสอบ
ข้อจำกัดของ Instant App
ผู้ใช้ไม่ได้ติดตั้ง Instant App ดังนั้นแอปจะทำงานในแซนด์บ็อกซ์ที่มีข้อจำกัดต่อไปนี้
- มีสิทธิ์ได้เพียงบางสิทธิ์
- จะไม่เห็นแอปอื่นๆ เว้นแต่ว่าแอปเหล่านั้นจะมีเครื่องหมายว่ามองเห็น Instant Apps
- เข้าถึงได้เฉพาะการตั้งค่าระบบบางอย่าง
- เข้าถึงได้เฉพาะพร็อพเพอร์ตี้ระบบบางรายการ
- แสดงบริการ/ผู้ให้บริการไม่ได้
- รับและส่งได้โดยมีกฎพิเศษเกี่ยวกับประกาศ
นอกจากนี้ Instant App ยังต้องเลือกใช้เพื่ออนุญาตให้แซนด์บ็อกซ์ความปลอดภัยใหม่เพิ่มข้อจำกัดเพิ่มเติม ลักษณะการทำงานพิเศษที่หลากหลายของ Instant App นี้ส่งผลต่อทั้งแพลตฟอร์ม จึงต้องมีวิธีตรวจสอบว่า Instant App ทำงานได้ตามที่คาดไว้สำหรับอุปกรณ์ทั้งหมดในระบบนิเวศ
การทดสอบที่ทำงานในโหมด Instant App
โมดูล CTS บางรายการไม่มีการทดสอบที่ใช้กับ Instant App ได้ หากฟังก์ชันที่โมดูลทดสอบมีการโต้ตอบกับเซิร์ฟเวอร์ระบบ การทดสอบเหล่านี้ควรทําในโหมด Instant Apps ตัวอย่างเช่น การทดสอบ OpenGL ไม่ได้โต้ตอบกับเซิร์ฟเวอร์ระบบ จึงไม่จำเป็นต้องเรียกใช้การทดสอบในโหมด Instant Apps ขณะที่การทดสอบการช่วยเหลือพิเศษโต้ตอบกับเซิร์ฟเวอร์ระบบ แต่จำเป็นต้องเรียกใช้การทดสอบในโหมด Instant Apps
นอกเหนือจากการระบุข้อบังคับที่เกี่ยวข้องแล้ว ผู้ใช้ยังต้องระบุการทดสอบในข้อบังคับเหล่านี้ที่เกี่ยวข้องด้วย ตัวอย่างเช่น การทดสอบลักษณะการทำงานเฉพาะบริการสำหรับสถาปัตยกรรมแบบปลั๊กอิน (เช่น AccessibilityService) จะใช้ไม่ได้กับโหมด Instant App เนื่องจาก Instant App ไม่สามารถแสดงบริการต่อแอปอื่นๆ (รวมถึงแพลตฟอร์ม) ได้ ขณะที่การทดสอบเพื่อตรวจสอบลักษณะการทำงานฝั่งแอปจะใช้ได้กับโหมด Instant App อีกตัวอย่างหนึ่งคือการทดสอบที่ตรวจสอบลักษณะการทำงานที่อยู่เบื้องหลังสิทธิ์ที่ Instant App เก็บไว้ไม่ได้นั้นไม่เกี่ยวข้องในโหมด Instant App มีการทดสอบชุดหนึ่งที่ใช้กับ Instant App เท่านั้น ซึ่งจะตรวจสอบกฎเกี่ยวกับลักษณะการทํางาน เช่น ไม่แสดงบริการหรือไม่เห็นแอปอื่นๆ โดยปกติแล้ว ไฟล์เหล่านี้จะเขียนไว้แล้วและไม่จำเป็นต้องพอร์ต
การทดสอบไม่สําเร็จในโหมด Instant App
หากการทดสอบไม่สำเร็จเนื่องจากตรวจสอบฟังก์ชันการทำงานที่ Instant App เข้าถึงไม่ได้ แสดงว่าฟังก์ชันดังกล่าวใช้ไม่ได้ในโหมด Instant App ทําเครื่องหมายการทดสอบให้ทํางานในโหมดแอปแบบเต็มเท่านั้นโดยกำกับเนื้อหาด้วย @AppModeFull
คุณใช้คำอธิบายประกอบนี้กับระดับชั้นเรียนเพื่อยกเว้นการทดสอบทั้งหมดในชั้นเรียนได้
หากการทดสอบไม่สำเร็จเนื่องจากฟังก์ชันบางอย่างที่ Instant App เข้าถึงได้ใช้งานไม่ได้ ให้รายงานข้อบกพร่อง
การแก้ปัญหา
หากการทดสอบล้มเหลวโดยขึ้นข้อความว่าติดตั้ง MyCtsModule.apk ใน DEVICE ไม่สำเร็จ เหตุผล: '-116' ให้มองหาข้อความ PackageManager ใน Logcat เช่น หากมีข้อความว่าแทนที่ "แอปเต็ม" ด้วย Instant App: your_app ไม่ได้ ให้ adb ถอนการติดตั้งแอปก่อน