بالإضافة إلى اختبارات الإنشاء للتأكّد من أنّ تطبيقك يستوفي متطلباته الوظيفية، من المهم أيضًا تشغيل الرمز البرمجي من خلال أداة lint للمساعدة في التأكّد من عدم توفّر أي مشاكل برمجية في الرمز. تساعد أداة lint في العثور على الرموز البرمجية ذات البنية السيئة التي يمكن أن تؤثّر في موثوقية تطبيقات Android وفعاليتها وتصعِّب الحفاظ على رمزك البرمجي. ننصحك بشدة بتصحيح أي أخطاء يرصدها مدقّق الأخطاء قبل نشر تطبيقك.
على سبيل المثال، إذا كانت ملفات موارد XML تحتوي على مساحات أسماء غير مستخدَمة، سيؤدي ذلك إلى استخدام مساحة وتخزين وتطلب معالجة غير ضرورية. قد تؤدي المشاكل الهيكلية الأخرى، مثل استخدام عناصر متوقّفة نهائيًا أو طلبات بيانات من واجهة برمجة التطبيقات غير متوافقة مع إصدارات واجهة برمجة التطبيقات المستهدَفة، إلى تعذُّر تشغيل الرمز البرمجي بشكل صحيح. يمكن أن يساعدك Lint في حلّ هذه المشاكل.
لتحسين أداء فحص الأخطاء، يمكنك أيضًا إضافة تعليقات توضيحية إلى الرمز البرمجي.
نظرة عامة
يوفّر Android Studio أداة فحص الرموز البرمجية تُسمى lint التي يمكن أن تساعدك في تحديد المشاكل المتعلّقة بالجودة الهيكلية لرمزك البرمجي وتصحيحها بدون الحاجة إلى تنفيذ التطبيق أو كتابة حالات الاختبار. يتم تسجيل كل مشكلة ترصدها الأداة مع رسالة وصفية ومستوى خطورة حتى تتمكّن من تحديد أولويات التحسينات العميقة التي يجب إجراؤها. يمكنك أيضًا خفض مستوى خطورة مشكلة ما بهدف تجاهُل المشاكل غير ذات الصلة بمشروعك أو رفع مستوى الخطورة بهدف تسليط الضوء على مشاكل معيّنة.
تفحص أداة Lint ملفات مصدر مشروع Android بحثًا عن أخطاء محتملة وتحسينات في التحسين بهدف التحقّق من الصحة والأمان والأداء وسهولة الاستخدام وتسهيل الاستخدام وإضفاء الطابع الدولي. عند استخدام Android Studio، يتم تشغيل عمليات فحص أداة lint وIDE التي تم ضبطها عند إنشاء تطبيقك. ومع ذلك، يمكنك تشغيل عمليات الفحص يدويًا أو تشغيل أداة lint من سطر الأوامر، كما هو موضّح في هذه الصفحة.
تتحقّق أداة lint المضمّنة من الرمز البرمجي أثناء استخدام "استوديو Android". يمكنك عرض التحذيرات والأخطاء بطريقتَين:
- كنص نافذة منبثقة في نافذة المحرِّر عندما ترصد أداة Lint مشكلة، تسلّط الضوء على الرمز الذي يتضمّن المشكلة باللون الأصفر. بالنسبة إلى المشاكل الأكثر خطورة، يتم وضع خط تحت الرمز البرمجي باللون الأحمر.
- في نافذة نتائج الفحص الخاصة بميزة "إزالة الأخطاء"، عند النقر على الرمز > فحص الرمز
ملاحظة: عند تجميع الرمز البرمجي في "استوديو Android"، يتم تنفيذ عمليات فحص إضافية للرمز البرمجي في IntelliJ لتبسيط عملية مراجعة الرمز البرمجي. يجب تثبيت أحدث إصدار من Android Studio قدر الإمكان لضمان توفّر أحدث قواعد وعمليات فحص الأخطاء.
يوضّح الشكل 1 كيفية معالجة أداة lint لملفات مصدر التطبيق.
- ملفات مصدر التطبيق
- تتكون الملفات المصدر من ملفات تشكل مشروع Android، بما في ذلك ملفات Kotlin وJava وملفّات XML والرموز وملفات ضبط ProGuard.
- ملف
lint.xml
- ملف إعداد يمكنك استخدامه لتحديد أي عمليات تحقّق من أداة Lint تريد استبعادها وتخصيص مستويات خطورة المشكلة.
- أداة Lint
- أداة فحص الرموز الثابتة التي يمكنك تشغيلها في مشروع Android الخاص بك إما من سطر الأوامر أو في "استوديو Android". تتحقّق أداة lint من مشاكل البنية في الرموز البرمجية التي قد تؤثّر في جودة تطبيق Android وأدائه.
- نتائج فحص أداة Lint
- يمكنك عرض النتائج من أداة Lint إما في وحدة التحكّم أو في نافذة نتائج الفحص في "استوديو Android". في حال تنفيذ
lint
من سطر الأوامر، ستتم كتابة النتائج في مجلدbuild/
. لمزيد من التفاصيل، اطّلِع على القسم المعنيّ بموضوع تنفيذ عمليات الفحص يدويًا.
تشغيل lint من سطر الأوامر
إذا كنت تستخدم "استوديو Android" أو Gradle، استخدِم Gradle wrapper لتشغيل مهمة 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
عندما تُكمل أداة فحص الأخطاء عمليات التحقّق، تقدّم مسارات إلى إصدارَي XML وHTML لتقرير فحص الأخطاء. يمكنك بعد ذلك الانتقال إلى تقرير HTML وفتحه في المتصفّح، كما هو موضّح في الشكل 2.
إذا كان مشروعك يتضمّن نُسخ ملف برمجي، لا يتحقّق مدقّق الأخطاء من سوى النسخة التلقائية. إذا كنت تريد فحص أخطاء نحوية في صيغة
مختلفة، يجب كتابة اسم الصيغة بأحرف كبيرة وإضافة البادئة lint
إليها.
./gradlew lintRelease
ملاحظة: لا يتم تشغيل Lint تلقائيًا كجزء من عملية الإنشاء. ننصحك بشدة بتشغيل أداة Lint بشكل صريح كجزء من بنية التكامل المستمر لكي تتمكن من الاطّلاع على أحدث عمليات فحص Lint عند إنشاء رمز المصدر الحالي.
لمزيد من المعلومات عن تشغيل مهام 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>
على سبيل المثال، يمكنك إصدار الأمر التالي لفحص الملفات ضمن 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 للإبلاغ عن المشكلات غير الحرجة على مستوى أقل خطورة.
مستويات الخطورة هي:
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 ... />
المرفقة.
إعداد التحقّق من أداة Lint لملفات مصدر Kotlin وJava وXML
يمكنك إيقاف فحص الأخطاء في ملفات المصدر Kotlin وJava وXML في مربّع الحوار الإعدادات المفضّلة:
- اختَر ملف > الإعدادات (على نظام التشغيل Windows) أو Android Studio > الإعدادات المفضّلة (على نظام التشغيل macOS أو Linux).
- اختَر المحرِّر > عمليات الفحص.
- لإيقاف هذه الميزة، أزِل العلامة من المربّع بجانب ملف المصدر المناسب.
يمكنك ضبط هذه الإعدادات إما لبيئة التطوير المتكاملة (IDE) أو لمشاريع فردية من خلال اختيار الملف الشخصي المناسب.
ضبط ميزة التحقّق من الأخطاء في Java أو Kotlin
لإيقاف فحص Lint لصفّ أو طريقة معيّنة في مشروع Android،
أضِف التعليق التوضيحي @SuppressLint
إلى هذا الرمز.
يوضّح المثال التالي كيفية إيقاف فحص الأخطاء النحوية في 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
حتى تتعرّف أداة فحص الأخطاء على السمة:
namespace xmlns:tools="http://schemas.android.com/tools"
يوضّح المثال التالي كيفية إيقاف فحص الأخطاء النحوية للخطأ
UnusedResources
في عنصر <LinearLayout>
من ملف تنسيق XML. يتم توريث سمة ignore
إلى العناصر الفرعية للعنصر
الرئيسي الذي تمّ الإعلان عن السمة فيه. في هذا المثال، تم أيضًا إيقاف فحص الأخطاء النحوية للعنصر
child <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"
ضبط خيارات 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 } } ...
رائع
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 الرئيسي.
إنشاء مرجع لتحذيرات
ويمكنك أخذ لقطة من مجموعة التحذيرات الحالية لمشروعك، ثم استخدام تلك اللقطة كمرجع لعمليات الفحص المستقبلية بحيث يتم الإبلاغ عن المشاكل الجديدة فقط. تتيح لك لقطة القاعدة الأساسية بدء استخدام أداة lint لإيقاف عملية الإنشاء بدون الحاجة إلى الرجوع ومعالجة جميع المشاكل الحالية أولاً.
لإنشاء لقطة أساسية، عدِّل ملف build.gradle
لمشروعك على النحو التالي:
Kotlin
android { lint { baseline = file("lint-baseline.xml") } }
رائع
android { lintOptions { baseline file("lint-baseline.xml") } }
عند إضافة هذا السطر لأول مرة، يتم إنشاء ملف lint-baseline.xml
لتحديد خط الأساس. ومن ذلك الحين فصاعدًا، تقرأ الأدوات الملف فقط لتحديد الأساس. إذا أردت
إنشاء أساس جديد، احذف الملف يدويًا وشغِّل أداة التدقيق النحوي مرة أخرى لإعادة إنشائه.
بعد ذلك، عليك تشغيل 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") } }
رائع
android { lintOptions { checkOnly 'NewApi', 'HandlerLeak' baseline file("lint-baseline.xml") } }
في حال إضافة أي تحذيرات جديدة إلى قاعدة البيانات بعد إنشاء القاعدة الأساسية، يُدرج lint الأخطاء التي تم إدخالها حديثًا فقط.
تحذير بشأن قاعدة البيانات الأساسية
عندما يكون مقياس أساسي ساريًا، ستتلقّى تحذيرًا معلوماتيًا يُعلمك بأنّه تمّت فلترة مشكلة واحدة أو أكثر لأنّها مُدرَجة في المقياس الأساسي. يساعدك هذا التحذير في تذكيرك بأنّك أعددت مرجعًا أساسيًا وأنّك بحاجة إلى حلّ جميع المشاكل في وقت ما.
يتتبّع هذا التحذير المعلوماتي أيضًا المشاكل التي لم يعُد يتم الإبلاغ عنها. تتيح لك هذه المعلومات معرفة ما إذا كنت قد أصلحت المشاكل بالفعل، وبالتالي يمكنك اختياريًا إعادة إنشاء المتوقع لمنع ظهور الخطأ مرة أخرى بدون أن يتم اكتشافه.
ملاحظة: يتم تفعيل الخطوط المرجعية عند إجراء عمليات الفحص في الوضع المجمَّع في بيئة التطوير المتكاملة، ولكن يتم تجاهلها في عمليات التحقّق داخل المحرّر التي يتم تشغيلها في الخلفية عند تعديل ملف. وذلك لأن الخطوط المرجعية مصممة في الحالة التي تحتوي فيها قاعدة الأكواد على عدد كبير من التحذيرات الحالية، ولكنك تريد إصلاح المشكلات محليًا أثناء لمس الرمز.
إجراء عمليات الفحص يدويًا
لتنفيذ فحص الأخطاء البرمجية المُعدّة وعمليات فحص أخرى في IDE يدويًا، اختَر الرمز البرمجي > فحص الرمز البرمجي. تظهر نتائج الفحص في نافذة نتائج الفحص.
ضبط نطاق الفحص والملف الشخصي
اختَر الملفات التي تريد تحليلها (نطاق الفحص) وعمليات الفحص التي تريد إجراؤها (الملف الشخصي للفحص) على النحو التالي:
- في طريقة العرض Android، افتح مشروعك واختَر المشروع أو المجلد أو ملف السجلّ الذي تريد تحليله.
- من شريط القوائم، اختَر الرمز > فحص الرمز.
في مربّع الحوار تحديد نطاق الفحص، راجِع الإعدادات.
تختلف الخيارات التي تظهر في مربّع الحوار تحديد نطاق الفحص حسب ما إذا كنت قد اخترت مشروعًا أو مجلدًا أو ملفًا:
- عند اختيار مشروع أو ملف أو دليل واحد، يعرض مربّع الحوار تحديد نطاق الفحص مسار المشروع أو الملف أو الدليل الذي اخترته.
- عند اختيار أكثر من مشروع أو ملف أو دليل واحد، يعرض مربّع الحوار تحديد نطاق الفحص زر اختيار محدّدًا للملفات المحدّدة.
لتغيير ما تريد فحصه، اختَر أحد أزرار الاختيار الأخرى. اطّلِع على مربّع الحوار "تحديد نطاق الفحص" للحصول على وصف لجميع الحقول المحتملة في مربّع الحوار تحديد نطاق الفحص.
- ضمن ملف الفحص، اختَر الملف الذي تريد استخدامه.
انقر على حسنًا لبدء الفحص.
يعرض الشكل 4 نتائج فحص الأخطاء ونتائج فحص IDE الأخرى من عملية تشغيل فحص الرمز:
-
في لوحة نتائج الفحص، اطّلِع على نتائج الفحص من خلال توسيع واختيار فئات الأخطاء أو أنواعها أو مشاكلها.
تعرِض لوحة تقرير الفحص تقرير الفحص لفئة الخطأ أو نوعه أو المشكلة التي تم اختيارها في لوحة نتائج الفحص، كما تعرِض اسم الخطأ وموقعه. يعرض تقرير الفحص معلومات أخرى، مثل ملخّص المشكلة، حيثما ينطبق ذلك، لمساعدتك في حلّها.
في العرض التدرّجي للوحة نتائج الفحص، انقر بزر الماوس الأيمن على فئة أو نوع أو مشكلة لعرض قائمة السياقات.
استنادًا إلى السياق، يمكنك إجراء ما يلي:
- انتقِل إلى المصدر.
- استبعاد العناصر المحدّدة وتضمينها
- إخفاء المشاكل
- تعديل الإعدادات
- إدارة تنبيهات عمليات الفحص
- إعادة إجراء فحص
للاطّلاع على أوصاف أزرار شريط الأدوات وعناصر قائمة السياقات وحقول تقارير التفتيش، يُرجى الاطّلاع على نافذة أداة "نتائج الفحص".
استخدام نطاق مخصّص
استخدِم أحد النطاقات المخصّصة المقدَّمة في "استوديو Android" على النحو التالي:
- في مربّع الحوار تحديد نطاق الفحص، اختَر نطاق مخصّص.
انقر على قائمة النطاق المخصّص لعرض الخيارات:
- كل الأماكن: جميع الملفات
- ملفات المشروع: جميع الملفات في المشروع الحالي
- ملفات مصدر المشروع: ملفات المصدر في المشروع الحالي فقط
- ملفات إنتاج المشروع: ملفات الإنتاج في المشروع الحالي فقط.
- ملفات اختبار المشروع: ملفات الاختبار فقط في المشروع الحالي
- المشاريع القصيرة ووحدات التحكّم: تشمل هذه الميزة فقط الملفات القصيرة ووحدات التحكّم التي تكون مفتوحة في المشروع الحالي.
- الملفات التي تم عرضها مؤخرًا: تعرض هذه البطاقة الملفات التي تم عرضها مؤخرًا فقط في المشروع الحالي.
- الملف الحالي: الملف الحالي فقط في مشروعك الحالي يظهر عندما يكون لديك ملف أو مجلد محدَّد.
- الدليل المحدّد: المجلد الحالي فقط في مشروعك الحالي يظهر عندما يكون لديك مجلد محدّد.
- التسلسل الهرمي للصفوف: عند تحديد هذا الخيار والنقر على حسنًا، يظهر مربّع حوار يحتوي على جميع الصفوف في المشروع الحالي. في مربّع الحوار، استخدِم حقل البحث حسب الاسم للفلترة واختيار الفئات المطلوب فحصها. في حال عدم فلترة قائمة الصفوف، يفحص فحص الرموز البرمجية جميع الصفوف.
- انقُر على موافق.
إذا كان لديك نظام إدارة إصدارات مُعدّ للمشروع، تتوفّر أيضًا خيارات لتقييد البحث على الملفات التي تم تعديلها فقط.
إنشاء نطاق مخصّص
عندما تريد فحص مجموعة من الملفات والمجلدات التي لا يشملها أيّ من النطاقات المخصّصة المتاحة، يمكنك إنشاء نطاق مخصّص:
- في مربّع الحوار تحديد نطاق الفحص، اختَر نطاق مخصّص.
انقر على النقاط الثلاث بعد قائمة النطاق المخصّص.
يظهر مربّع حوار النطاقات.
- انقر على الزر في أعلى يمين مربّع الحوار لتحديد نطاق جديد.
- في قائمة إضافة نطاق التي تظهر، اختَر محلي.
يتم استخدام النطاقَين المحلي والمشترَك داخل المشروع لاستخدام ميزة فحص الرمز. يمكن أيضًا استخدام نطاق مشترَك مع ميزات المشروع الأخرى التي تحتوي على حقل نطاق. على سبيل المثال، عند النقر على تعديل الإعدادات لتغيير إعدادات العثور على حالات الاستخدام، يحتوي مربّع الحوار الناتج على حقل النطاق حيث يمكنك اختيار نطاق مشترَك.
- أدخِل اسمًا للنطاق وانقر على حسنًا.
تتم تعبئة اللوحة اليمنى من مربّع حوار النطاقات بخيارات تتيح لك تحديد النطاق المخصّص.
- من القائمة، اختَر المشروع.
ستظهر قائمة بالمشاريع المتاحة.
ملاحظة: يمكنك إنشاء النطاق المخصّص للمشاريع أو الحِزم. خطوات الإعداد هي نفسها.
وسِّع مجلدات المشروع، واختَر ما تريد إضافته إلى النطاق المخصّص، واختَر ما إذا كنت تريد تضمينه أو استبعاده.
- تضمين: يمكنك تضمين هذا المجلد وملفاته، ولكن لا يمكنك تضمين أي من مجلداته الفرعية.
- التضمين بشكل متكرر: يمكنك تضمين هذا المجلد وملفاته بالإضافة إلى مجلداته الفرعية وملفاته.
- استبعاد: استبعِد هذا المجلد وملفاته، ولكن لا تستبعِد أيًا من مجلداته الفرعية.
- استبعاد بشكل متكرر: استبعاد هذا المجلد وملفاته ومجلداته الفرعية وملفاتها الفرعية.
يوضّح الشكل 10 أنّه تم تضمين المجلد main، وأنّه تم تضمين المجلدَين java وres بشكل متكرّر. يشير اللون الأزرق إلى مجلد مضمّن جزئيًا، ويشير اللون الأخضر إلى المجلدات والملفات المضمّنة بشكل متكرّر.
- إذا اخترت مجلد java وانقرت على استبعاد بشكل متكرر، ستتم إزالة التمييز الأخضر في مجلد java وجميع المجلدات والملفات ضمنه.
- إذا اخترت الملف MainActivity.kt المميّز باللون الأخضر ثم نقرت على استبعاد، لن يبقى MainActivity.kt مميّزًا باللون الأخضر، ولكن سيظل كل شيء آخر ضمن مجلد java مميّزًا باللون الأخضر.
- انقر على موافق. يظهر النطاق المخصّص في أسفل القائمة.
مراجعة الملفات الشخصية للفحص وتعديلها
يتضمّن Android Studio مجموعة من ملفات التفتيش الأخرى وملفّات التفتيش التي يتم تعديلها من خلال updatesAndroid. يمكنك استخدام هذه الملفات الشخصية كما هي أو تعديل أسمائها وأوصافها ودرجة الخطورة ونطاقاتها. يمكنك أيضًا تفعيل مجموعات كاملة من الملفات التجارية أو الملفات التجارية الفردية وإيقافها ضمن مجموعة.
للوصول إلى إعدادات عمليات الفحص:
- انقر على ملف > الإعدادات. (على نظام التشغيل Windows) أو Android Studio > الإعدادات المفضّلة (على نظام التشغيل macOS أو Linux).
- اختَر المحرِّر > عمليات الفحص.
-
تعرِض لوحة عمليات الفحص قائمة بعمليات الفحص المتاحة و أوصافها.
اختَر قائمة الملف الشخصي للتبديل بين عمليات فحص الملف التلقائي (استوديو Android) الملف التلقائي للمشروع (المشروع النشط).
لمزيد من المعلومات، يمكنك الاطّلاع على صفحة إدارة الملفات الشخصية من IntelliJ.
في قائمة عمليات الفحص في اللوحة اليمنى، اختَر فئة ملف شخصي ذات مستوى أعلى أو وسِّع مجموعة واختَر ملفًا شخصيًا معيَّنًا.
عند اختيار فئة ملف تجاري، يمكنك تعديل جميع عمليات الفحص في تلك الفئة كفحص واحد.
- اختَر قائمة إظهار إجراءات المخطط لنسخ عمليات الفحص وإعادة تسميتها وإضافة أوصاف إليها وتصديرها واستيرادها.
- عند الانتهاء، انقر على حسنًا.