בנוסף לבניית בדיקות כדי לוודא שהאפליקציה עומדת בדרישות הפונקציונליות שלה, חשוב גם להריץ את הקוד באמצעות הכלי Lint כדי לוודא שאין בקוד בעיות מבניות. הכלי lint עוזר למצוא קוד עם מבנה לקוי שיכול להשפיע על המהימנות והיעילות של אפליקציות Android, ולהקשות על תחזוקת הקוד. מומלץ מאוד לתקן את כל השגיאות שזוהו על ידי Lint לפני פרסום האפליקציה.
לדוגמה, אם קובצי משאבי ה-XML מכילים מרחבי שמות שלא נעשה בהם שימוש, הם תופסים מקום ודורשים עיבוד מיותר. בעיות מבניות אחרות, כמו שימוש ברכיבים שהוצאו משימוש או בקריאות ל-API שלא נתמכות בגרסאות ה-API המטורגטות, עלולות לגרום לכך שהקוד לא יפעל בצורה תקינה. כלי Lint יכול לעזור לכם לפתור את הבעיות האלה.
כדי לשפר את הביצועים של Linting, אפשר גם להוסיף הערות לקוד.
סקירה כללית
Android Studio כולל כלי לסריקת קוד שנקרא lint שיכול לעזור לכם לזהות ולתקן בעיות באיכות המבנית של הקוד בלי שתצטרכו להריץ את האפליקציה או לכתוב תרחישי בדיקה. כל בעיה שהכלי מזהה מדווחת עם הודעת תיאור ורמת חומרה, כדי שתוכלו לתעדף את השיפורים הקריטיים שצריך לבצע. אפשר גם להוריד את רמת החומרה של בעיה כדי להתעלם מבעיות שלא רלוונטיות לפרויקט, או להעלות את רמת החומרה כדי להדגיש בעיות ספציפיות.
כלי ה-lint בודק את קובצי המקור של פרויקט Android כדי לזהות באגים פוטנציאליים ושיפורים באופטימיזציה מבחינת דיוק, אבטחה, ביצועים, שימושיות, נגישות ובינלאומיות. כשמשתמשים ב-Android Studio, בדיקות ה-lint וה-IDE המוגדרות מופעלות כשמבצעים build לאפליקציה. עם זאת, אפשר להפעיל בדיקות באופן ידני או להפעיל את lint משורת הפקודה, כמו שמתואר בדף הזה.
כלי ה-lint המובנה בודק את הקוד בזמן שאתם משתמשים ב-Android Studio. אפשר לראות את האזהרות והשגיאות בשתי דרכים:
- כטקסט קופץ בחלון העריכה. כש-lint מוצא בעיה, הוא מדגיש את הקוד הבעייתי בצהוב. במקרים של בעיות חמורות יותר, הקוד מודגש בקו אדום.
- בחלון Inspection Results של Lint כשלוחצים על Code > Inspect Code.
הערה: כשמבצעים קומפילציה של הקוד ב-Android Studio, מופעלות בדיקות קוד נוספות של IntelliJ כדי לייעל את בדיקת הקוד. כדי לוודא שכללי ה-lint והבדיקות העדכניים ביותר זמינים, חשוב להקפיד על עדכון Android Studio לגרסה הכי עדכנית שאפשר.
איור 1 מראה איך כלי ה-lint מעבד קובצי מקור של אפליקציה.

- קובצי מקור של אפליקציות
- קבצי המקור מורכבים מקבצים שמרכיבים את פרויקט Android, כולל קובצי Kotlin, Java ו-XML, סמלים וקבצי הגדרות של ProGuard.
- קובץ
lint.xml
- קובץ הגדרות שבו אפשר לציין בדיקות lint שרוצים להחריג ולהתאים אישית את רמות החומרה של הבעיות.
- כלי ה-lint
- כלי לסריקת קוד סטטי שאפשר להריץ בפרויקט Android משורת הפקודה או ב-Android Studio. כלי ה-lint בודק בעיות בקוד המבני שעלולות להשפיע על האיכות והביצועים של אפליקציית Android.
- תוצאות של בדיקת lint
- אפשר לראות את התוצאות של lint במסוף או בחלון Inspection Results
ב-Android Studio. אם מריצים את הפקודה
lint
משורת הפקודה, התוצאות נכתבות לתיקייהbuild/
. פרטים נוספים זמינים בקטע בנושא הפעלת בדיקות באופן ידני.
הרצת lint משורת הפקודה
אם משתמשים ב-Android Studio או ב-Gradle, אפשר להשתמש ב-Gradle wrapper כדי להפעיל את המשימה lint
עבור הפרויקט. לשם כך, מזינים אחת מהפקודות הבאות מספריית השורש של הפרויקט:
הערה: כדי להשתמש בכללי ה-lint העדכניים ביותר, חשוב להקפיד על עדכון התוסף Android Gradle.
- ב-Windows:
gradlew lint
- ב-Linux או ב-macOS:
./gradlew lint
הפלט אמור להיראות כך:
> Task :app:lintDebug Wrote HTML report to file:<path-to-project>/app/build/reports/lint-results-debug.html
כשהכלי Lint מסיים את הבדיקות, הוא מספק נתיבים לגרסאות XML ו-HTML של דוח ה-Lint. אחר כך אפשר לנווט לדוח ה-HTML ולפתוח אותו בדפדפן, כמו שמוצג באיור 2.

אם הפרויקט כולל וריאציות של build, הכלי lint בודק רק את וריאציית ברירת המחדל. אם רוצים להריץ את הכלי lint על וריאנט אחר, צריך להשתמש באותיות רישיות בשם הווריאנט ולהוסיף לפניו את התו lint
.
./gradlew lintRelease
הערה: Lint לא מופעל באופן אוטומטי כחלק מה-build. מומלץ מאוד להריץ את הכלי Lint באופן מפורש כחלק מבניית שילוב רציף, כדי שתוכלו לראות את הבדיקות האחרונות של Lint כשאתם בונים את קוד המקור הקיים.
מידע נוסף על הרצת משימות Gradle משורת הפקודה זמין במאמר איך בונים אפליקציה משורת הפקודה.
הרצת lint באמצעות הכלי העצמאי
אם אתם לא משתמשים ב-Android Studio או ב-Gradle, אתם צריכים להתקין את כלי שורת הפקודה של Android SDK כדי להשתמש בכלי lint העצמאי. כלי ה-lint נמצא בכתובת android_sdk/cmdline-tools/version/bin/lint
.
הערה: אם מנסים להריץ את הכלי העצמאי בפרויקט Gradle, מוצגת שגיאה. תמיד צריך להשתמש ב-gradle lint
(ב-Windows) או ב-./gradlew
lint
(ב-macOS או ב-Linux) כדי להריץ lint בפרויקט Gradle.
כדי להריץ את הכלי lint על רשימת קבצים בספריית פרויקט, משתמשים בפקודה הבאה:
lint [flags] <project directory>
לדוגמה, אפשר להשתמש בפקודה הבאה כדי לסרוק את הקבצים בספרייה myproject
ובספריות המשנה שלה. מזהה הבעיה MissingPrefix
מורה ל-lint לסרוק רק מאפייני XML שחסרה להם תחילית מרחב השמות של Android.
lint --check MissingPrefix myproject
כדי לראות את הרשימה המלאה של הדגלים והארגומנטים של שורת הפקודה שהכלי תומך בהם, משתמשים בפקודה הבאה:
lint --help
בדוגמה הבאה מוצג פלט המסוף כשמריצים את פקודת ה-lint על פרויקט בשם Earthquake:
$ lint Earthquake Scanning Earthquake: ............................................................................................................................... Scanning Earthquake (Phase 2): ....... AndroidManifest.xml:23: Warning: <uses-sdk> tag appears after <application> tag [ManifestOrder] <uses-sdk android:minSdkVersion="7" /> ^ AndroidManifest.xml:23: Warning: <uses-sdk> tag should specify a target API level (the highest verified version; when running on later versions, compatibility behaviors may be enabled) with android:targetSdkVersion="?" [UsesMinSdkAttributes] <uses-sdk android:minSdkVersion="7" /> ^ res/layout/preferences.xml: Warning: The resource R.layout.preferences appears to be unused [UnusedResources] res: Warning: Missing density variation folders in res: drawable-xhdpi [IconMissingDensityFolder] 0 errors, 4 warnings
בדוגמה של הפלט מופיעות ארבע אזהרות ואפס שגיאות.
שתי אזהרות קשורות לקובץ AndroidManifest.xml
של הפרויקט:
ManifestOrder
UsesMinSdkAttributes
Preferences.xml
: UnusedResources
.
אזהרה אחת קשורה לספרייה res
:
IconMissingDensityFolder
.
הגדרת lint להסתרת אזהרות
כברירת מחדל, כשמריצים סריקה לאיתור שגיאות בקוד, הכלי בודק את כל הבעיות שיש להן תמיכה באיתור שגיאות בקוד. אפשר גם להגביל את הבעיות ש-Lint בודק, ולהקצות רמות חומרה לבעיות. לדוגמה, אפשר להשבית את בדיקת ה-lint לבעיות ספציפיות שלא רלוונטיות לפרויקט, ואפשר להגדיר את ה-lint כך שידווח על בעיות לא קריטיות ברמת חומרה נמוכה יותר.
רמות החומרה הן:
enable
disable
אוignore
informational
warning
error
fatal
אפשר להגדיר בדיקת lint ברמות שונות:
- גלובלית (בכל הפרויקט)
- Project module
- מודול ייצור
- מודול בדיקה
- פתיחת קבצים
- היררכיית הכיתות
- היקפים של מערכת לניהול גרסאות (VCS)
הגדרת קובץ ה-lint
אפשר לציין את ההעדפות שלכם לבדיקת ה-lint בקובץ lint.xml
. אם אתם יוצרים את הקובץ הזה באופן ידני, צריך למקם אותו בספריית השורש של פרויקט Android.
קובץ ה-lint.xml
מורכב מתג הורה <lint>
סוגר שמכיל רכיב צאצא <issue>
אחד או יותר. Lint מגדיר ערך ייחודי של מאפיין id
לכל <issue>
:
<?xml version="1.0" encoding="UTF-8"?> <lint> <!-- list of issues to configure --> </lint>
כדי לשנות את רמת החומרה של בעיה או להשבית את בדיקת ה-lint של הבעיה, צריך להגדיר את מאפיין החומרה בתג <issue>
.
טיפ: כדי לראות את הרשימה המלאה של הבעיות שנתמכות על ידי lint ואת מזהי הבעיות המתאימים, מריצים את הפקודה lint --list
. צריך להפעיל את האפשרות --list
מכלי ה-lint העצמאי.
קובץ לדוגמה של lint.xml
בדוגמה הבאה מוצג התוכן של קובץ lint.xml
:
<?xml version="1.0" encoding="UTF-8"?> <lint> <!-- Disable the IconMissingDensityFolder check in this project --> <issue id="IconMissingDensityFolder" severity="ignore" /> <!-- Ignore the ObsoleteLayoutParam issue in the specified files --> <issue id="ObsoleteLayoutParam"> <ignore path="res/layout/activation.xml" /> <ignore path="res/layout-xlarge/activation.xml" /> </issue> <!-- Ignore the UselessLeaf issue in the specified file --> <issue id="UselessLeaf"> <ignore path="res/layout/main.xml" /> </issue> <!-- Change the severity of hardcoded strings to "error" --> <issue id="HardcodedText" severity="error" /> </lint>
בדוגמה הזו אפשר לראות איך מדווחים על סוגים שונים של בעיות. הבדיקה IconMissingDensityFolder
מושבתת לחלוטין, והבדיקה ObsoleteLayoutParam
מושבתת רק בקבצים שצוינו בהצהרות <ignore ... />
המצורפות.
הגדרת בדיקת lint לקובצי מקור של Kotlin, Java ו-XML
אפשר להשבית את בדיקת lint בקובצי המקור של Kotlin, Java ו-XML בתיבת הדו-שיח Preferences:
- בוחרים באפשרות קובץ > הגדרות (ב-Windows) או באפשרות Android Studio > העדפות (ב-macOS או ב-Linux).
- בוחרים באפשרות עורך > בדיקות.
- כדי להשבית, מבטלים את הסימון של קובץ המקור המתאים.
אפשר להגדיר אותם עבור סביבת הפיתוח המשולבת או עבור פרויקטים ספציפיים על ידי בחירת הפרופיל המתאים.
הגדרת בדיקת lint ב-Java או ב-Kotlin
כדי להשבית את בדיקת ה-lint באופן ספציפי עבור מחלקה או שיטה בפרויקט Android, מוסיפים את ההערה @SuppressLint
לקוד הזה.
בדוגמה הבאה אפשר לראות איך משביתים את בדיקת ה-lint לבעיה NewApi
בשיטה onCreate
. כלי ה-lint ממשיך לבדוק את הבעיה NewApi
בשיטות אחרות של המחלקה הזו.
Kotlin
@SuppressLint("NewApi") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main)
Java
@SuppressLint("NewApi") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
אפשר להשיג את אותה התוצאה בכל רכיב Composable. בקטע הקוד הבא מוצג איך אפשר להשבית את הבדיקות של NewApi
בכל רכיב Composable.
Kotlin
@SuppressLint("NewApi") @Composable fun MyComposable{ ... }
בדוגמה הבאה מוצג איך להשבית את בדיקת ה-lint לבעיה ParserError
במחלקה FeedProvider
:
Kotlin
@SuppressLint("ParserError") class FeedProvider : ContentProvider() {
Java
@SuppressLint("ParserError") public class FeedProvider extends ContentProvider {
כדי להשבית את הבדיקה של כל בעיות ה-lint בקובץ, משתמשים במילת המפתח all
:
Kotlin
@SuppressLint("all")
Java
@SuppressLint("all")
אפשר להשתמש באותה הערה כדי להשבית בדיקות lint בכל פונקציה שניתנת להרכבה.
הגדרת בדיקת lint ב-XML
אפשר להשתמש במאפיין tools:ignore
כדי להשבית את בדיקת ה-lint בחלקים ספציפיים של קובצי ה-XML. מציבים את ערך מרחב השמות הבא בקובץ lint.xml
כדי שכלי ה-lint יזהה את המאפיין:
namespace xmlns:tools="http://schemas.android.com/tools"
בדוגמה הבאה אפשר לראות איך משביתים את בדיקת ה-lint לבעיה UnusedResources
ברכיב <LinearLayout>
בקובץ פריסת XML. מאפיין ignore
עובר בירושה לרכיבי הצאצא של רכיב ההורה שבו המאפיין מוצהר. בדוגמה הזו, בדיקת ה-lint מושבתת גם עבור רכיב הצאצא <TextView>
:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:ignore="UnusedResources" > <TextView android:text="@string/auto_update_prompt" /> </LinearLayout>
כדי להשבית יותר מבעיה אחת, צריך לציין את הבעיות שרוצים להשבית במחרוזת שמופרדת בפסיקים. לדוגמה:
tools:ignore="NewApi,StringFormatInvalid"
כדי להשבית את הבדיקה של כל בעיות ה-lint ברכיב ה-XML, משתמשים במילת המפתח all
:
tools:ignore="all"
הגדרת אפשרויות של lint באמצעות Gradle
הפלאגין Android Gradle מאפשר להגדיר אפשרויות מסוימות של lint, כמו אילו בדיקות להריץ או להתעלם מהן, באמצעות הבלוק
lint{}
בקובץ build.gradle
ברמת המודול.
בקטע הקוד הבא מוצגים חלק מהמאפיינים שאפשר להגדיר:
Kotlin
android { ... lint { // Turns off checks for the issue IDs you specify. disable += "TypographyFractions" + "TypographyQuotes" // Turns on checks for the issue IDs you specify. These checks are in // addition to the default lint checks. enable += "RtlHardcoded" + "RtlCompat" + "RtlEnabled" // To enable checks for only a subset of issue IDs and ignore all others, // list the issue IDs with the 'check' property instead. This property overrides // any issue IDs you enable or disable using the properties above. checkOnly += "NewApi" + "InlinedApi" // If set to true, turns off analysis progress reporting by lint. quiet = true // If set to true (default), stops the build if errors are found. abortOnError = false // If set to true, lint only reports errors. ignoreWarnings = true // If set to true, lint also checks all dependencies as part of its analysis. // Recommended for projects consisting of an app with library dependencies. checkDependencies = true } } ...
מגניב
android { ... lint { // Turns off checks for the issue IDs you specify. disable 'TypographyFractions','TypographyQuotes' // Turns on checks for the issue IDs you specify. These checks are in // addition to the default lint checks. enable 'RtlHardcoded','RtlCompat', 'RtlEnabled' // To enable checks for only a subset of issue IDs and ignore all others, // list the issue IDs with the 'check' property instead. This property overrides // any issue IDs you enable or disable using the properties above. checkOnly 'NewApi', 'InlinedApi' // If set to true, turns off analysis progress reporting by lint. quiet true // If set to true (default), stops the build if errors are found. abortOnError false // If set to true, lint only reports errors. ignoreWarnings true // If set to true, lint also checks all dependencies as part of its analysis. // Recommended for projects consisting of an app with library dependencies. checkDependencies true } } ...
כל שיטות ה-lint שמבטלות את רמת החומרה שצוינה לבעיה מסוימת פועלות לפי סדר ההגדרה. לדוגמה, הגדרת בעיה כבעיה קריטית ב-finalizeDsl()
מבטלת את ההשבתה שלה ב-DSL הראשי.
יצירת בסיס להשוואה של אזהרות
אתם יכולים לצלם תמונת מצב של מערך האזהרות הנוכחי בפרויקט, ואז להשתמש בתמונת המצב כנקודת התייחסות להרצות בדיקה עתידיות, כך שרק בעיות חדשות ידווחו. תמונת המצב של קו הבסיס מאפשרת להתחיל להשתמש ב-lint כדי לגרום ל-build להיכשל בלי שתצטרכו לחזור ולטפל קודם בכל הבעיות הקיימות.
כדי ליצור תמונת מצב של קו בסיס, משנים את קובץ build.gradle
של הפרויקט באופן הבא:
Kotlin
android { lint { baseline = file("lint-baseline.xml") } }
מגניב
android { lintOptions { baseline file("lint-baseline.xml") } }
כשמוסיפים את השורה הזו בפעם הראשונה, נוצר קובץ lint-baseline.xml
כדי לקבוע את נקודת הבסיס. מעכשיו והלאה, הכלי יקרא את הקובץ רק כדי לקבוע את נקודת הבסיס. אם רוצים ליצור בסיס חדש, צריך למחוק את הקובץ באופן ידני ולהריץ שוב את lint כדי ליצור אותו מחדש.
לאחר מכן, מריצים את הכלי lint מ-IDE על ידי בחירה באפשרות Code > Inspect Code או משורת הפקודה באופן הבא:
הפלט מציג את המיקום של הקובץ lint-baseline.xml
. יכול להיות שהמיקום של הקובץ בהגדרה יהיה שונה ממה שמוצג כאן:
$ ./gradlew lintDebug -Dlint.baselines.continue=true ... Wrote XML report to file:///app/lint-baseline.xml Created baseline file /app/lint-baseline.xml
הפעלת lint
מתעדת את כל הבעיות הנוכחיות בקובץ lint-baseline.xml
. קבוצת הבעיות הנוכחית נקראת baseline. אפשר להכניס את הקובץ lint-baseline.xml
לניהול גרסאות אם רוצים לשתף אותו עם אחרים.
התאמה אישית של קהל הבסיס להשוואה
אם רוצים להוסיף לבסיס רק סוגים מסוימים של בעיות, צריך לציין את הבעיות שרוצים להוסיף על ידי עריכת קובץ build.gradle
של הפרויקט באופן הבא:
Kotlin
android { lint { checkOnly += "NewApi" + "HandlerLeak" baseline = file("lint-baseline.xml") } }
מגניב
android { lintOptions { checkOnly 'NewApi', 'HandlerLeak' baseline file("lint-baseline.xml") } }
אם מוסיפים אזהרות חדשות לבסיס הקוד אחרי שיוצרים את קובץ הבסיס, הכלי lint מציג רק את הבאגים החדשים.
אזהרה לגבי קו בסיס
כשמוגדרת נקודת בסיס, מוצגת אזהרה אינפורמטיבית שמציינת שבעיות מסוימות סוננו כי הן מופיעות בנקודת הבסיס. האזהרה הזו עוזרת לכם לזכור שהגדרתם בסיס ושתצטרכו לפתור את כל הבעיות בשלב מסוים.
האזהרה הזו גם עוקבת אחרי בעיות שכבר לא מדווחות. המידע הזה מאפשר לכם לדעת אם באמת תיקנתם את הבעיות, כך שתוכלו ליצור מחדש את נקודת הבסיס כדי למנוע משגיאה לחזור בלי שתזוהה.
הערה: הגדרות הבסיס מופעלות כשמריצים בדיקות במצב אצווה ב-IDE, אבל המערכת מתעלמת מהן בבדיקות בתוך העורך שפועלות ברקע כשעורכים קובץ. הסיבה לכך היא שקובצי הבסיס מיועדים למקרים שבהם בבסיס הקוד יש מספר גדול של אזהרות קיימות, אבל רוצים לתקן בעיות באופן מקומי בזמן שמשנים את הקוד.
הפעלת בדיקות באופן ידני
כדי להריץ באופן ידני את הכלי lint שהוגדר ואת הבדיקות האחרות של סביבת הפיתוח המשולבת, בוחרים באפשרות Code > Inspect Code (קוד > בדיקת קוד). תוצאות הבדיקה מופיעות בחלון תוצאות הבדיקה.
הגדרת היקף הבדיקה והפרופיל
בוחרים את הקבצים שרוצים לנתח (היקף הבדיקה) ואת הבדיקות שרוצים להריץ (פרופיל הבדיקה) באופן הבא:
- בתצוגה Android, פותחים את הפרויקט ובוחרים את הפרויקט, התיקייה או הקובץ שרוצים לנתח.
- בסרגל התפריטים, בוחרים באפשרות קוד > בדיקת קוד.
בתיבת הדו-שיח הגדרת היקף הבדיקה, בודקים את ההגדרות.
איור 3. בודקים את ההגדרות של היקף הבדיקה. האפשרויות שמופיעות בתיבת הדו-שיח Specify Inspection Scope משתנות בהתאם לבחירה של פרויקט, תיקייה או קובץ:
- כשבוחרים פרויקט, קובץ או ספרייה, בתיבת הדו-שיח Specify Inspection Scope מוצגת הנתיב לפרויקט, לקובץ או לספרייה שבחרתם.
- כשבוחרים יותר מפרויקט אחד, קובץ אחד או ספרייה אחת, בתיבת הדו-שיח Specify Inspection Scope (ציון היקף הבדיקה) מוצג לחצן הבחירה Selected files (קבצים נבחרים).
כדי לשנות את מה שבודקים, בוחרים באחד מלחצני הבחירה האחרים. במאמר תיבת הדו-שיח Specify Inspection Scope מפורט תיאור של כל השדות האפשריים בתיבת הדו-שיח Specify Inspection Scope.
- בקטע פרופיל בדיקה, בוחרים את הפרופיל שרוצים להשתמש בו.
לוחצים על אישור כדי להריץ את הבדיקה.
איור 4 מציג תוצאות של בדיקת קוד באמצעות lint ובדיקות אחרות של IDE, מריצת Inspect Code:
איור 4. תוצאות הבדיקה. בוחרים בעיה כדי לראות את הפתרון. -
בחלונית תוצאות הבדיקה, מרחיבים את הקטגוריות, הסוגים או הבעיות של השגיאות ובוחרים אותם כדי לראות את תוצאות הבדיקה.
בחלונית דוח הבדיקה מוצג דוח הבדיקה של קטגוריית השגיאה, הסוג או הבעיה שנבחרו בחלונית תוצאות הבדיקה, ומוצגים השם והמיקום של השגיאה. במקרים הרלוונטיים, בדוח הבדיקה מוצג מידע נוסף, כמו תקציר של הבעיה, כדי לעזור לכם לתקן אותה.
בחלונית תוצאות הבדיקה, בתצוגת העץ, לוחצים לחיצה ימנית על קטגוריה, סוג או בעיה כדי להציג את תפריט ההקשר.
בהתאם להקשר, אפשר:
- מעבר למקור.
- החרגה והכללה של פריטים נבחרים.
- הסתרה של בעיות.
- עורכים את ההגדרות.
- ניהול התראות על בדיקות.
- להריץ מחדש בדיקה.
תיאורים של הלחצנים בסרגל הכלים, הפריטים בתפריט ההקשר והשדות בדוח הבדיקה מופיעים במאמר חלון הכלים של תוצאות הבדיקה.
שימוש בהיקף מותאם אישית
אפשר להשתמש באחת מההיקפים המותאמים אישית שמופיעים ב-Android Studio באופן הבא:
- בתיבת הדו-שיח Specify Inspection Scope (ציון היקף הבדיקה), בוחרים באפשרות Custom scope (היקף מותאם אישית).
לוחצים על הרשימה היקף מותאם אישית כדי להציג את האפשרויות:
איור 5. בוחרים את ההיקף המותאם אישית שרוצים להשתמש בו. - כל המקומות: כל הקבצים.
- קבצים בפרויקט: כל הקבצים בפרויקט הנוכחי.
- קבצי מקור של הפרויקט: רק קובצי המקור בפרויקט הנוכחי.
- קבצי הפקה של הפרויקט: רק קובצי ההפקה בפרויקט הנוכחי.
- קבצי בדיקה של הפרויקט: רק קובצי הבדיקה בפרויקט הנוכחי.
- קבצים זמניים ומסופים: רק הקבצים הזמניים והמסופים שפתוחים בפרויקט הנוכחי.
- קבצים שנצפו לאחרונה: רק קבצים שנצפו לאחרונה בפרויקט הנוכחי.
- הקובץ הנוכחי: רק הקובץ הנוכחי בפרויקט הנוכחי. מופיע כשבוחרים קובץ או תיקייה.
- הספרייה שנבחרה: רק התיקייה הנוכחית בפרויקט הנוכחי. מופיע כשבוחרים תיקייה.
- Class Hierarchy: כשבוחרים באפשרות הזו ולוחצים על OK, מוצג דו-שיח עם כל הכיתות בפרויקט הנוכחי. בתיבת הדו-שיח, משתמשים בשדה חיפוש לפי שם כדי לסנן ולבחור את הכיתות שרוצים לבדוק. אם לא מסננים את רשימת הכיתות, הכלי לבדיקת קוד בודק את כל הכיתות.
- לוחצים על אישור.
אם הגדרתם מערכת VCS לפרויקט, יש גם אפשרויות להגביל את החיפוש רק לקבצים שעברו שינוי.
יצירת היקף מותאם אישית
אם רוצים לבדוק קבצים ותיקיות שלא נכללים באף אחד מההיקפים המותאמים אישית שזמינים, אפשר ליצור היקף מותאם אישית:
- בתיבת הדו-שיח Specify Inspection Scope (ציון היקף הבדיקה), בוחרים באפשרות Custom scope (היקף מותאם אישית).
לוחצים על סמל שלוש הנקודות אחרי הרשימה היקף מותאם אישית.
איור 6. תיבת הדו-שיח 'ציון היקף הבדיקה'. מופיעה תיבת הדו-שיח Scopes.
איור 7. יוצרים היקף מותאם אישית. - לוחצים על הלחצן
בפינה הימנית העליונה של תיבת הדו-שיח כדי להגדיר היקף חדש.
- ברשימה Add Scope שמופיעה, בוחרים באפשרות Local.
ההיקפים המקומי והמשותף משמשים שניהם בפרויקט לתכונה בדיקת קוד. אפשר להשתמש בהיקף Shared גם עם תכונות אחרות של פרויקטים שיש להן שדה היקף. לדוגמה, כשלוחצים על Edit Settings (עריכת ההגדרות)
כדי לשנות את ההגדרות של Find Usages (איתור שימושים), בתיבת הדו-שיח שמופיעה יש שדה Scope (היקף) שבו אפשר לבחור היקף משותף.
איור 8. בוחרים היקף משותף מתיבת הדו-שיח Find Usages (איתור שימושים). - נותנים שם להיקף ולוחצים על אישור.
בחלונית השמאלית של תיבת הדו-שיח היקפים מופיעות אפשרויות שמאפשרות להגדיר את ההיקף המותאם אישית.
- ברשימה, בוחרים באפשרות פרויקט.
מוצגת רשימה של פרויקטים זמינים.
הערה: אפשר ליצור את ההיקף המותאם אישית לפרויקטים או לחבילות. השלבים זהים.
מרחיבים את תיקיות הפרויקט, בוחרים את מה שרוצים להוסיף להיקף המותאם אישית ובוחרים אם לכלול או להחריג אותו.
איור 9. הגדרת היקף מותאם אישית. - כולל: התיקייה הזו והקבצים שלה ייכללו, אבל לא תיקיות המשנה שלה.
- כולל באופן רקורסיבי: התיקייה הזו והקבצים שלה, וגם תיקיות המשנה והקבצים שלהן.
- החרגה: החרגה של התיקייה הזו והקבצים שבה, אבל לא של תיקיות המשנה שלה.
- החרגה רקורסיבית: החרגה של התיקייה הזו והקבצים שלה, וגם של תיקיות המשנה והקבצים שלהן.
באיור 10 אפשר לראות שהתיקייה main נכללת, ושהתיקיות java ו-res נכללות באופן רקורסיבי. הצבע הכחול מציין תיקייה שנכללת באופן חלקי, והצבע הירוק מציין תיקיות וקבצים שנכללים באופן רקורסיבי.
איור 10. דוגמה לתבנית של היקף מותאם אישית. - אם בוחרים בתיקייה java ולוחצים על Exclude Recursively (החרגה רקורסיבית), הסימון הירוק נעלם מהתיקייה java ומכל התיקיות והקבצים שמתחתיה.
- אם בוחרים את הקובץ MainActivity.kt שמודגש בירוק ולוחצים על החרגה, ההדגשה הירוקה של MainActivity.kt תוסר, אבל כל שאר הפריטים בתיקייה java יישארו ירוקים.
- לוחצים על אישור. ההיקף המותאם אישית מופיע בתחתית הרשימה.
בדיקה ועריכה של פרופילים של בדיקות
ב-Android Studio יש מבחר של פרופילי lint ובדיקות אחרים שמתעדכנים באמצעות עדכוני Android. אפשר להשתמש בפרופילים האלה כמו שהם, או לערוך את השמות, התיאורים, רמות החומרה וההיקפים שלהם. אפשר גם להפעיל ולהשבית קבוצות שלמות של פרופילים או פרופילים ספציפיים בתוך קבוצה.
כדי לגשת להגדרות של בדיקות:
- בוחרים באפשרות קובץ > הגדרות. (ב-Windows) או Android Studio > Preferences (ב-macOS או ב-Linux).
- בוחרים באפשרות עורך > בדיקות.
-
בחלונית בדיקות מוצגת רשימה של הבדיקות הנתמכות והתיאורים שלהן.
איור 11. ביקורות נתמכות והתיאורים שלהן. בוחרים ברשימה פרופיל כדי לעבור בין בדיקות ברירת מחדל (Android Studio) לבין בדיקות ברירת מחדל של הפרויקט (הפרויקט הפעיל).
מידע נוסף זמין בדף Manage profiles (ניהול פרופילים) ב-IntelliJ.
ברשימה Inspections (בדיקות) בחלונית הימנית, בוחרים קטגוריית פרופיל ברמה העליונה או מרחיבים קבוצה ובוחרים פרופיל ספציפי.
כשבוחרים קטגוריה של פרופיל, אפשר לערוך את כל הבדיקות בקטגוריה הזו כבדיקה אחת.
- בוחרים את הרשימה Show Schema Actions
כדי להעתיק, לשנות את השם, להוסיף תיאורים, לייצא ולייבא בדיקות.
- כשתסיים, לחץ על אישור.