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