שיפור הקוד באמצעות בדיקות לאיתור שגיאות בקוד (lint)

בנוסף לבדיקות של בניית כדי לוודא שהאפליקציה עומדת בדרישות הפונקציונליות שלה, חשוב גם להריץ את הקוד דרך כלי איתור השגיאות בקוד כדי לוודא שהקוד לא מכיל או בעיות. הכלי לאיתור שגיאות בקוד עוזר למצוא קוד במבנה לא תקין שעלול להשפיע האמינות והיעילות של האפליקציות שלכם ל-Android, ומקשות על תחזוקת הקוד שלכם. מומלץ מאוד לתקן שגיאות לפני פרסום האפליקציה.

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

כדי לשפר את הביצועים של איתור השגיאות בקוד, אפשר גם להוסיף הערות לקוד.

סקירה כללית

ב-Android Studio יש כלי לסריקת קוד בשם lint שיכול לעזור לכם לזהות ולתקן בעיות באיכות המבנה של הקוד בלי שתצטרכו להפעיל את האפליקציה או לכתוב תרחישים לדוגמה. כל בעיה שהכלי מזהה ידווחו באמצעות הודעת תיאור ורמת חוּמרה, כדי שתוכלו לתעדף שיפורים קריטיים שצריך לבצע. אפשר גם להוריד את רמת החומרה של הבעיה, מתעלמים מבעיות שלא רלוונטיות לפרויקט או מעלים את רמת החומרה כדי להדגיש בעיות ספציפיות.

הכלי לאיתור שגיאות בקוד בודק את קובצי המקור של פרויקט Android כדי לאתר באגים פוטנציאליים שיפורי אופטימיזציה לשיפור הדיוק, האבטחה, הביצועים, נוחות השימוש, נגישות ובינלאומיות. כשמשתמשים ב-Android Studio, של בדיקות לאיתור שגיאות בקוד (lint) וסביבות פיתוח משולבות (IDE) יופעלו בזמן הפיתוח של האפליקציה שלכם. אבל, לפעמים אפשר להריץ בדיקות באופן ידני או להריץ את איתור השגיאות בקוד משורת הפקודה, כפי שמתואר בדף הזה.

הכלי המובנה לאיתור שגיאות בקוד בודק את הקוד בזמן שמשתמשים ב-Android Studio. אפשר להציג אזהרות ושגיאות בשתי דרכים:

  • כטקסט קופץ בחלון העריכה. כשאפליקציית lint מוצאת בעיה, היא מדגישה את הקוד הבעייתי בצהוב. במקרים חמורים יותר, הקוד מסמן את הקוד בקו תחתון אדום.
  • בחלון תוצאות הבדיקה של איתור השגיאות בקוד, לוחצים על קוד > בדיקת הקוד.

הערה: כשהקוד עובר הידור ב-Android Studio, האפשרויות הנוספות מתבצעות בדיקות קוד של IntelliJ כדי לייעל את הקוד ביקורת.

איור 1 מראה איך הכלי לאיתור שגיאות בקוד מעבד קובצי מקור של אפליקציה.

תהליך עבודה של סריקת קוד באמצעות הכלי לאיתור שגיאות בקוד.
איור 1. תהליך עבודה של סריקת קוד עם איתור שגיאות בקוד .
קובצי מקור של אפליקציה
קובצי המקור מכילים קבצים שמרכיבים את פרויקט Android שלכם, כולל Kotlin , Java ו- קובצי XML, סמלים וקובצי תצורה של ProGuard.
הקובץ lint.xml
קובץ תצורה שבעזרתו אפשר לציין את כל הבדיקות של איתור השגיאות בקוד שאתם רוצים להחריג ולהתאים אישית את רמות החומרה של הבעיה.
הכלי לאיתור שגיאות בקוד
כלי לסריקת קוד סטטי שאפשר להריץ בפרויקט Android שלכם בשורת הפקודה או ב- ב-Android Studio. איתור השגיאות בקוד לאיתור בעיות בקוד מבניות שעשויות להשפיע על האיכות והביצועים אפליקציה ל-Android.
התוצאות של בדיקת השגיאות בקוד
אפשר להציג את התוצאות של איתור השגיאות בקוד במסוף או בתוצאות הבדיקה החלון ב-Android Studio. אם מריצים את הפקודה lint משורת הפקודה, התוצאות נכתב בתיקייה build/. לפרטים נוספים, עיינו בקטע שעוסק הרצת בדיקות באופן ידני.

הרצת איתור השגיאות בקוד משורת הפקודה

אם אתם משתמשים ב-Android Studio או ב-Gradle, צריך להשתמש ב-Gradle wrapper כדי להפעיל את המשימה lint בפרויקט עד הזנת אחת מהפקודות הבאות מספריית השורש של הפרויקט:

  • ב-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

כשכלי איתור השגיאות בקוד משלים את הבדיקות, הוא מספק נתיבים ל-XML ול-HTML של הדוח לאיתור שגיאות בקוד. לאחר מכן אפשר לעבור לדוח ה-HTML ולפתוח אותו בדפדפן, כפי שמתואר באיור 2.

דוגמה לדוח איתור שגיאות בקוד ב-HTML
איור 2. דוגמה לדוח איתור שגיאות בקוד ב-HTML.

אם הפרויקט כולל את הפונקציה build וריאנטים, איתור שגיאות בקוד בודק רק את הווריאנט שמוגדר כברירת מחדל. כדי להפעיל את איתור השגיאות בקוד הווריאנט, יש להשתמש באותיות רישיות בשם הווריאנט ולהוסיף לו את הקידומת lint.

./gradlew lintRelease

למידע נוסף על ריצה העברת משימות משורת הפקודה, כדאי לקרוא את המאמר איך בונים אפליקציה משורת הפקודה.

הפעלת איתור שגיאות בקוד באמצעות הכלי הנפרד

אם אתם לא משתמשים ב-Android Studio או ב-Gradle, להתקין את כלי שורת הפקודה של Android SDK כדי להשתמש בכלי הנפרד לאיתור שגיאות בקוד. איתור הכלי לאיתור שגיאות בקוד android_sdk/cmdline-tools/version/bin/lint.

הערה: אם תנסו להריץ את הכלי העצמאי בפרויקט Gradle, שגיאה. תמיד צריך להשתמש ב-gradle lint (ב-Windows) או ב-./gradlew lint (ב-macOS או ב-Linux) כדי להריץ איתור שגיאות בקוד בפרויקט Gradle.

כדי להריץ איתור שגיאות בקוד (lint) על רשימת קבצים בספריית פרויקט, משתמשים בפקודה הבאה:

lint [flags] <project directory>

לדוגמה, אפשר להריץ את הפקודה הבאה כדי לסרוק את הקבצים שמתחת הספרייה myproject וספריות המשנה שלה. מזהה הבעיה MissingPrefix מנחה את lint לסרוק רק כדי לאתר מאפייני XML שחסר בהם קידומת מרחב השמות של Android.

lint --check MissingPrefix myproject 

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

lint --help

בדוגמה הבאה אפשר לראות את הפלט של המסוף כשפקודת איתור השגיאות בקוד רצה בשם 'רעידת אדמה':

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

רמות החומרה הן:

  • enable
  • disable או ignore
  • informational
  • warning
  • error
  • fatal

אפשר להגדיר בדיקת שגיאות בקוד ברמות שונות:

  • בכל העולם (פרויקט שלם)
  • מודול הפרויקט
  • מודול ייצור
  • מודול בדיקה
  • פתיחת קבצים
  • היררכיית הכיתה
  • היקפי ההרשאות של המערכת לבקרת גרסאות (VCS)

הגדרת קובץ איתור השגיאות בקוד

אפשר לציין את ההעדפות לבדיקת שגיאות בקוד בקובץ lint.xml. אם יוצרים את הקובץ הזה באופן ידני, ומציבים אותו בתיקיית השורש של פרויקט Android.

הקובץ lint.xml מורכב מתג הורה מסוג <lint> שמצורף אליו, מכיל רכיב <issue> אחד או יותר. איתור השגיאות בקוד מגדיר ערך המאפיין id לכל <issue>:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- list of issues to configure -->
</lint>

כדי לשנות את רמת החומרה של הבעיה או להשבית את הבדיקה של איתור השגיאות בקוד: צריך להגדיר את מאפיין מידת החומרה בתג <issue>.

טיפ: כדי לקבל רשימה מלאה של בעיות שאפשר לפתור באמצעות שגיאות בקוד, יחד עם כל הבעיות שצריך לבצע מזהים בעיות, מריצים את הפקודה lint --list.

קובץ 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

אפשר להשבית את בדיקת השגיאות בקוד בקובצי המקור של Kotlin , Java ו-XML בתיבת הדו-שיח העדפות:

  1. בוחרים באפשרות קובץ > 'הגדרות' (ב-Windows) או ב-Android Studio > העדפות (ב-macOS או ב-Linux).
  2. בוחרים באפשרות עורך > בדיקות.
  3. כדי להשבית, מבטלים את הבחירה בקובץ המקור המתאים.

אפשר להגדיר אותן לסביבת הפיתוח המשולבת (IDE) או לפרויקטים ספציפיים על ידי ובחירת הפרופיל המתאים.

הגדרת בדיקת שגיאות בקוד ב-Java או ב-Kotlin

כדי להשבית את בדיקת השגיאות בקוד של כיתה או שיטה בפרויקט Android: מוסיפים את ההערה @SuppressLint לקוד הזה.

בדוגמה הבאה אפשר לראות איך להשבית את הבדיקה של איתור השגיאות בקוד של NewApi בעיה ב-method onCreate. הכלי לאיתור שגיאות בקוד ממשיך לבדוק בעיה אחת (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);

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

Kotlin

  @SuppressLint("NewApi")
  @Composable
  fun MyComposable{
    ...
  }
  

בדוגמה הבאה מוסבר איך להשבית את בדיקת השגיאות בקוד ParserError בעיה במחלקה FeedProvider:

Kotlin

@SuppressLint("ParserError")
class FeedProvider : ContentProvider() {

Java

@SuppressLint("ParserError")
public class FeedProvider extends ContentProvider {

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

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

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

הגדרת בדיקת שגיאות בקוד ב-XML

המאפיין tools:ignore משמש להשבתה של הבדיקה של איתור השגיאות בקוד מסוימים של קובצי ה-XML. יש להזין את הערך הבא של מרחב השמות בקובץ lint.xml כדי שהכלי לאיתור שגיאות בקוד יזהה את המאפיין:

namespace xmlns:tools="http://schemas.android.com/tools"

הדוגמה הבאה מראה איך להשבית את הבדיקה של איתור השגיאות בקוד של בעיית UnusedResources ברכיב <LinearLayout> של XML . המאפיין ignore עובר בירושה לרכיבי הצאצא של ההורה שבו המאפיין מוצהר. בדוגמה הזאת, בדיקת השגיאות בקוד מושבתת גם רכיב <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"

כדי למנוע את הבדיקה של כל הבעיות של איתור שגיאות בקוד ברכיב ה-XML, צריך להשתמש בפונקציה all מילת מפתח:

tools:ignore="all"

הגדרת אפשרויות של איתור שגיאות בקוד באמצעות Gradle

הפלאגין של Android ל-Gradle מאפשר להגדיר אפשרויות מסוימות של שגיאות בקוד, כמו אילו בדיקות צריך להריץ או להתעלם, באמצעות הפקודה חסימה של 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
    }
}
...

כל השיטות של איתור שגיאות בקוד שמבטלות את רמת החומרה הנתונה של הבעיה מכבדות סדר התצורה. לדוגמה, הגדרת בעיה חמורה finalizeDsl() מבטלת את ההשבתה ב-DSL הראשי.

יצירת ערך בסיס לאזהרות

אפשר ליצור תמונת מצב של קבוצת האזהרות הנוכחית בפרויקט, ואז להשתמש בתמונת המצב כבסיס לבדיקות בדיקה עתידיות, כך שידווחו רק בעיות חדשות. קובץ ה-snapshot של הבסיס מאפשר לכם להתחיל להשתמש באיתור שגיאות בקוד כדי להיכשל ב-build בלי שתצטרכו לחזור ולטפל בכל הבעיות הקיימות קודם.

כדי ליצור תמונת מצב בסיסית, משנים את הקובץ build.gradle של הפרויקט באופן הבא:

Kotlin

android {
    lint {
        baseline = file("lint-baseline.xml")
    }
}

מגניב

android {
    lintOptions {
        baseline file("lint-baseline.xml")
    }
}

כשמוסיפים את השורה הזו בפעם הראשונה, נוצר הקובץ lint-baseline.xml כדי ליצור את ערך הבסיס. לאחר מכן, הכלים קוראים את הקובץ רק כדי לקבוע את רמת הבסיס. אם רוצים כדי ליצור בסיס חדש, מוחקים את הקובץ באופן ידני ומריצים שוב את איתור השגיאות בקוד כדי ליצור אותו מחדש.

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

אם מוסיפים אזהרות חדשות ל-codebase אחרי שיוצרים רק רשימות השגיאות הבסיסיות ולהבאים החדשים.

אזהרה לגבי ערך הבסיס

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

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

הערה: רשימות הבסיס מופעלות כשמריצים בדיקות במצב אצווה בסביבת הפיתוח המשולבת (IDE), אבל המערכת מתעלמת מהן את בדיקות העריכה שפועלות ברקע בזמן עריכת קובץ. הסיבה לכך היא ערכי הבסיס מיועדים למקרה שבו ב-codebase יש מספר גדול של אזהרות קיימות, אבל ברצונך לפתור בעיות באופן מקומי תוך כדי נגיעה בקוד.

הרצת בדיקות באופן ידני

כדי להריץ באופן ידני איתור שגיאות בקוד ובדיקות IDE אחרות, יש לבחור קוד > בדיקת הקוד. תוצאות הבדיקה מופיעות חלון תוצאות הבדיקה.

מגדירים את היקף הבדיקה והפרופיל

בוחרים את הקבצים שרוצים לנתח (היקף הבדיקה) ואת את הבדיקות שרוצים להריץ (פרופיל הבדיקה):

  1. בתצוגה Android, פותחים את הפרויקט ובוחרים את הפרויקט, התיקייה או שרוצים לנתח.
  2. בסרגל התפריטים, בוחרים באפשרות קוד > בדיקת הקוד.
  3. בתיבת הדו-שיח ציון היקף הבדיקה, בודקים את ההגדרות.

    ציון היקף הבדיקה
    איור 3. בודקים את ההגדרות של היקף הבדיקה.

    האפשרויות שמופיעות בתיבת הדו-שיח ציון היקף הבדיקה משתנות בהתאם לפרויקט, לתיקייה או לקובץ שבחרתם:

    • כשבוחרים פרויקט, קובץ או ספרייה אחד, ציון היקף הבדיקה תיבת דו-שיח שמציגה את הנתיב לפרויקט, לקובץ או הספרייה שבחרת.
    • כשבוחרים יותר מפרויקט אחד, קובץ אחד או ספרייה אחת, בוחרים באפשרות specified Inspection (ציון בדיקה) תיבת הדו-שיח 'היקף' מציגה לחצן בחירה שנבחר לקבצים שנבחרו.

    כדי לשנות את מה שצריך לבדוק, בוחרים באפשרות אחד מלחצני הבחירה האחרים. צפייה תיבת הדו-שיח של ציון היקף הבדיקה לתיאור של הכול שדות אפשריים בתיבת הדו-שיח ציון היקף בדיקה.

  4. בקטע פרופיל בדיקה, בוחרים את הפרופיל שבו רוצים להשתמש.
  5. לוחצים על OK כדי להריץ את הבדיקה.

    באיור 4 מוצגים איתור שגיאות בקוד ובדיקת סביבת פיתוח משולבת (IDE) אחרת תוצאות מהרצת Inspect Code:

    בוחרים בעיה כדי לראות את הפתרון שלה.
    איור 4. התוצאות מהבדיקה. בחירת בעיה כדי לראות את הרזולוציה.
  6. בחלונית Inspection Results (תוצאות הבדיקה), כדי להציג את תוצאות הבדיקה, מרחיבים ובוחרים את האפשרות קטגוריות, סוגים או בעיות.

    בחלונית Inspection Report מוצג דוח הבדיקה של קטגוריית השגיאה. הסוג או הבעיה שנבחרו בחלונית Inspection Results (תוצאות בדיקה), ומוצגים בה השם מיקום השגיאה. במקרים הרלוונטיים, דוח הבדיקה מציג מידע נוסף, כמו תקציר של הבעיה, כדי לעזור לכם לתקן אותה.

  7. בתצוגת העץ של החלונית בדיקת תוצאות, לוחצים לחיצה ימנית על קטגוריה, סוג או בעיה כדי להציג תפריט ההקשר.

    בהתאם להקשר, אפשר:

    • מעבר למקור.
    • החרגה והכללה של הפריטים שנבחרו.
    • אפשר לפתור בעיות.
    • עריכת ההגדרות
    • ניהול התראות בדיקה.
    • מבצעים בדיקה מחדש.

לתיאורים של הלחצנים בסרגל הכלים, אפשרויות בתפריט ההקשר ובדיקה בשדות הדוח, ראה חלון של כלי התוצאות לבדיקה.

שימוש בהיקף מותאם אישית

צריך להשתמש באחד מההיקפים המותאמים אישית שסופקו ב-Android Studio באופן הבא:

  1. בתיבת הדו-שיח ציון היקף בדיקה, בוחרים באפשרות היקף מותאם אישית.
  2. לוחצים על הרשימה היקף מותאם אישית כדי להציג את האפשרויות שעומדות לרשותכם:

    בחירת היקף הבדיקה
    איור 5. בחירת ההיקף המותאם אישית הרצוי להשתמש בו.
    • כל המקומות: כל הקבצים.
    • קובצי פרויקט: כל הקבצים בפרויקט הנוכחי.
    • קובצי מקור של הפרויקט: רק קובצי המקור בפרויקט הנוכחי.
    • קובצי פרויקט ייצור: רק הקבצים של סביבת הייצור בפרויקט הנוכחי.
    • קובצי בדיקה של פרויקט: רק קובצי הבדיקה בפרויקט הנוכחי.
    • שריטות ומסופים:רק קובצי הגירוד והמסופים שפתוחים אצלכם את הפרויקט הנוכחי.
    • קבצים שנצפו לאחרונה: רק קבצים שנצפו לאחרונה בפרויקט הנוכחי.
    • הקובץ הנוכחי: רק הקובץ הנוכחי בפרויקט הנוכחי. מופיע כשיש לך קובץ או תיקייה שנבחרו.
    • הספרייה שנבחרה: רק התיקייה הנוכחית בפרויקט הנוכחי. מופיע כאשר לבחור תיקייה.
    • היררכיית כיתה: כשבוחרים באפשרות הזו ולוחצים על אישור, מופיעה תיבת דו-שיח עם כל הכיתות בפרויקט הנוכחי. בתיבת הדו-שיח, משתמשים בשדה חיפוש לפי שם לסנן ולבחור את הכיתות לבדוק. אם לא מסננים את רשימת הכיתות, בבדיקת הקוד כל הסוגים.

    אם הגדרתם VCS לפרויקט, יש גם אפשרויות להגבלת החיפוש רק לקבצים ששונו.

  3. לוחצים על אישור.

יצירת היקף בהתאמה אישית

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

  1. בתיבת הדו-שיח ציון היקף בדיקה, בוחרים באפשרות היקף מותאם אישית.
  2. לוחצים על שלוש הנקודות שמוצגות אחרי הרשימה היקף מותאם אישית.

    תיבת הדו-שיח &#39;ציון היקף הבדיקה&#39;
    איור 6. ציון של תיבת הדו-שיח 'היקף הבדיקה'.

    תיבת הדו-שיח היקפים מופיעה.

    יצירת היקף בהתאמה אישית
    איור 7. יוצרים היקף בהתאמה אישית.
  3. לוחצים על . בפינה הימנית העליונה של תיבת הדו-שיח כדי להגדיר היקף חדש.
  4. ברשימה הוספת היקף שמופיעה, בוחרים באפשרות מקומי.

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

    בחירת היקף הרשאות משותף בתיבת הדו-שיח &#39;חיפוש שימושים&#39;
    איור 8. בוחרים היקף משותף מתוך חיפוש שימושים.
  5. נותנים שם להיקף ולוחצים על OK.

    החלונית השמאלית של תיבת הדו-שיח היקפים מאכלסת אפשרויות שמאפשרות להגדיר את ההיקף המותאם אישית.

  6. ברשימה, בוחרים באפשרות Project.

    תופיע רשימה של פרויקטים זמינים.

    הערה: אפשר ליצור היקף מותאם אישית לפרויקטים או לחבילות. שלבים זהים.

  7. מרחיבים את תיקיות הפרויקט, בוחרים מה רוצים להוסיף להיקף המותאם אישית ובוחרים האם לכלול או לא לכלול אותה.

    הגדרת היקף בהתאמה אישית
    איור 9. מגדירים היקף בהתאמה אישית.
    • הכללה: כוללים את התיקייה הזו ואת הקבצים שבה, אבל לא כוללים אף אחד מהם תיקיות משנה.
    • הכללה באופן רקורסיבי: כוללים את התיקייה הזו ואת הקבצים שלה, וגם את תיקיות המשנה שלהם ואת .
    • החרגה: החרגה של התיקייה הזו והקבצים שמשויכים אליה, אבל לא להחריג אף אחד מהם תיקיות משנה.
    • החרגה באופן רקורסיבי: מחריגים את התיקייה הזו ואת הקבצים שלה, וגם את תיקיות המשנה ואת התיקיות שלהם .

    איור 10 מראה שהתיקייה הראשית נכללת, ושהגרסה של Java ו-res תיקיות נכללות באופן רקורסיבי. כחול מציין תיקייה שכללה חלקית, וירוק מציין תיקיות וקבצים שכלולים באופן רקורסיבי.

    דפוס לדוגמה של היקף מותאם אישית
    איור 10. דפוס לדוגמה של היקף מותאם אישית.
    • אם בוחרים בתיקייה Java ולוחצים על Exclude רקורסיבי, הסמל הירוק ההדגשה נעלמת בתיקייה Java ובכל התיקיות והקבצים שמשויכים אליה.
    • אם בוחרים בקובץ MainActivity.kt המודגש בירוק, לוחצים על Exclude (החרגה), MainActivity.kt לא מודגש יותר בירוק, אבל כל שאר הפריטים בתיקייה Java יישארו ירוקים.
  8. לוחצים על אישור. ההיקף המותאם אישית מופיע בתחתית הרשימה.

בדיקה ועריכה של פרופילי בדיקה

ב-Android Studio יש מבחר של שגיאות בקוד ופרופילי בדיקה אחרים שעודכנו עד עדכוני Android. אפשר להשתמש בפרופילים האלה כפי שהם, או לערוך את השמות, התיאורים, מידות החומרה או וגם לתחומים שונים. אפשר גם להפעיל ולהשבית קבוצות שלמות של פרופילים או פרופילים ספציפיים בתוך קבוצה,

כדי לגשת להגדרות של הבדיקות:

  1. בוחרים באפשרות קובץ > הגדרות. (ב-Windows) או Android Studio > העדפות (ב-macOS או ב-Linux).
  2. בוחרים באפשרות עורך > בדיקות.
  3. בחלונית Inspections מוצגת רשימה של הבדיקות הנתמכות תיאורים.

    בדיקות נתמכות והתיאורים שלהן
    איור 11. הבדיקות הנתמכות והבדיקות שלהן תיאורים.
  4. בוחרים ברשימת פרופילים כדי לעבור בין האפשרויות ברירת מחדל (Android Studio) לבין בדיקות Project Default (הפרויקט הפעיל).

    מידע נוסף זמין ב-IntelliJ הדף ניהול פרופילים.

  5. ברשימה בדיקות שבחלונית הימנית, בוחרים קטגוריית פרופיל ברמה העליונה, או להרחיב את הקבוצה ולבחור פרופיל ספציפי.

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

  6. בוחרים את הרשימה הצגת פעולות סכימה הצגת סמל של פעולות סכימה כדי להעתיק, לשנות את השם ולהוסיף תיאורים לבדיקות, לייצא ולייבא אותן.
  7. בסיום, לוחצים על אישור.