בנוסף לבדיקות build כדי לוודא שהאפליקציה עומדת בדרישות הפונקציונליות שלה, חשוב גם להריץ את הקוד בכלי ה-lint כדי לוודא שאין בו בעיות מבניות. כלי ה-lint עוזר למצוא קוד בעל מבנה לקוי שעלול להשפיע על המהימנות והיעילות של אפליקציות Android, ולהקשות על התחזוקה של הקוד. מומלץ מאוד לתקן את כל השגיאות ש-lint מזהה לפני פרסום האפליקציה.
לדוגמה, אם קובצי המשאבים בפורמט XML מכילים מרחבי שמות שלא בשימוש, הם תופסים מקום ודורשים עיבוד מיותר. בעיות מבניות אחרות, כמו שימוש ברכיבים שהוצאו משימוש או קריאות ל-API שלא נתמכות בגרסאות ה-API היעד, עלולות לגרום לכך שהקוד לא יפעל כמו שצריך. אפשר להיעזר ב-lint כדי לפתור את הבעיות האלה.
כדי לשפר את הביצועים של איתור השגיאות בקוד, תוכלו גם להוסיף הערות לקוד.
סקירה כללית
ב-Android Studio יש כלי לסריקת קוד שנקרא lint, שיכול לעזור לכם לזהות ולתקן בעיות באיכות המבנה של הקוד בלי שתצטרכו להריץ את האפליקציה או לכתוב תרחישים לדוגמה. כל בעיה שזוהתה על ידי הכלי מדווחת עם תיאור ורמת חומרה, כדי שתוכלו לתת עדיפות לשיפורים הקריטיים שצריך לבצע. אפשר גם להוריד את רמת החומרה של בעיה כדי להתעלם מבעיות שלא רלוונטיות לפרויקט, או להעלות את רמת החומרה כדי להדגיש בעיות ספציפיות.
כלי ה-lint בודק את קובצי המקור של פרויקט Android כדי לאתר באגים פוטנציאליים ושיפורים באופטימיזציה של הדיוק, האבטחה, הביצועים, נוחות השימוש, הנגישות וההתאמה לשימוש ברחבי העולם. כשמשתמשים ב-Android Studio, בדיקות של איתור שגיאות בקוד ו-IDE שהוגדרו פועלות בזמן הפיתוח של האפליקציה. עם זאת, אפשר להריץ בדיקות באופן ידני או להריץ איתור שגיאות בקוד משורת הפקודה, כפי שמתואר בדף הזה.
כלי האיתור של שגיאות בקוד (lint) המובנה בודק את הקוד בזמן השימוש ב-Android Studio. אפשר להציג אזהרות ושגיאות בשתי דרכים:
- כטקסט קופץ בחלון העריכה. כשהכלי מוצא בעיה, הוא מדגיש את הקוד הבעייתי בצהוב. בבעיות חמורות יותר, הקוד מודגש באדום.
- בחלון Inspection Results של איתור השגיאות, כשלוחצים על Code > Inspect Code.
הערה: כשהקוד שלכם עובר הידור ב-Android Studio, מתבצעות בדיקות קוד נוספות של IntelliJ כדי לייעל את בדיקת הקוד. חשוב לוודא שגרסת Android Studio מעודכנת ככל האפשר, כדי לוודא שכללי הבדיקה והבדיקות האחרונים זמינים.
באיור 1 מוצג איך כלי האיתור של שגיאות בקוד מעבד את קובצי המקור של האפליקציה.
- קובצי מקור של אפליקציות
- קובצי המקור מורכבים מקבצים שמרכיבים את פרויקט Android שלכם, כולל קובצי Kotlin , Java ו-XML, סמלים וקובצי תצורה של ProGuard.
- הקובץ
lint.xml
- קובץ תצורה שאפשר להשתמש בו כדי לציין בדיקות איתור שגיאות בקוד שרוצים להחריג, ולהתאים אישית את רמות החומרה של הבעיות.
- כלי האיתור של שגיאות בקוד
- כלי לסריקת קוד סטטי שאפשר להריץ בפרויקט Android משורת הפקודה או מ-Android Studio. כלי ה-lint בודק בעיות מבניות בקוד שעלולות להשפיע על האיכות והביצועים של אפליקציית Android.
- תוצאות בדיקת השגיאות
- אפשר להציג את התוצאות של איתור השגיאות במסוף או בחלון Inspection Results ב-Android Studio. אם מריצים את
lint
משורת הפקודה, התוצאות נכתבות לתיקייהbuild/
. פרטים נוספים זמינים בקטע הפעלת בדיקות באופן ידני.
הרצת איתור שגיאות בקוד משורת הפקודה
אם אתם משתמשים ב-Android Studio או ב-Gradle, תוכלו להשתמש ב-Gradle wrapper כדי להפעיל את המשימה 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
כשכלי האיתור של שגיאות הקוד מסיים את הבדיקות, הוא מספק נתיבים לגרסאות ה-XML וה-HTML של דוח האיתור. לאחר מכן תוכלו לנווט לדוח ה-HTML ולפתוח אותו בדפדפן, כפי שמוצג באיור 2.
אם הפרויקט כולל וריאנטים של גרסאות build, הבדיקה של איתור השגיאות תתבצע רק בוריאנטים שמוגדרים כברירת מחדל. כדי להריץ איתור שגיאות בקוד על וריאנט
אחר, צריך להשתמש באותיות רישיות בשם הווריאנט ולהוסיף לו את הקידומת lint
.
./gradlew lintRelease
הערה: בדיקת Lint לא פועלת באופן אוטומטי כחלק מה-build. מומלץ מאוד להריץ את ה-lint באופן מפורש כחלק מbuild של שילוב רצוף, כדי לראות את בדיקות ה-lint העדכניות ביותר בזמן ה-build של קוד המקור הקיים.
מידע נוסף על הפעלת משימות Gradle משורת הפקודה זמין במאמר פיתוח אפליקציות משורת הפקודה.
הפעלת איתור שגיאות באמצעות הכלי העצמאי
אם אתם לא משתמשים ב-Android Studio או ב-Gradle, תוכלו להתקין את כלים של Android SDK לשורת הפקודה כדי להשתמש בכלי ה-lint העצמאי. צריך לאתר את הכלי לאיתור שגיאות בקוד בכתובת 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
בדוגמה הבאה מוצג הפלט של מסוף ה-CLI כשמריצים את פקודת האיתור של שגיאות בקוד (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 בודק, ולהקצות רמות חומרה לבעיות. לדוגמה, אפשר לדכא את בדיקת האיתור של שגיאות בקוד לגבי בעיות ספציפיות שלא רלוונטיות לפרויקט, ואפשר להגדיר את האיתור של שגיאות בקוד כך שידווח על בעיות לא קריטיות ברמת חומרה נמוכה יותר.
רמות החומרה הן:
enable
disable
אוignore
informational
warning
error
fatal
אפשר להגדיר בדיקת איתור שגיאות ברמות שונות:
- ברמת הפרויקט כולו
- מודול הפרויקט
- מודול ייצור
- מודול בדיקה
- פתיחת קבצים
- היררכיית הכיתות
- היקפי הרשאות של מערכת לניהול גרסאות (VCS)
הגדרת קובץ ה-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>
כדי לשנות את רמת החומרה של הבעיה או להשבית את הבדיקה של איתור השגיאות בקוד, צריך להגדיר את מאפיין החומרה בתג <issue>
.
טיפ: כדי לקבל רשימה מלאה של הבעיות הנתמכות ב-lint ומזהי הבעיות התואמים, מריצים את הפקודה 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 ... />
המצורפות.
הגדרת בדיקת איתור שגיאות בקוד לקובצי מקור של Kotlin, Java ו-XML
אפשר להשבית את בדיקת ה-lint בקובצי המקור של Kotlin, Java ו-XML בתיבת הדו-שיח Preferences:
- בוחרים באפשרות קובץ > הגדרות (ב-Windows) או Android Studio > העדפות (ב-macOS או ב-Linux).
- בוחרים באפשרות Editor (עריכה) > Inspections (בדיקות).
- כדי להשבית, מבטלים את הבחירה בקובץ המקור המתאים.
אפשר להגדיר את ההגדרות האלה ל-IDE או לפרויקטים ספציפיים על ידי בחירת הפרופיל המתאים.
הגדרת בדיקת שגיאות בקוד ב-Java או ב-Kotlin
כדי להשבית את בדיקת ה-lint במיוחד לכיתה או לשיטה בפרויקט Android, מוסיפים את ההערה @SuppressLint
לקוד הזה.
בדוגמה הבאה מוסבר איך להשבית את בדיקת האיתור של שגיאות בקוד (lint) לגבי הבעיה NewApi
בשיטה 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);
אפשר לעשות את אותו הדבר בכל רכיב 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 {
כדי לבטל את הבדיקה של כל בעיות האיתור בקוד בקובץ, משתמשים במילות המפתח all
:
Kotlin
@SuppressLint("all")
Java
@SuppressLint("all")
אפשר להשתמש באותה הערה כדי למנוע בדיקות לאיתור שגיאות בקוד בכל פונקציה קומפוזבילית.
הגדרת בדיקת שגיאות בקוד ב-XML
המאפיין tools:ignore
מאפשר להשבית את הבדיקה של שגיאות בקוד עבור קטעים ספציפיים בקובצי ה-XML. כדי שכלי האיתור של שגיאות בקוד יזהה את המאפיין, צריך להוסיף את ערך מרחב השמות הבא לקובץ lint.xml
:
namespace xmlns:tools="http://schemas.android.com/tools"
הדוגמה הבאה מראה איך משביתים את בדיקת ה-lint של הבעיה 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"
כדי לבטל את הבדיקה של כל בעיות ה-lint ברכיב ה-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 } } ...
Groovy
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 של קבוצת האזהרות הנוכחית בפרויקט, ואז להשתמש ב-snapshot כבסיס לפעולות בדיקה עתידיות, כדי שידווחו רק על בעיות חדשות. קובץ snapshot של נקודת הבקרה מאפשר לכם להתחיל להשתמש ב-lint כדי לגרום ל-build להיכשל, בלי שתצטרכו לחזור אחורה ולטפל קודם בכל הבעיות הקיימות.
כדי ליצור קובץ snapshot של בסיס, משנים את הקובץ build.gradle
של הפרויקט באופן הבא:
Kotlin
android { lint { baseline = file("lint-baseline.xml") } }
Groovy
android { lintOptions { baseline file("lint-baseline.xml") } }
כשמוסיפים את השורה הזו בפעם הראשונה, נוצר הקובץ lint-baseline.xml
כדי להגדיר את נקודת הבקרה. לאחר מכן, הכלים קוראים את הקובץ רק כדי לקבוע את הבסיס. כדי ליצור קו בסיס חדש, צריך למחוק את הקובץ באופן ידני ולהריץ שוב את הבדיקה כדי ליצור אותו מחדש.
לאחר מכן, מריצים את ה-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
. קבוצת הבעיות הנוכחיות נקראת בסיס. אם רוצים לשתף את הקובץ 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), אבל המערכת מתעלמת מהם בבדיקות בכלי העריכה שפועלות ברקע כשעורכים קובץ. הסיבה לכך היא שערכי הבסיס מיועדים למקרים שבהם ב-codebase יש מספר גדול של אזהרות, אבל כדאי לתקן בעיות באופן מקומי כשנוגעים בקוד.
הרצת בדיקות באופן ידני
כדי להריץ באופן ידני בדיקות איתור שגיאות בקוד שהוגדרו ובדיקות אחרות של סביבת הפיתוח המשולבת, בוחרים באפשרות Code > Inspect Code. תוצאות הבדיקה מופיעות בחלון Inspection Results.
הגדרת היקף הבדיקה והפרופיל
בוחרים את הקבצים שרוצים לנתח (היקף הבדיקה) ואת הבדיקות שרוצים להריץ (פרופיל הבדיקה) באופן הבא:
- בתצוגה Android, פותחים את הפרויקט ובוחרים את הפרויקט, התיקייה או הקובץ שרוצים לנתח.
- בסרגל התפריטים, לוחצים על קוד > בדיקת קוד.
בתיבת הדו-שיח Specify Inspection Scope, בודקים את ההגדרות.
האפשרויות שמופיעות בתיבת הדו-שיח Spec Inspection Scope משתנות בהתאם לפרויקט, לתיקייה או לקובץ:
- כשבוחרים פרויקט, קובץ או ספרייה, בתיבת הדו-שיח Specify Inspection Scope מוצגת הנתיב לפרויקט, לקובץ או לספרייה שבחרתם.
- אם בוחרים יותר מפרויקט, קובץ או ספרייה אחת, בתיבת הדו-שיח Specify Inspection Scope יופיע לחצן בחירה Selected files.
כדי לשנות את הבדיקה, בוחרים באחד מלחצני הבחירה האחרים. בתיאור של תיבת הדו-שיח Specify Inspection Scope מפורט תיאור של כל השדות האפשריים בתיבת הדו-שיח Specify Inspection Scope.
- בקטע Inspection profile (פרופיל הבדיקה), בוחרים את הפרופיל שבו רוצים להשתמש.
לוחצים על OK כדי להריץ את הבדיקה.
באיור 4 מוצגות תוצאות של איתור שגיאות בקוד (lint) ובדיקת IDE מהרצת בדיקת הקוד:
-
בחלונית Inspection Results אפשר לראות את תוצאות הבדיקה על ידי הרחבה ובחירה של קטגוריות השגיאות, הסוגים או הבעיות.
בחלונית Inspection Report מוצג דוח הבדיקה של קטגוריית השגיאה, הסוג או הבעיה שנבחרו בחלונית Inspection Results, ובשם ובמיקום של השגיאה. במקרים הרלוונטיים, בדוח הבדיקה מוצג מידע נוסף, כמו סיכום של הבעיה, שיעזור לכם לפתור אותה.
בתצוגת העץ של החלונית תוצאות הבדיקה, לוחצים לחיצה ימנית על קטגוריה, סוג או בעיה כדי להציג את תפריט ההקשר.
בהתאם להקשר, אפשר:
- מעבר למקור.
- החרגה וכלל של פריטים שנבחרו.
- אפשר לפתור בעיות.
- עורכים את ההגדרות.
- ניהול התראות על בדיקות.
- מפעילים מחדש את הבדיקה.
לתיאורים של הלחצנים בסרגל הכלים, הפריטים בתפריט ההקשר ושדות דוח הבדיקה, ראו חלון הכלי של תוצאות הבדיקה.
שימוש בהיקף מותאם אישית
צריך להשתמש באחד מההיקפים המותאמים אישית שסופקו ב-Android Studio באופן הבא:
- בתיבת הדו-שיח Specify Inspection Scope, בוחרים באפשרות Custom scope.
לוחצים על הרשימה היקף מותאם אישית כדי להציג את האפשרויות שעומדות לרשותכם:
- כל המקומות: כל הקבצים.
- קבצים בפרויקט: כל הקבצים בפרויקט הנוכחי.
- קובצי מקור של הפרויקט: רק קובצי המקור בפרויקט הנוכחי.
- קבצים בסביבת הייצור של הפרויקט: רק הקבצים בסביבת הייצור בפרויקט הנוכחי.
- קבצי הבדיקה של הפרויקט: רק קובצי הבדיקה בפרויקט הנוכחי.
- Scratches and Consoles: רק קובצי ה-scratch והמסופים שפתוחם בפרויקט הנוכחי.
- קבצים שנצפו לאחרונה: רק קבצים שנצפו לאחרונה בפרויקט הנוכחי.
- הקובץ הנוכחי: רק הקובץ הנוכחי בפרויקט הנוכחי. מופיע כשבוחרים קובץ או תיקייה.
- Selected Directory (ספרייה שנבחרה): רק התיקייה הנוכחית בפרויקט הנוכחי. מופיע כשבוחרים תיקייה.
- היררכיית כיתות: כשבוחרים באפשרות הזו ולוחצים על אישור, מופיעה תיבת דו-שיח עם כל הכיתות בפרויקט הנוכחי. בתיבת הדו-שיח, משתמשים בשדה Search by Name כדי לסנן ולבחור את הכיתות לבדיקה. אם לא מסננים את רשימת הכיתות, בדיקת הקוד תבדוק את כל הכיתות.
- לוחצים על אישור.
אם הגדרתם מערכת VCS לפרויקט, יש גם אפשרויות להגבלת החיפוש רק לקובצים ששונו.
יצירת היקף בהתאמה אישית
אם רוצים לבדוק מבחר של קבצים ותיקיות שלא נכללים באף אחד מההיקפים המותאמים אישית הזמינים, אפשר ליצור היקף מותאם אישית:
- בתיבת הדו-שיח Specify Inspection Scope, בוחרים באפשרות Custom scope.
לוחצים על שלוש הנקודות אחרי הרשימה Custom Scope.
תיבת הדו-שיח Scopes מופיעה.
- לוחצים על הלחצן בפינה הימנית העליונה של תיבת הדו-שיח כדי להגדיר היקף חדש.
- ברשימה Add Scope שמופיעה, בוחרים באפשרות Local.
ההיקפים המקומי והמשותף משמשים בפרויקט לתכונה בדיקת קוד. אפשר להשתמש בהיקף משותף גם עם תכונות אחרות של הפרויקט שיש להן שדה של היקף. לדוגמה, כשלוחצים על Edit Settings (עריכת ההגדרות) כדי לשנות את ההגדרות של Find Usages (חיפוש שימושים), בתיבת הדו-שיח שמופיעה מופיע השדה Scope (היקף), שבו אפשר לבחור היקף משותף.
- נותנים היקף שם ולוחצים על OK.
בחלונית השמאלית של תיבת הדו-שיח היקפים יופיעו אפשרויות שמאפשרות להגדיר את ההיקף המותאם אישית.
- ברשימה, בוחרים באפשרות Project.
תוצג רשימה של הפרויקטים הזמינים.
הערה: אפשר ליצור היקף מותאם אישית לפרויקטים או לחבילות. השלבים זהים.
מרחיבים את תיקיות הפרויקט, בוחרים את מה שרוצים להוסיף להיקף המותאם אישית ובוחרים אם לכלול או להחריג אותו.
- הכללה: כוללים את התיקייה הזו ואת הקבצים שלה, אבל לא כוללים את תיקיות המשנה שלה.
- Include Recursively: הכללתה של התיקייה הזו והקבצים שלה, וגם של תיקיות המשנה שלה והקבצים שלהן.
- החרגה: מחריגים את התיקייה הזו ואת הקבצים שלה, אבל לא מחריגים אף אחת מתיקיות המשנה שלה.
- החרגה היררכית: החרגה של התיקייה הזו והקבצים שלה, וגם של תיקיות המשנה והקבצים שלהן.
איור 10 מראה שהתיקייה הראשית נכללת, ושהתיקיות Java ו-res נכללות באופן רקורסיבי. כחול מציין תיקייה שכלולה חלקית, וירוק מציין תיקיות וקבצים שכלולים באופן רפלוקטיבי.
- אם בוחרים בתיקייה java ולוחצים על Exclude Recursively, ההדגשה הירוקה תיעלם בתיקייה java ובכל התיקיות והקבצים שמתחתיה.
- אם בוחרים בקובץ MainActivity.kt המודגש ירוק ולוחצים על Exclude, MainActivity.kt לא יודגש יותר בירוק, אבל כל שאר התוכן בתיקיית Java נשאר ירוק.
- לוחצים על אישור. ההיקף המותאם אישית מופיע בתחתית הרשימה.
בדיקה ועריכה של פרופילי בדיקה
ב-Android Studio יש מבחר של איתור שגיאות בקוד ופרופילי בדיקה אחרים שעודכנו באמצעות עדכוני Android. אפשר להשתמש בפרופילים האלה כפי שהם, או לערוך את השמות, התיאורים, רמות החומרה וההיקפים שלהם. אפשר גם להפעיל ולהשבית קבוצות שלמות של פרופילים או פרופילים ספציפיים בתוך קבוצה.
כדי לגשת להגדרות של הבדיקות:
- בוחרים באפשרות קובץ > הגדרות. (ב-Windows) או Android Studio > Preferences (ב-macOS או ב-Linux).
- בוחרים באפשרות עריכה > בדיקות.
-
בחלונית Inspections מוצגת רשימה של הבדיקות הנתמכות והתיאורים שלהן.
בוחרים ברשימה Profile כדי לעבור בין הבדיקות Default (Android Studio) ו-Project Default (הפרויקט הפעיל).
למידע נוסף, אפשר לעיין בדף Manage profiles ב-IntelliJ.
ברשימה בדיקות בחלונית הימנית, בוחרים קטגוריית פרופיל ברמה העליונה או מרחיבים קבוצה ובוחרים פרופיל ספציפי.
כשבוחרים קטגוריה של פרופיל, אפשר לערוך את כל הבדיקות בקטגוריה הזו כבדיקה אחת.
- בוחרים ברשימה Show Schema Actions כדי להעתיק, לשנות שם, להוסיף תיאורים, לייצא ולייבא בדיקות.
- בסיום, לוחצים על אישור.