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

אם האפליקציה שלכם מסתמכת על אינטראקציות עם אפליקציות אחרות כדי להשלים את תרחישי השימוש שלה, כדאי לבדוק איך השינויים בחשיפה של החבילה ב-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