การดำเนินการบันทึกผู้ขายตามขอบเขต

Android 11 เพิ่ม HAL, IDumpstateDevice (เวอร์ชัน 1.1) ใหม่ HAL นี้เผยให้เห็นวิธีการใหม่ในการจำกัดขอบเขตบันทึกของผู้ขายที่รวมอยู่ในรายงานจุดบกพร่องมาตรฐาน ตลอดจนอนุญาตให้ผู้ใช้สร้างเพื่อเปิดและปิดการเข้าสู่ระบบของผู้ขาย (ค่าเริ่มต้นสำหรับรุ่นผู้ใช้ปิดอยู่) สิ่งนี้ทำให้ OEM สามารถควบคุมสิ่งที่รวมอยู่ในรายงานข้อบกพร่องบางประเภทได้มากขึ้น

คุณลักษณะนี้ส่งผลต่อ OEM หากพวกเขาเลือกใช้ HAL ที่เป็นตัวเลือกนี้ SoC อาจได้รับผลกระทบ ขึ้นอยู่กับสิ่งที่ OEM เลือกที่จะเปิดเผยด้วย HAL นี้ ไม่คาดว่าจะส่งผลกระทบกับผู้ให้บริการ

สิ่งที่คุณรวมไว้ในรายงานข้อบกพร่องจะขึ้นอยู่กับข้อมูลที่คุณพบว่าเกี่ยวข้องกับการดีบัก แต่โดยทั่วไปแล้ว ละเอียดกว่าจะดีกว่า

ตัวอย่างและที่มา

มีการดำเนินการเริ่มต้นของ (เลิก) 1.0 รุ่นของ IDumpstateDevice เป็นเรื่องที่แสดงให้เห็นตัวอย่างของการใช้ dumpstate util ห้องสมุด: frameworks/native/cmds/dumpstate/DumpstateUtil.h นอกจากนี้ยังมีการดำเนินงานของปลาหมึก 1.1 HAL: device/google/cuttlefish/guest/monitoring/dumpstate_ext/* *

ซอร์สโค้ดอยู่ที่นี่:

การดำเนินการ

ในการดำเนินการ HAL นี้ใช้ android.hardware.dumpstate@1.1::IDumpstateDevice อินเตอร์เฟซฮาล มีหลายที่เป็นไปได้ DumpstateMode ค่า แต่ไม่ทั้งหมดจะมีแนวโน้มที่จะได้รับการสนับสนุนโดยเครื่องเดียว (เช่นสวมใส่สำหรับ OS อุปกรณ์ที่ไม่ใช่ Wear)

การใช้ Dumpstate HAL เป็นทางเลือก อุปกรณ์ใหม่ทั้งหมดที่เปิดตัวด้วย Android 11 ต้องใช้ IDumpstateDevice 1.1 หากใช้ Dumpstate HAL อุปกรณ์ที่ใช้ IDumpstateDevice 1.0 ก่อน Android 11 นั้นควรอัปเกรดเป็น 1.1 ได้ง่าย และขอแนะนำอย่างยิ่ง เนื่องจากจะลดปริมาณข้อมูลส่วนตัวภายนอกที่รวมอยู่ในรายงานข้อบกพร่องอย่างมาก

คุณลักษณะนี้จะขึ้นอยู่กับการเปลี่ยนแปลง dumpstate หลักนอกจากนี้ยังมาพร้อมกับ Android 11 ที่อยู่ภายใต้ frameworks/native/cmds/dumpstate

การใช้ HAL นี้อาจจำเป็นต้องเปลี่ยนแปลง SEPolicy บางอย่างในคุณสมบัติของระบบ ไฟล์ ฯลฯ เพื่อให้ทำงานได้อย่างสมบูรณ์ และจะต้องมีการประสานงานกับผู้ขายเพื่อถ่ายโอนข้อมูลที่เกี่ยวข้องทั้งหมดลงในรายงานจุดบกพร่อง

การปรับแต่ง

ผู้ใช้อุปกรณ์สามารถสลับเปิดหรือปิดการเข้าสู่ระบบของผู้ขายได้โดยใช้การตั้งค่าของนักพัฒนา เมื่อมันปิด dumpstateBoard_1_1 อาจจะยังคงส่งออกข้อมูลที่จำเป็นน้อยที่สุดตามที่กำหนดโดย OEM เลี้ยวเข้าสู่ระบบของผู้ขายออกทำให้ IDumpstateDevice::dumpstateBoard เพิ่มข้อมูลที่จำเป็นเท่านั้นที่จะรายงานข้อผิดพลาดในขณะที่เปิดเครื่องในรวมถึงสิ่งที่ข้อมูลที่เลือก OEM

คุณสามารถปรับเปลี่ยน dumpstate.cpp (ซึ่งเรียกวิธีการ IDumpstateDevice HAL) ตัวอย่างเช่นเพื่อเพิ่มหมดเวลาที่กำหนดสำหรับ dumpstateBoard เสร็จสมบูรณ์ แต่ตรรกะหลักของ dumpstate.cpp ควรจะยังคงไม่เปลี่ยนแปลง

ระยะหมดเวลาอาจเป็นค่าใดก็ได้ แต่ไม่ควรเพิ่มเวลาที่รายงานข้อบกพร่องใช้ในการดำเนินการให้เสร็จสิ้นอย่างมาก โดยเฉพาะอย่างยิ่ง DumpstateMode::CONNECTIVITY เป็นอย่างมากเวลาที่สำคัญและความต้องการที่จะทำงานให้เร็วที่สุดเท่าที่เป็นไปได้ในการเก็บรวบรวมโมเด็มที่เกี่ยวข้อง / Wi-Fi / บันทึกเครือข่ายทั้งหมด

การตรวจสอบความถูกต้อง

มีการทดสอบ VTS สำหรับการดำเนินงาน IDumpstateDevice ที่คล้ายกันและมีการทดสอบหน่วยการทำงานสำหรับทั่วไป BugreportManager การทำงาน

แนะนำกรณีทดสอบคู่มือเป็น frameworks/base/core/tests/bugreports/src/android/server/bugreports/BugreportManagerTest.java