หากแอปอาศัยการโต้ตอบกับแอปอื่นๆ เพื่อดำเนินกรณีการใช้งานต่างๆ ให้เสร็จสิ้น คุณควรทดสอบว่าการเปลี่ยนแปลงระดับการเข้าถึงแพ็กเกจใน Android 11 (API ระดับ 30) ขึ้นไปส่งผลต่อแอปอย่างไร
คู่มือนี้ยังมีคำแนะนำเกี่ยวกับวิธีทดสอบการเปลี่ยนแปลงลักษณะการทำงาน และช่วยคุณกำหนดค่าข้อความบันทึกเพื่อพิจารณาผลกระทบที่อาจเกิดขึ้นกับแอปในระดับที่ละเอียดยิ่งขึ้น
ทดสอบการเปลี่ยนแปลงลักษณะการทำงาน
หากต้องการทดสอบว่าการเปลี่ยนแปลงลักษณะการทํางานนี้ส่งผลต่อแอปของคุณหรือไม่ ให้ทําตามขั้นตอนต่อไปนี้
- ติดตั้ง Android Studio 3.6.1 ขึ้นไป
- ติดตั้ง Gradle เวอร์ชันล่าสุดที่ Android Studio รองรับ
- ตั้งค่า
targetSdkVersion
ของแอปเป็น30
ขึ้นไป - อย่าใส่องค์ประกอบ
<queries>
ไว้ในไฟล์ Manifest ของแอป - โทร
getInstalledApplications()
หรือgetInstalledPackages()
ทั้ง 2 วิธีจะแสดงรายการที่กรองเมื่อดำเนินการสำเร็จ - ดูว่าฟีเจอร์ใดของแอปไม่ทำงาน
- ใส่รายการ
<queries>
ที่ถูกต้องเพื่อแก้ไขฟีเจอร์เหล่านั้น
กำหนดค่าข้อความบันทึกสำหรับการกรองแพ็กเกจ
หากต้องการดูรายละเอียดเพิ่มเติมเกี่ยวกับผลกระทบที่ระดับการแชร์เริ่มต้นของแอปมีต่อแอปของคุณ ให้เปิดใช้ข้อความบันทึกสําหรับการกรองแพ็กเกจ หากคุณกำลังพัฒนาแอปทดสอบหรือแอปที่แก้ไขข้อบกพร่องได้ใน Android Studio บันทึกของระบบจะมีความสามารถนี้ หรือจะเรียกใช้คำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัลเพื่อเปิดใช้ด้วยตนเองก็ได้
adb shell pm log-visibility --enable PACKAGE_NAME
จากนั้นทุกครั้งที่กรองแพ็กเกจออกจากค่าที่แสดงผลของออบเจ็กต์ PackageManager
คุณจะเห็นข้อความที่คล้ายกับข้อความต่อไปนี้ใน Logcat
I/AppsFilter: interaction: PackageSetting{7654321 \ com.example.myapp/12345} -> PackageSetting{...} BLOCKED