بالإضافة إلى إنشاء اختبارات للتأكّد من أنّ تطبيقك يستوفي متطلباته الوظيفية، من المهم أيضًا تشغيل الرمز البرمجي من خلال أداة lint للمساعدة في ضمان عدم وجود مشاكل هيكلية في الرمز البرمجي. تساعد أداة lint في العثور على التعليمات البرمجية ذات البنية السيئة التي يمكن أن تؤثر في موثوقية تطبيقات Android وكفاءتها وتجعل صيانتها أكثر صعوبة. ننصحك بشدة بتصحيح أي أخطاء يرصدها Lint قبل نشر تطبيقك.
على سبيل المثال، إذا كانت ملفات موارد XML تحتوي على مساحات أسماء غير مستخدَمة، سيؤدي ذلك إلى استهلاك مساحة وتطلُّب معالجة غير ضرورية. قد تؤدي المشاكل البنيوية الأخرى، مثل استخدام عناصر تم إيقافها نهائيًا أو طلبات بيانات من واجهة برمجة التطبيقات لا تتوافق مع إصدارات واجهة برمجة التطبيقات المستهدَفة، إلى تعذُّر تشغيل الرمز البرمجي بشكل صحيح. يمكن أن يساعدك Lint في حلّ هذه المشاكل.
لتحسين أداء التدقيق، يمكنك أيضًا إضافة تعليقات توضيحية إلى الرمز البرمجي.
نظرة عامة
يوفّر "استوديو Android" أداة لفحص الرموز البرمجية تُسمّى Lint يمكن أن تساعدك في تحديد المشاكل المتعلّقة بالجودة البنيوية للرموز البرمجية وتصحيحها بدون الحاجة إلى تنفيذ التطبيق أو كتابة حالات الاختبار. يتم الإبلاغ عن كل مشكلة يتم رصدها بواسطة الأداة مع رسالة وصف ومستوى خطورة حتى تتمكّن من تحديد أولويات التحسينات المهمة التي يجب إجراؤها. يمكنك أيضًا خفض مستوى خطورة مشكلة ما لتجاهل المشاكل غير ذات الصلة بمشروعك، أو رفع مستوى الخطورة لتسليط الضوء على مشاكل معيّنة.
تفحص أداة lint ملفات المصدر لمشروع Android بحثًا عن أخطاء محتملة وتحسينات على مستوى الأداء من أجل ضمان صحة الرمز البرمجي وأمانه وأدائه وسهولة استخدامه وإمكانية الوصول إليه وتوافقه مع اللغات المختلفة. عند استخدام Android Studio، يتم تشغيل عمليات فحص lint وعمليات فحص بيئة التطوير المتكاملة التي تم ضبطها عند إنشاء تطبيقك. ومع ذلك، يمكنك تشغيل عمليات الفحص يدويًا أو تشغيل lint من سطر الأوامر، كما هو موضّح في هذه الصفحة.
تتحقّق أداة lint المضمّنة من الرمز البرمجي أثناء استخدامك استوديو Android. يمكنك عرض التحذيرات والأخطاء بطريقتين:
- كنص منبثق في نافذة المحرِّر عندما يرصد أداة Lint مشكلة، فإنّها تميّز الرمز الذي يتضمّن مشكلة باللون الأصفر. بالنسبة إلى المشاكل الأكثر خطورة، يتم وضع خط أحمر تحت الرمز.
- في نافذة نتائج الفحص الخاصة بأداة lint عند النقر على الرمز > فحص الرمز
ملاحظة: عند تجميع الرمز في "استوديو Android"، يتم تنفيذ عمليات فحص إضافية لرموز IntelliJ بهدف تبسيط عملية مراجعة الرمز. احرِص على تحديث استوديو Android باستمرار لضمان توفّر أحدث قواعد عمليات التحقّق وعمليات الفحص المستندة إلى أداة Lint.
يوضّح الشكل 1 كيفية معالجة أداة lint لملفات مصدر التطبيق.

- ملفات مصدر التطبيق
- تتألف ملفات المصدر من الملفات التي يتكوّن منها مشروع Android، بما في ذلك ملفات Kotlin وJava وXML والرموز وملفات إعدادات ProGuard.
- ملف
lint.xml
- ملف إعداد يمكنك استخدامه لتحديد أي عمليات تحقّق من الأخطاء تريد استبعادها وتخصيص مستويات خطورة المشاكل
- أداة Lint
- أداة فحص الرموز البرمجية الثابتة التي يمكنك تشغيلها على مشروع Android إما من سطر الأوامر أو في Android Studio. يفحص أداة lint المشاكل البنيوية في الرمز البرمجي التي قد تؤثر في جودة تطبيق Android وأدائه.
- نتائج فحص الأخطاء
- يمكنك الاطّلاع على النتائج من أداة Lint إما في وحدة التحكّم أو في نافذة نتائج الفحص
في Android Studio. إذا شغّلت
lint
من سطر الأوامر، ستتم كتابة النتائج في المجلدbuild/
. لمزيد من التفاصيل، يُرجى الاطّلاع على القسم حول إجراء عمليات فحص يدويًا.
تشغيل أداة Lint من سطر الأوامر
إذا كنت تستخدم "استوديو Android" أو Gradle، استخدِم برنامج تضمين Gradle لتنفيذ مهمة lint
لمشروعك من خلال إدخال أحد الأوامر التالية من الدليل الجذر لمشروعك:
ملاحظة: احرص على تحديث المكوّن الإضافي لنظام Gradle المتوافق مع Android باستمرار للاستفادة من أحدث قواعد 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 من الخيار التلقائي فقط. إذا أردت تشغيل أداة lint على صيغة مختلفة، عليك كتابة اسم الصيغة بأحرف كبيرة وإضافة البادئة lint
إليه.
./gradlew lintRelease
ملاحظة: لا يتم تشغيل Lint تلقائيًا كجزء من عملية الإنشاء. ننصحك بشدة بتشغيل أداة lint بشكل صريح كجزء من عملية إنشاء متكاملة مستمرة حتى تظهر لك أحدث عمليات التحقّق من أداة lint عند إنشاء رمز المصدر الحالي.
لمزيد من المعلومات حول تنفيذ مهام Gradle من سطر الأوامر، يُرجى الاطّلاع على إنشاء تطبيقك من سطر الأوامر.
تشغيل أداة lint باستخدام الأداة المستقلة
إذا كنت لا تستخدم Android Studio أو Gradle،
ثبِّت أدوات سطر الأوامر في حزمة تطوير البرامج (SDK) لنظام التشغيل Android
لاستخدام أداة 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، ويمكنك تحديد مستويات الخطورة للمشاكل. على سبيل المثال، يمكنك إيقاف عملية التحقّق من الأخطاء باستخدام أداة Lint لمشاكل معيّنة غير مرتبطة بمشروعك، ويمكنك ضبط أداة Lint للإبلاغ عن المشاكل غير الحرجة بمستوى خطورة أقل.
مستويات الخطورة هي:
enable
-
disable
أو ignore
informational
warning
error
fatal
يمكنك ضبط عملية فحص lint لمستويات مختلفة:
- على مستوى العالم (المشروع بأكمله)
- وحدة المشروع
- وحدة الإنتاج
- وحدة الاختبار
- فتح الملفات
- التدرّج الهرمي للصف
- نطاقات نظام التحكّم في الإصدارات (VCS)
ضبط ملف lint
يمكنك تحديد إعداداتك المفضّلة لفحص lint في ملف lint.xml
. إذا كنت ستنشئ هذا الملف يدويًا، ضعه في الدليل الجذري لمشروع Android.
يتكوّن ملف lint.xml
من علامة رئيسية <lint>
محيطة تحتوي على عنصر واحد أو أكثر من عناصر <issue>
الثانوية. تحدّد أداة Lint قيمة سمة فريدة لكل <issue>
:id
<?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
يمكنك إيقاف عملية التحقّق من الأخطاء في ملفات المصدر Kotlin وJava وXML في مربّع الحوار الإعدادات المفضّلة:
- اختَر ملف > الإعدادات (على نظام التشغيل 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);
ويمكن تحقيق ذلك على أي عنصر قابل للإنشاء. يوضّح مقتطف الرمز البرمجي التالي كيف يمكنك إيقاف عمليات التحقّق من NewApi
في أي عنصر Composable.
Kotlin
@SuppressLint("NewApi") @Composable fun MyComposable{ ... }
يوضّح المثال التالي كيفية إيقاف فحص lint للمشكلة في الفئة FeedProvider
:ParserError
Kotlin
@SuppressLint("ParserError") class FeedProvider : ContentProvider() {
Java
@SuppressLint("ParserError") public class FeedProvider extends ContentProvider {
لكتم التحقّق من جميع مشاكل Lint في الملف، استخدِم الكلمة الرئيسية all
:
Kotlin
@SuppressLint("all")
Java
@SuppressLint("all")
يمكنك استخدام التعليق التوضيحي نفسه لإيقاف عمليات التحقّق من lint في أي دالة Composable.
ضبط عملية التحقّق من الأخطاء في XML
استخدِم السمة tools:ignore
لإيقاف عملية التدقيق في أجزاء معيّنة من ملفات XML. ضَع قيمة مساحة الاسم التالية في ملف lint.xml
لكي تتعرّف أداة التدقيق على السمة:
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
يتيح لك المكوّن الإضافي لنظام Gradle المتوافق مع Android ضبط بعض خيارات 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) من خلال اختيار 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") } }
Groovy
android { lintOptions { checkOnly 'NewApi', 'HandlerLeak' baseline file("lint-baseline.xml") } }
إذا أضفت أي تحذيرات جديدة إلى قاعدة الرموز بعد إنشاء خط الأساس، لن تعرض أداة lint سوى الأخطاء التي تم إدخالها حديثًا.
تحذير بشأن خط الأساس
عندما يكون خط الأساس ساريًا، ستتلقّى تحذيرًا إعلاميًا يخبرك بأنّه تم فلترة مشكلة واحدة أو أكثر لأنّها مُدرَجة في خط الأساس. يساعدك هذا التحذير في تذكُّر أنّك ضبطت خطًا أساسيًا وأنّ عليك حلّ جميع المشاكل في مرحلة ما.
يتتبّع هذا التحذير المعلوماتي أيضًا المشاكل التي لم يعُد يتم الإبلاغ عنها. تتيح لك هذه المعلومات معرفة ما إذا كنت قد حللت المشاكل فعلاً، وبالتالي يمكنك اختياريًا إعادة إنشاء خط الأساس لمنع ظهور الخطأ مجددًا بدون رصد.
ملاحظة: يتم تفعيل خطوط الأساس عند إجراء عمليات فحص في الوضع المجمّع في بيئة التطوير المتكاملة، ولكن يتم تجاهلها في عمليات الفحص التي تتم في المحرّر والتي يتم تنفيذها في الخلفية أثناء تعديل ملف. ويرجع ذلك إلى أنّ خطوط الأساس مخصّصة للحالات التي يتضمّن فيها قاعدة الرموز البرمجية عددًا كبيرًا من التحذيرات الحالية، ولكنك تريد إصلاح المشاكل محليًا أثناء تعديل الرموز البرمجية.
إجراء عمليات الفحص يدويًا
لتشغيل عمليات فحص lint وعمليات فحص أخرى في بيئة التطوير المتكاملة (IDE) تم ضبطها يدويًا، انقر على الرمز > فحص الرمز. تظهر نتائج الفحص في نافذة نتائج الفحص.
تحديد نطاق الفحص والملف الشخصي
اختَر الملفات التي تريد تحليلها (نطاق الفحص) وعمليات الفحص التي تريد تنفيذها (الملف الشخصي للفحص) على النحو التالي:
- في عرض Android، افتح مشروعك واختَر المشروع أو المجلد أو الملف الذي تريد تحليله.
- من شريط القوائم، اختَر الرمز > فحص الرمز.
في مربّع الحوار تحديد نطاق الفحص، راجِع الإعدادات.
الشكل 3. راجِع إعدادات نطاق الفحص. تختلف الخيارات التي تظهر في مربّع الحوار تحديد نطاق الفحص حسب ما إذا كنت قد اخترت مشروعًا أو مجلدًا أو ملفًا:
- عند اختيار مشروع أو ملف أو دليل واحد، يعرض مربّع الحوار تحديد نطاق الفحص مسار المشروع أو الملف أو الدليل الذي اخترته.
- عند اختيار أكثر من مشروع أو ملف أو دليل، يعرض مربع الحوار تحديد نطاق الفحص زر اختيار محدّدًا للملفات المحدّدة.
لتغيير ما تريد فحصه، اختَر أحد أزرار الاختيار الأخرى. راجِع مقالة مربّع الحوار "تحديد نطاق الفحص" للاطّلاع على وصف لجميع الحقول الممكنة في مربّع الحوار تحديد نطاق الفحص.
- ضمن ملف الفحص، اختَر الملف الذي تريد استخدامه.
انقر على حسنًا لتنفيذ عملية الفحص.
تعرض "الشكل 4" نتائج عمليات الفحص التي يجريها Lint وغيرها من عمليات الفحص التي تجريها بيئة التطوير المتكاملة (IDE) عند تنفيذ فحص الرمز:
الشكل 4. نتائج عملية الفحص اختَر مشكلة للاطّلاع على الحلّ. -
في لوحة نتائج الفحص، اطّلِع على نتائج الفحص من خلال توسيع فئات الأخطاء أو أنواعها أو مشاكلها واختيارها.
تعرض لوحة تقرير الفحص تقرير الفحص الخاص بفئة الخطأ أو نوعه أو المشكلة المحدّدة في لوحة نتائج الفحص، كما تعرض اسم الخطأ وموقعه. عند الاقتضاء، يعرض تقرير الفحص معلومات أخرى، مثل ملخّص للمشكلة، لمساعدتك في حلّها.
في العرض الشجري للوحة نتائج الفحص، انقر بزر الماوس الأيمن على فئة أو نوع أو مشكلة لعرض قائمة السياقات.
استنادًا إلى السياق، يمكنك إجراء ما يلي:
- الانتقال إلى المستند المصدر
- استبعاد العناصر المحدّدة وتضمينها
- إخفاء المشاكل
- تعديل الإعدادات
- إدارة تنبيهات عمليات الفحص
- إعادة إجراء فحص
للاطّلاع على أوصاف لأزرار شريط الأدوات وعناصر قائمة السياقات وحقول تقرير الفحص، يُرجى الاطّلاع على نافذة أداة "نتائج الفحص".
استخدام نطاق مخصّص
استخدِم أحد النطاقات المخصّصة المتوفّرة في "استوديو Android" على النحو التالي:
- في مربّع الحوار تحديد نطاق الفحص، اختَر نطاق مخصّص.
انقر على قائمة النطاق المخصّص لعرض خياراتك:
الشكل 5. اختَر النطاق المخصّص الذي تريد استخدامه. - كل الأماكن: جميع الملفات
- ملفات المشروع: جميع الملفات في المشروع الحالي
- ملفات مصدر المشروع: ملفات المصدر فقط في المشروع الحالي
- ملفات الإنتاج في المشروع: ملفات الإنتاج فقط في المشروع الحالي
- ملفات اختبار المشروع: ملفات الاختبار في المشروع الحالي فقط
- ملفات Scratch ووحدات التحكّم: يتم عرض ملفات Scratch ووحدات التحكّم التي فتحتها في المشروع الحالي فقط.
- الملفات التي تم عرضها مؤخرًا: الملفات التي تم عرضها مؤخرًا فقط في المشروع الحالي
- الملف الحالي: الملف الحالي فقط في مشروعك الحالي يظهر هذا الخيار عند اختيار ملف أو مجلد.
- الدليل المحدّد: المجلد الحالي فقط في مشروعك الحالي يظهر هذا الخيار عند اختيار مجلد.
- تسلسل الفئات الهرمي: عند تحديد هذا الخيار والنقر على موافق، يظهر مربّع حوار يتضمّن جميع الفئات في المشروع الحالي. في مربّع الحوار، استخدِم حقل البحث حسب الاسم للفلترة واختيار الفئات التي تريد فحصها. في حال عدم فلترة قائمة الفئات، سيفحص تدقيق الرمز البرمجي جميع الفئات.
- انقُر على موافق.
إذا كان لديك نظام تحكّم بالإصدارات (VCS) تم إعداده للمشروع، ستتوفّر أيضًا خيارات لحصر البحث على الملفات التي تم تعديلها فقط.
إنشاء نطاق مخصّص
عندما تريد فحص مجموعة من الملفات والمجلدات التي لا يشملها أي من النطاقات المخصّصة المتاحة، يمكنك إنشاء نطاق مخصّص باتّباع الخطوات التالية:
- في مربّع الحوار تحديد نطاق الفحص، اختَر نطاق مخصّص.
انقر على النقاط الثلاث بعد قائمة النطاق المخصّص.
الشكل 6. مربّع حوار "تحديد نطاق الفحص" يظهر مربّع الحوار نطاقات.
الشكل 7. إنشاء نطاق مخصّص - انقر على الزر
في أعلى يمين مربّع الحوار لتحديد نطاق جديد.
- في قائمة إضافة نطاق التي تظهر، اختَر محلي.
يتم استخدام النطاقين المحلي والمشترك ضمن المشروع لميزة فحص الرمز. يمكن أيضًا استخدام النطاق المشترَك مع ميزات المشاريع الأخرى التي تتضمّن حقل نطاق. على سبيل المثال، عند النقر على تعديل الإعدادات
لتغيير إعدادات البحث عن الاستخدامات، يحتوي مربع الحوار الناتج على حقل النطاق حيث يمكنك اختيار نطاق مشترك.
الشكل 8. اختَر نطاقًا مشتركًا من مربّع الحوار العثور على مواضع الاستخدام. - أدخِل اسمًا للنطاق وانقر على موافق.
يتم ملء الجزء الأيسر من مربّع الحوار النطاقات بخيارات تتيح لك تحديد النطاق المخصّص.
- من القائمة، اختَر المشروع.
ستظهر قائمة بالمشاريع المتاحة.
ملاحظة: يمكنك إنشاء النطاق المخصّص للمشاريع أو الحِزم. الخطوات هي نفسها.
وسِّع مجلدات المشروع، واختَر ما تريد إضافته إلى النطاق المخصّص، ثم اختَر ما إذا كنت تريد تضمينه أو استبعاده.
الشكل 9: حدِّد نطاقًا مخصّصًا. - تضمين: لتضمين هذا المجلد وملفاته، ولكن بدون تضمين أي من مجلداته الفرعية
- التضمين بشكل متكرر: لتضمين هذا المجلد وملفاته بالإضافة إلى المجلدات الفرعية وملفاتها.
- استبعاد: استبعاد هذا المجلد وملفاته، ولكن بدون استبعاد أي من مجلداته الفرعية
- الاستبعاد بشكل متكرر: لاستبعاد هذا المجلد وملفاته بالإضافة إلى مجلداته الفرعية وملفاتها.
يوضّح الشكل 10 أنّه تم تضمين المجلد الرئيسي، وأنّه تم تضمين المجلّدَين java وres بشكل متكرّر. يشير اللون الأزرق إلى مجلد مضمّن جزئيًا، ويشير اللون الأخضر إلى المجلدات والملفات المضمّنة بشكل متكرر.
الشكل 10: نموذج مثال لنطاق مخصّص - إذا اخترت المجلد java ونقرت على استبعاد بشكل متكرر، ستتم إزالة التمييز باللون الأخضر عن المجلد java وجميع المجلدات والملفات ضِمنه.
- إذا اخترت الملف MainActivity.kt المميّز باللون الأخضر ونقرت على استبعاد، لن يبقى الملف MainActivity.kt مميّزًا باللون الأخضر، ولكن ستبقى جميع العناصر الأخرى ضِمن المجلد java مميّزة باللون الأخضر.
- انقر على موافق. يظهر النطاق المخصّص في أسفل القائمة.
مراجعة ملفات فحص المركبات وتعديلها
يتضمّن Android Studio مجموعة من ملفات Lint الشخصية وملفات الفحص الأخرى التي يتم تعديلها من خلال تحديثات Android. يمكنك استخدام هذه الملفات الشخصية كما هي أو تعديل أسمائها وأوصافها ودرجات خطورتها ونطاقاتها. يمكنك أيضًا تفعيل وإيقاف مجموعات كاملة من الملفات الشخصية أو ملفات شخصية فردية ضمن مجموعة.
للوصول إلى إعدادات عمليات الفحص، اتّبِع الخطوات التالية:
- انقر على ملف > الإعدادات. (على نظام التشغيل Windows) أو Android Studio > الإعدادات المفضّلة (على نظام التشغيل macOS أو Linux).
- انقر على المحرّر > عمليات الفحص.
-
تعرض لوحة عمليات الفحص قائمة بعمليات الفحص المتوافقة وأوصافها.
الشكل 11. تمثّل هذه السمة عمليات الفحص المتاحة وأوصافها. انقر على قائمة الملف الشخصي للتبديل بين عمليات الفحص التلقائية (استوديو Android) والتلقائية للمشروع (المشروع النشط).
لمزيد من المعلومات، يُرجى الاطّلاع على صفحة إدارة الملفات الشخصية في IntelliJ.
في قائمة عمليات الفحص في اللوحة اليمنى، اختَر فئة ملف شخصي ذات مستوى أعلى أو وسِّع مجموعة واختَر ملفًا شخصيًا معيّنًا.
عند اختيار فئة ملف شخصي، يمكنك تعديل جميع عمليات الفحص في تلك الفئة كعملية فحص واحدة.
- اختَر قائمة عرض إجراءات المخطط
لنسخ عمليات الفحص وإعادة تسميتها وإضافة أوصاف إليها وتصديرها واستيرادها.
- عند الانتهاء من ذلك، انقر على موافق.