בדיקת התנהגות החשיפה של החבילה

אם האפליקציה שלכם מסתמכת על אינטראקציות עם אפליקציות אחרות כדי להשלים את תרחישי השימוש שלה, מומלץ לבדוק איך השינויים בחשיפה של החבילה ב-Android 11 (רמת API ‏30) ואילך משפיעים על האפליקציה.

במדריך הזה מפורטות גם כמה הצעות לבדיקה של השינויים בהתנהגות, והוא עוזר להגדיר הודעות ביומן כדי לקבוע ברמת פירוט גבוהה יותר איך האפליקציה שלכם עשויה להיות מושפעת.

בדיקת השינויים בהתנהגות

כדי לבדוק אם שינוי ההתנהגות הזה משפיע על האפליקציה שלכם, צריך לבצע את השלבים הבאים:

  1. מתקינים את Android Studio 3.6.1 ואילך.
  2. מתקינים את הגרסה האחרונה של Gradle ש-Android Studio תומכת בה.
  3. מגדירים את targetSdkVersion של האפליקציה ל-30 ואילך.
  4. לא לכלול את הרכיב <queries> בקובץ המניפסט של האפליקציה.
  5. קוראים לפונקציה getInstalledApplications() או getInstalledPackages(). אם הפעולה תצליח, שתי השיטות יחזירו רשימה מסוננת.
  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