אם האפליקציה שלכם מסתמכת על אינטראקציות עם אפליקציות אחרות כדי להשלים את תרחישי השימוש שלה, כדאי לבדוק איך השינויים בהרשאות הגישה לחבילה ב-Android 11 (רמת API 30) ומעלה משפיעים על האפליקציה.
במדריך הזה יש גם הצעות לבדיקת השינויים בהתנהגות, והוא עוזר להגדיר הודעות ביומן כדי לקבוע ברמה מפורטת יותר איך האפליקציה עשויה להיות מושפעת.
בדיקת השינויים בהתנהגות
כדי לבדוק אם השינוי הזה בהתנהגות משפיע על האפליקציה, מבצעים את השלבים הבאים:
- מתקינים את Android Studio 3.6.1 ואילך.
- מתקינים את הגרסה העדכנית של Gradle שנתמכת ב-Android Studio.
- מגדירים את
targetSdkVersionשל האפליקציה לערך30ומעלה. - אל תכללו את הרכיב
<queries>בקובץ המניפסט של האפליקציה. - אפשר להתקשר למספר
getInstalledApplications()או למספרgetInstalledPackages(). שתי השיטות מחזירות רשימה מסוננת כשהן מצליחות. - לראות אילו תכונות באפליקציה לא פועלות.
- כדי לתקן את התכונות האלה, צריך להוסיף רשומות
<queries>מתאימות.
הגדרת הודעות ביומן לסינון חבילות
כדי לקבל פרטים נוספים על האופן שבו הרשאות הגישה שמוגדרות כברירת מחדל משפיעות על האפליקציה, אתם יכולים להפעיל הודעות ביומן לסינון חבילות. אם אתם מפתחים אפליקציה לבדיקה או אפליקציה שניתן לבצע בה ניפוי באגים ב-Android Studio, יומן המערכת מספק את היכולת הזו. אם לא, אפשר להריץ את הפקודה הבאה בחלון הטרמינל כדי להפעיל אותו באופן ידני:
adb shell pm log-visibility --enable PACKAGE_NAME
לאחר מכן, בכל פעם שחבילות מסוננות מתוך ערכי ההחזרה של אובייקט PackageManager, תופיע הודעה דומה לזו ב-Logcat:
I/AppsFilter: interaction: PackageSetting{7654321 \
com.example.myapp/12345} -> PackageSetting{...} BLOCKED