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

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