تحسين الرموز البرمجية باستخدام عمليات فحص الوبر

بالإضافة إلى إنشاء الاختبارات للتأكد من أن تطبيقك يلبي متطلباته الوظيفية، في من المهم أيضًا تشغيل التعليمة البرمجية من خلال أداة Lint للمساعدة في ضمان عدم احتواء التعليمة البرمجية على المشكلات. تساعد أداة Lint في العثور على التعليمات البرمجية ذات البنية السيئة التي يمكن أن تؤثر في موثوقية تطبيقات Android وكفاءة العمل بها ويصعب صيانة الرموز البرمجية. ننصح بشدّة بتصحيح أي أخطاء تكتشفها أداة Lint. قبل أن تنشر تطبيقك.

على سبيل المثال، إذا كانت ملفات موارد XML تحتوي على مساحات اسم غير مستخدمة، سيشغل ذلك مساحة ويتطلب أو المعالجة غير الضرورية. مشاكل هيكلية أخرى، مثل استخدام عناصر متوقّفة نهائيًا أو طلبات بيانات من واجهة برمجة التطبيقات غير المتوافقة مع إصدارات واجهة برمجة التطبيقات المستهدَفة، قد يؤدي ذلك إلى تعذُّر تشغيل الرمز بشكلٍ صحيح. يمكن أن تساعدك أداة Lint في إزالة هذه المشاكل.

لتحسين أداء استخدام أداة Lint، يمكنك أيضًا إضافة تعليقات توضيحية إلى التعليمات البرمجية

نظرة عامة

يوفّر "استوديو Android" أداة لفحص الرموز البرمجية تُسمّى lint يمكن أن تساعدك في تحديد وتصحيح مشكلات الجودة الهيكلية لتعليمتك البرمجية بدون الحاجة إلى تنفيذ التطبيق أو كتابة حالات اختبار. إن كل مشكلة تكتشفها الأداة بالإضافة إلى رسالة وصف ومستوى الخطورة لكي تتمكّن من إعطاء الأولوية والتحسينات الهامة التي يجب إجراؤها. يمكنك أيضًا خفض مستوى خطورة المشكلة تجاهل المشكلات التي لا تتعلق بمشروعك أو رفع مستوى الخطورة إلى وتسليط الضوء على مشكلات محددة.

تفحص أداة Lint ملفات مصدر مشروع Android بحثًا عن أخطاء محتملة تحسينات التحسين من أجل الصحّة والأمان والأداء وسهولة الاستخدام وإمكانية الوصول والتدويل. عند استخدام "استوديو Android" يتم تشغيل عمليات فحص Lint وIDE عند إنشاء التطبيق. ومع ذلك، يمكنك إجراء عمليات الفحص يدويًا قم بتشغيل أداة Lint من سطر الأوامر، كما هو موضح في هذه الصفحة.

تفحص أداة Lint المدمَجة الرمز البرمجي أثناء استخدامك. "استوديو Android". يمكنك عرض التحذيرات والأخطاء بطريقتين:

  • كنص منبثق في نافذة المحرر. عندما تجد أداة Lint مشكلة، فإنها تبرز رمز المشكلة باللون الأصفر. بالنسبة إلى المشاكل الأكثر خطورة، يتم وضع خط تحت الرمز باللون الأحمر.
  • في نافذة نتائج فحص Lint عند النقر على Code > افحص الرمز البرمجي.

ملاحظة: عندما يتم تجميع الرمز في "استوديو Android"، ستظهر يتم إجراء عمليات فحص رمز IntelliJ لتبسيط الرموز البرمجية المراجعة.

يوضح الشكل 1 كيفية معالجة أداة Lint لملفات مصدر التطبيق.

فحص التعليمات البرمجية باستخدام أداة Lint.
الشكل 1. سير عمل فحص الرمز باستخدام أداة Lint
ملفات مصدر التطبيق
تتكون الملفات المصدر من الملفات التي يتألف منها مشروع Android، بما في ذلك لغة Kotlin وJava و ملفات XML والرموز وملفات إعداد ProGuard.
ملف lint.xml
ملف إعداد يمكنك استخدامه لتحديد أي عمليات تحقّق من أداة Lint تريد استبعاد وتخصيص مستويات خطورة المشاكل
أداة Lint
هي أداة لفحص الرموز الثابتة التي يمكنك تشغيلها في مشروع Android الخاص بك إما من خلال سطر الأوامر أو في "استوديو Android". أداة Lint أداة التحقق بحثًا عن مشكلات التعليمة البرمجية الهيكلية التي قد تؤثر في جودة وأداء تطبيق Android.
نتائج فحص أداة Lint
يمكنك عرض النتائج من أداة Lint إما في وحدة التحكّم أو في نتائج الفحص. نافذة جديدة في "استوديو Android" في حال تشغيل lint من سطر الأوامر، ستظهر النتائج على النحو التالي: التي تمت كتابتها في المجلد build/. لمزيد من التفاصيل، راجع القسم الذي يتناول إجراء عمليات الفحص يدويًا.

تشغيل أداة Lint من سطر الأوامر

إذا كنت تستخدم "استوديو Android" أو Gradle، يمكنك استخدام برنامج تضمين Gradle لاستدعاء مهمة 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

عندما تكمل أداة Lint عمليات التحقق الخاصة بها، فإنها توفر مسارات إلى XML وHTML من تقرير Lint. يمكنك بعد ذلك الانتقال إلى تقرير HTML وفتحه في المتصفّح، كما هو موضح في الشكل 2.

نموذج تقرير أداة Lint HTML
الشكل 2. نموذج تقرير أداة Lint بتنسيق HTML

إذا كان مشروعك يتضمن إنشاء الأخرى، تفحص أداة Lint الخيار التلقائي فقط. إذا كنت تريد تشغيل lint على المتغير، يجب كتابة اسم المتغير بأحرف كبيرة وإضافة البادئة lint إليه.

./gradlew lintRelease

لمزيد من المعلومات عن الجري حدِّد مهام Gradle من سطر الأوامر، واقرأ إنشاء تطبيقك من سطر الأوامر.

تشغيل أداة Lint باستخدام الأداة المستقلة

إذا لم تكن تستخدم "استوديو Android" أو Gradle، تثبيت أدوات سطر الأوامر لحزمة تطوير البرامج (SDK) لنظام التشغيل Android لاستخدام أداة الوبر المستقلة. تحديد موقع أداة 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 مقابل المشروع المسمى الزلزال:

$ 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، ويمكنك تحديد درجة الخطورة ومستويات المشكلات. على سبيل المثال، يمكنك إيقاف فحص أداة Lint لمشكلات معينة لا تتعلق بمشروعك، ويمكنك تهيئة أداة Lint للإبلاغ عن المشكلات غير الحرجة في مستوى خطورة أقل.

مستويات الخطورة هي:

  • enable
  • disable أو ignore
  • informational
  • warning
  • error
  • fatal

يمكنك تهيئة التحقق من أداة Lint لمستويات مختلفة:

  • على الصعيد العالمي (المشروع بأكمله)
  • وحدة المشروع
  • وحدة الإنتاج
  • وحدة الاختبار
  • فتح الملفات
  • التدرّج الهرمي للصف
  • نطاقات نظام التحكم في الإصدارات (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.

نموذج ملف 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. في مربع الحوار الإعدادات المفضّلة:

  1. حدد ملف > الإعدادات (على نظام التشغيل Windows) أو استوديو Android > الإعدادات المفضّلة (على نظام التشغيل macOS أو Linux).
  2. اختَر المحرِّر >. عمليات الفحص:
  3. ولإيقافها، ألغِ اختيار ملف المصدر المناسب.

يمكنك تعيينها إما لـ IDE أو للمشروعات الفردية من خلال واختيار الملف الشخصي المناسب.

إعداد فحص أداة 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 على أي من الأجهزة القابلة للإنشاء.

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 لإيقاف البحث عن الوبر أقسام ملفات XML الخاصة بك. ضع قيمة مساحة الاسم التالية في ملف lint.xml لذلك تتعرف أداة Lint على التصنيف:

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"

تهيئة خيارات 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
    }
}
...

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
    }
}
...

تلتزم جميع طرق أداة Lint التي تتجاوز مستوى الخطورة المحدد لمشكلة ما ترتيب التكوين. على سبيل المثال، ضبط مشكلة على أنّها فادحة في finalizeDsl() إلغاء إيقافه في خدمة DSL الرئيسية.

إنشاء أساس للتحذيرات

يمكنك أخذ لقطة من مجموعة التحذيرات الحالية لمشروعك، ثم استخدام تلك اللقطة كخط أساس لعمليات الفحص المستقبلية بحيث يتم الإبلاغ عن المشكلات الجديدة فقط. تتيح لك اللقطة الأساسية بدء استخدام أداة Lint لفشل في إنشاء الإصدار بدون الحاجة إلى للعودة ومعالجة جميع المشكلات الحالية أولاً.

لإنشاء لقطة أساسية، عدِّل ملف build.gradle لمشروعك على النحو التالي:

Kotlin

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

Groovy

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

وعند إضافة هذا السطر لأول مرة، يتم إنشاء ملف lint-baseline.xml لإنشاء خط الأساس لديك. ومن ذلك الحين فصاعدًا، تقرأ الأدوات الملف فقط لتحديد المتوقع. إذا أردت لإنشاء خط أساس جديد، احذف الملف يدويًا وشغّل أداة Lint مرة أخرى لإعادة إنشائه.

بعد ذلك، شغِّل lint من بيئة التطوير المتكاملة (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")
    }
}

Groovy

android {
    lintOptions {
        checkOnly 'NewApi', 'HandlerLeak'
        baseline file("lint-baseline.xml")
    }
}

إذا أضفت أي تحذيرات جديدة إلى قاعدة الرموز بعد إنشاء قاعدة الرموز فإن خط الأساس، قوائم Lint فقط الأخطاء التي تم تقديمها حديثًا.

تحذير بشأن الحالة الأساسية

عندما يكون خط الأساس ساريًا، تتلقى تحذيرًا إعلاميًا يخبرك بأن واحدًا أو أكثر المشكلات لأنها مدرجة في المتوقع. هذا النمط على تذكر أنك قمت بتكوين المتوقع وأنك بحاجة إلى إصلاح جميع المشكلات في في مرحلة ما.

يتتبع هذا التحذير الإعلامي أيضًا المشاكل التي لم يعد يتم الإبلاغ عنها. تتيح هذه المعلومات تعرف ما إذا كان لديك مشكلات بالفعل، بحيث يمكنك اختياريًا إعادة إنشاء المتوقع لمنع خطأ من العودة بدون أن يتم اكتشافها.

ملاحظة: يتم تفعيل "الخطوط المرجعية" عند إجراء عمليات الفحص في الوضع المجمّع في بيئة التطوير المتكاملة، ولكن يتم تجاهلها. لعمليات التحقّق داخل المحررين التي يتم إجراؤها في الخلفية عند تعديل ملف. هذا بسبب مخصصة للحالة التي تشتمل فيها قاعدة الرموز على عدد كبير من التحذيرات الموجودة، ولكنك ترغب في إصلاح المشكلات محليًا أثناء لمس الرمز.

إجراء عمليات الفحص يدويًا

لتشغيل الوبر الذي تم إعداده وفحوصات IDE الأخرى يدويًا، حدد الرمز > افحص الرمز البرمجي. تظهر نتائج الفحص في نتائج الفحص.

تحديد نطاق الفحص والملف الشخصي

اختَر الملفات التي تريد تحليلها (نطاق الفحص) عمليات الفحص التي تريد إجراؤها (الملف الشخصي للفحص) على النحو التالي:

  1. في طريقة عرض Android، افتح مشروعك واختَر المشروع أو المجلد أو الملف الذي تريد تحليله.
  2. من شريط القوائم، حدد الرمز > افحص الرمز البرمجي.
  3. في مربّع الحوار تحديد نطاق الفحص، راجِع الإعدادات.

    تحديد نطاق الفحص
    الشكل 3. مراجعة إعدادات نطاق الفحص

    تختلف الخيارات التي تظهر في مربّع الحوار تحديد نطاق الفحص. بناءً على ما إذا كنت قد اخترت مشروعًا أو مجلدًا أو ملفًا:

    • عند تحديد مشروع أو ملف أو دليل واحد، تحديد نطاق الفحص المسار إلى المشروع أو الملف أو الدليل الذي اخترته.
    • عند اختيار أكثر من مشروع أو ملف أو دليل واحد، يجب أن تتضمن زر تحديد الفحص يعرض مربّع حوار النطاق زر اختيار محدّد للملفات المحدَّدة.

    لتغيير ما تريد فحصه، اختَر أحد أزرار الاختيار الأخرى. عرض مربع حوار تحديد نطاق الفحص للحصول على وصف لجميع الحقول المحتملة في مربّع الحوار تحديد نطاق الفحص.

  4. ضمن الملف الشخصي للفحص، اختَر الملف الشخصي الذي تريد استخدامه.
  5. انقر على حسنًا لتشغيل الفحص.

    يعرض الشكل 4 فحص الوبر وغيره من بيئة التطوير المتكاملة نتائج من تشغيل فحص الرمز:

    اختَر مشكلة للاطّلاع على حلها.
    الشكل 4. نتائج الفحص اختيار مشكلة للاطّلاع على درجة الدقة
  6. في لوحة نتائج الفحص، يمكنك الاطّلاع على نتائج الفحص من خلال توسيع الشاشة واختيارها. أو فئات الأخطاء أو أنواعها أو مشكلاتها.

    تعرض لوحة تقرير الفحص تقرير الفحص لفئة الخطأ. أو المشكلة المحددة في جزء نتائج الفحص وتعرض الاسم موضع الخطأ. يعرض تقرير التفتيش معلومات أخرى، حيثما أمكن، مثل ملخص المشكلة، لمساعدتك على تصحيح المشكلة.

  7. في العرض التدرّجي للوحة نتائج الفحص، انقر بزر الماوس الأيمن على فئة أو نوع أو مشكلة من أجل العرض قائمة السياقات.

    واستنادًا إلى السياق، يمكنك إجراء ما يلي:

    • الانتقال إلى المصدر
    • استبعاد العناصر المحدّدة وتضمينها
    • التغلب على المسائل.
    • تعديل الإعدادات
    • إدارة تنبيهات الفحص
    • إعادة إجراء الفحص

للحصول على أوصاف لأزرار شريط الأدوات وعناصر قائمة السياق والفحص حقول التقرير، راجع نافذة أداة "نتائج الفحص".

استخدام نطاق مخصّص

استخدِم أحد النطاقات المخصَّصة المقدَّمة في "استوديو Android" على النحو التالي:

  1. في مربّع الحوار تحديد نطاق الفحص، اختَر نطاق مخصّص.
  2. انقر على قائمة النطاق المخصّص لعرض الخيارات التالية:

    اختيار &quot;نطاق الفحص&quot;
    الشكل 5. اختيار النطاق المخصّص الذي تريد استخدامها.
    • كل الأماكن: كل الملفات
    • ملفات المشروع: جميع الملفات في المشروع الحالي
    • ملفات مصدر المشروع: ملفات المصدر في المشروع الحالي فقط
    • ملفات إنتاج المشروع: ملفات الإنتاج في المشروع الحالي فقط.
    • ملفات اختبار المشروع: ملفات الاختبار في المشروع الحالي فقط.
    • الخدوش ووحدات التحكّم: فقط ملفات البداية ووحدات التحكّم التي فتحتها في المشروع الحالي.
    • الملفات التي تم عرضها مؤخرًا: الملفات التي تم عرضها مؤخرًا في المشروع الحالي فقط
    • الملف الحالي: الملف الحالي فقط في مشروعك الحالي تظهر عندما يكون لديك ملف أو مجلد محدد.
    • الدليل المحدّد: المجلد الحالي فقط في مشروعك الحالي. تظهر عند تحتوي على مجلد محدد.
    • التسلسل الهرمي للفئة: عند تحديد هذا الخيار والنقر على حسنًا، سيظهر مربّع حوار مع جميع الفئات في المشروع الحالي. في مربّع الحوار، استخدِم الحقل البحث حسب الاسم لتصفية الفئات وتحديدها فحص البرامج. في حال عدم فلترة قائمة الفئات، يفحص فحص الرمز جميع الصفوف.

    إذا كان لديك VCS تم إعداده للمشروع، فهناك أيضًا خيارات لتقييد البحث إلى الملفات التي تم تعديلها فقط.

  3. انقُر على موافق.

إنشاء نطاق مخصّص

عندما تريد فحص مجموعة من الملفات والأدلة غير المشمولة في النطاقات المخصصة المتوفرة حاليًا، يمكنك إنشاء نطاق مخصص:

  1. في مربّع الحوار تحديد نطاق الفحص، اختَر نطاق مخصّص.
  2. انقر على النقاط الثلاث بعد قائمة النطاق المخصّص.

    مربّع حوار تحديد نطاق الفحص
    الشكل 6. تحديد مربّع حوار "نطاق الفحص"

    سيظهر مربّع حوار النطاقات.

    إنشاء نطاق مخصّص
    الشكل 7. أنشئ نطاقًا مخصّصًا.
  3. انقر على . في أعلى يمين مربع الحوار لتحديد نطاق جديد.
  4. في قائمة إضافة نطاق التي تظهر، اختَر محلي.

    يتم استخدام كل من النطاقين المحلي والمشترك داخل المشروع لعملية فحص الرمز. الجديدة. يمكن أيضًا استخدام النطاق المشترك مع ميزات المشروع الأخرى التي لها نطاق. . على سبيل المثال، عند النقر على تعديل الإعدادات لتغيير البحث عن الاستخدامات، يتضمن مربع الحوار الناتج حقل نطاق حيث يمكنك نطاق مشترك.

    اختيار نطاق مشترك من مربّع الحوار &quot;العثور على الاستخدامات&quot;
    الشكل 8. اختَر نطاقًا مشتركًا من مربّع الحوار العثور على الاستخدامات
  5. أدخِل اسمًا للنطاق وانقر على حسنًا.

    الجزء الأيسر من مربّع حوار النطاقات بخيارات تتيح لك تحديد النطاق المخصص.

  6. من القائمة، اختَر المشروع.

    ستظهر قائمة بالمشاريع المتاحة.

    ملاحظة: يمكنك إنشاء النطاق المخصّص للمشاريع أو الحِزم. تشير رسالة الأشكال البيانية الخطوات هي نفسها.

  7. وسِّع مجلدات المشروع واختَر ما تريد إضافته إلى النطاق المخصّص واختَر ما تريد إضافته. ما إذا كان سيتم تضمينها أو استبعادها.

    تحديد نطاق مخصّص
    الشكل 9. حدِّد نطاقًا مخصّصًا.
    • تضمين: يمكنك تضمين هذا المجلد وملفاته، ولكن بدون تضمين أي من عناصره المجلدات الفرعية.
    • التضمين بشكل متكرر: يمكنك تضمين هذا المجلد وملفاته بالإضافة إلى مجلداته الفرعية الملفات.
    • استبعاد: يمكنك استبعاد هذا المجلد وملفاته، ولكن بدون استبعاد أي من عناصره المجلدات الفرعية.
    • الاستبعاد بشكل متكرر: استبعِد هذا المجلد وملفاته بالإضافة إلى مجلداته الفرعية الملفات.

    يوضح الشكل 10 أن المجلد الرئيسي قد تم تضمينه، وأن JavaScript وres بشكل متكرر. يشير اللون الأزرق إلى مجلد مضمّن جزئيًا، ويشير إلى اللون الأخضر. تشير إلى المجلدات والملفات المضمنة بشكل متكرر.

    مثال على نمط لنطاق مخصّص
    الشكل 10 مثال على النمط لنطاق مخصّص
    • إذا حددت المجلد JavaScript ونقرت على استبعاد بشكل متكرر، سيظهر ستختفي هذه العلامة في المجلد java وجميع المجلدات والملفات الموجودة ضمنه.
    • إذا حددت ملف MainActivity.kt المميز باللون الأخضر انقر على استبعاد، لن يتم تمييز MainActivity.kt باللون الأخضر بعد الآن، ولكن ويظل كل شيء آخر ضمن المجلد Java باللون الأخضر.
  8. انقر على موافق. يظهر النطاق المخصّص في أسفل القائمة.

مراجعة الملفات الشخصية للتفتيش وتعديلها

يتضمّن "استوديو Android" مجموعة من أداة Lint وغيرها من الملفات الشخصية للفحص التي يتم تحديثها. خلال تحديثات Android يمكنك استخدام هذه الملفات الشخصية كما هي أو تعديل أسمائها أو أوصافها أو درجاتها أو والنطاقات. يمكنك أيضًا تفعيل وإيقاف مجموعات كاملة من الملفات الشخصية أو ملفات شخصية فردية. داخل مجموعة.

للوصول إلى إعدادات عمليات الفحص:

  1. حدد ملف > الإعدادات. (على نظام التشغيل Windows) أو استوديو Android > الإعدادات المفضّلة (على نظام التشغيل macOS أو Linux).
  2. اختَر المحرِّر >. عمليات الفحص:
  3. تعرض لوحة عمليات الفحص قائمة بعمليات الفحص المتوافقة الأوصاف.

    عمليات الفحص المدعومة وأوصافها
    الشكل 11. عمليات الفحص المدعومة الأوصاف
    .
  4. اختَر قائمة الملفات الشخصية للتبديل بين تلقائي (Android Studio) و عمليات فحص المشروع التلقائي (المشروع النشط).

    لمزيد من المعلومات، يمكنك الاطلاع على تقرير IntelliJ إدارة الملفات التجارية

  5. في قائمة عمليات الفحص في اللوحة اليمنى، اختَر فئة الملف الشخصي ذات المستوى الأعلى أو توسيع مجموعة واختيار ملف شخصي محدد

    عند اختيار فئة ملف شخصي، يمكنك تعديل جميع الفحوصات في تلك الفئة باعتبارها فحصًا واحدًا.

  6. اختَر قائمة إظهار إجراءات المخطط إظهار رمز إجراءات المخطط للنسخ أو إعادة التسمية أو الإضافة الأوصاف إلى عمليات الفحص وتصديرها واستيرادها.
  7. عند الانتهاء، انقر على حسنًا.