ทดสอบลักษณะการทำงานของระดับการเข้าถึงแพ็กเกจ

หากแอปอาศัยการโต้ตอบกับแอปอื่นๆ เพื่อดำเนินกรณีการใช้งานให้เสร็จสมบูรณ์ การทดสอบว่าการแสดงแพ็กเกจมีประโยชน์อย่างไร การเปลี่ยนแปลงใน Android 11 (API ระดับ 30) ขึ้นไปจะส่งผลต่อแอปของคุณ

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

ทดสอบการเปลี่ยนแปลงลักษณะการทำงาน

หากต้องการทดสอบว่าการเปลี่ยนแปลงลักษณะการทำงานนี้จะส่งผลต่อแอปหรือไม่ ให้ทําตามขั้นตอน ขั้นตอนต่อไปนี้

  1. ติดตั้ง Android Studio 3.6.1 ขึ้นไป
  2. ติดตั้ง Gradle เวอร์ชันล่าสุดที่ Android Studio รองรับ
  3. ตั้งค่าtargetSdkVersionของแอปเป็น 30 ขึ้นไป
  4. อย่าใส่องค์ประกอบ <queries> ในไฟล์ Manifest ของแอป
  5. โทร getInstalledApplications() หรือ getInstalledPackages() ทั้ง 2 วิธีจะแสดงรายการที่กรองเมื่อดำเนินการสำเร็จ
  6. ดูว่าฟีเจอร์ใดของแอปไม่ทำงาน
  7. แนะนำ <queries> ที่เหมาะสม รายการเพื่อแก้ไขคุณลักษณะเหล่านั้น

กำหนดค่าข้อความบันทึกสำหรับการกรองแพ็กเกจ

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

adb shell pm log-visibility --enable PACKAGE_NAME

จากนั้นเมื่อกรองแพ็กเกจออกจากการส่งคืนออบเจ็กต์ PackageManager คุณจะเห็นข้อความที่คล้ายกับข้อความต่อไปนี้ใน Logcat

I/AppsFilter: interaction: PackageSetting{7654321 \
  com.example.myapp/12345} -> PackageSetting{...} BLOCKED