بالإضافة إلى اختبارات الإنشاء للتأكّد من أنّ تطبيقك يستوفي متطلباته الوظيفية، من المهم أيضًا تشغيل الرمز البرمجي من خلال أداة lint للمساعدة في التأكّد من عدم توفّر أي مشاكل برمجية في الرمز. تساعد أداة lint في العثور على الرموز البرمجية ذات البنية السيئة التي يمكن أن تؤثّر في موثوقية تطبيقات Android وفعاليتها وتصعِّب الحفاظ على رمزك البرمجي. ننصحك بشدة بتصحيح أي أخطاء يرصدها مدقّق الأخطاء قبل نشر تطبيقك.
على سبيل المثال، إذا كانت ملفات موارد XML تحتوي على مساحات أسماء غير مستخدَمة، سيؤدي ذلك إلى استخدام مساحة وتخزين وتطلب معالجة غير ضرورية. قد تؤدي المشاكل الهيكلية الأخرى، مثل استخدام عناصر متوقّفة نهائيًا أو طلبات بيانات من واجهة برمجة التطبيقات غير متوافقة مع إصدارات واجهة برمجة التطبيقات المستهدَفة، إلى تعذُّر تشغيل الرمز البرمجي بشكل صحيح. يمكن أن يساعدك Lint في حلّ هذه المشاكل.
لتحسين أداء فحص الأخطاء، يمكنك أيضًا إضافة تعليقات توضيحية إلى الرمز البرمجي.
نظرة عامة
يوفّر "استوديو Android" أداة فحص الرموز البرمجية تُسمى lint التي يمكنها مساعدتك في تحديد المشاكل المتعلّقة بالجودة الهيكلية لرمزك البرمجي وتصحيحها بدون الحاجة إلى تنفيذ التطبيق أو كتابة حالات الاختبار. يتم تسجيل كل مشكلة ترصدها الأداة مع رسالة وصفية ومستوى خطورة حتى تتمكّن من تحديد أولويات التحسينات العميقة التي يجب إجراؤها. يمكنك أيضًا خفض مستوى خطورة مشكلة ما بهدف تجاهُل المشاكل غير ذات الصلة بمشروعك أو رفع مستوى الخطورة بهدف تسليط الضوء على مشاكل معيّنة.
تتحقّق أداة lint من ملفات مصدر مشروع Android بحثًا عن الأخطاء المحتملة ومحاولة تحسينها من حيث الدقة والأمان والأداء وسهولة الاستخدام وتسهيل الاستخدام والنشر على مستوى العالم. عند استخدام Android Studio، يتم تشغيل عمليات فحص أداة lint وIDE التي تم ضبطها عند إنشاء تطبيقك. ومع ذلك، يمكنك تشغيل عمليات الفحص يدويًا أو تشغيل أداة lint من سطر الأوامر، كما هو موضّح في هذه الصفحة.
تتحقّق أداة lint المضمّنة من الرمز البرمجي أثناء استخدام "استوديو Android". يمكنك عرض التحذيرات والأخطاء بطريقتَين:
- كنص نافذة منبثقة في نافذة المحرِّر عندما يعثر lint على مشكلة، يُبرز الرمز البرمجي الذي يتضمّن المشكلة باللون الأصفر. بالنسبة إلى المشاكل الأكثر خطورة، يتم وضع خط تحت الرمز البرمجي باللون الأحمر.
- في نافذة نتائج الفحص الخاصة بميزة "إزالة الأخطاء"، عند النقر على الرمز > فحص الرمز
ملاحظة: عند تجميع الرمز البرمجي في "استوديو Android"، يتم تنفيذ عمليات فحص إضافية للرمز البرمجي في IntelliJ لتبسيط عملية مراجعة الرمز البرمجي. يجب تثبيت أحدث إصدار من Android Studio قدر الإمكان لضمان توفّر أحدث قواعد وعمليات فحص الأخطاء.
يوضّح الشكل 1 كيفية معالجة أداة lint لملفات مصدر التطبيق.
- ملفات مصدر التطبيق
- تتكون الملفات المصدر من ملفات تشكل مشروع Android، بما في ذلك ملفات Kotlin وJava وملفّات XML والرموز وملفات ضبط ProGuard.
- ملف
lint.xml
- ملفّ إعدادات يمكنك استخدامه لتحديد أيّ عمليات تحقّق من الأخطاء النحوية تريد استبعادها وتخصيص مستويات خطورة المشاكل
- أداة إزالة الأخطاء
- أداة فحص الرموز الثابتة التي يمكنك تشغيلها على مشروع Android من سطر الأوامر أو في IDE Android Studio تبحث أداة lint عن مشاكل في بنية الرموز البرمجية قد تؤثر في جودة تطبيق Android وأدائه.
- نتائج التحقّق من الأخطاء البرمجية
- يمكنك عرض النتائج من أداة lint إما في وحدة التحكّم أو نافذة نتائج الفحص
في Android Studio. في حال تشغيل
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 Studio أو 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
.
ضبط أداة التدقيق لتجاهل التحذيرات
عند إجراء فحص باستخدام أداة التدقيق التلقائي، تتحقّق الأداة تلقائيًا من جميع المشاكل التي تتيحها أداة التدقيق التلقائي. يمكنك أيضًا حصر المشاكل التي تريد أن يفحصها مدقّق الأخطاء، ويمكنك تحديد مستويات خطورة المشاكل. على سبيل المثال، يمكنك إيقاف فحص الأخطاء النحوية لمشاكل معيّنة لا تكون ذات صلة بمشروعك، ويمكنك ضبط أداة فحص الأخطاء النحوية للإبلاغ عن المشاكل غير الملحّة عند مستوى خطورة أقل.
في ما يلي مستويات الخطورة:
enable
-
disable
أوignore
informational
warning
error
fatal
يمكنك ضبط فحص الأخطاء النحوية لمستويات مختلفة:
- على مستوى المشروع بأكمله
- وحدة المشروع
- وحدة الإنتاج
- وحدة الاختبار
- فتح الملفات
- التسلسل الهرمي للفئة
- نطاقات نظام التحكّم في الإصدارات (VCS)
ضبط ملف التدقيق
يمكنك تحديد إعداداتك المفضّلة لفحص الأخطاء في الملف 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 المصدر
يمكنك إيقاف فحص الأخطاء في ملفات رمز Kotlin وJava وXML المصدر في مربّع الحوار الإعدادات المفضّلة:
- اختَر ملف > الإعدادات (على نظام التشغيل Windows) أو Android Studio > الإعدادات المفضّلة (على نظام التشغيل macOS أو Linux).
- اختَر المحرِّر > عمليات الفحص.
- لإيقاف هذه الميزة، أزِل العلامة من المربّع بجانب ملف المصدر المناسب.
يمكنك ضبط هذه الإعدادات إما لبيئة تطوير البرامج المتكاملة أو للمشاريع الفردية من خلال اختيار الملف الشخصي المناسب.
ضبط ميزة التحقّق من الأخطاء في 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);
ويمكن تنفيذ الإجراء نفسه على أيّ عنصر قابل للتجميع. يوضّح مقتطف الرمز البرمجي التالي كيفية إيقاف عمليات التحقّق من 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
من خلال العناصر الفرعية للعنصر
الرئيسي الذي تمّ الإعلان عن السمة فيه. في هذا المثال، تم أيضًا إيقاف فحص الأخطاء النحوية للعنصر
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، ولكن يتم تجاهلها للتحقّقات داخل المحرِّر التي يتم تشغيلها في الخلفية عند تعديل ملف. ويعود السبب في ذلك إلى أنّه يُقصد استخدام خطوط الأساس في الحالات التي يتضمّن فيها رمز المصدر عددًا كبيرًا من التحذيرات الحالية، ولكنّك تريد إصلاح المشاكل على الجهاز أثناء تعديل الرمز.
إجراء عمليات الفحص يدويًا
لتنفيذ فحص الأخطاء البرمجية المُعدّة وعمليات فحص أخرى في IDE يدويًا، اختَر الرمز البرمجي > فحص الرمز البرمجي. تظهر نتائج الفحص في نافذة نتائج الفحص.
ضبط نطاق الفحص والملف الشخصي
اختَر الملفات التي تريد تحليلها (نطاق الفحص) والتفتيشات التي تريد إجراؤها (ملف الفحص) على النحو التالي:
- في طريقة العرض Android، افتح مشروعك واختَر المشروع أو المجلد أو ملف السجلّ الذي تريد تحليله.
- من شريط القوائم، اختَر الرمز > فحص الرمز.
في مربّع الحوار تحديد نطاق الفحص، راجِع الإعدادات.
تختلف الخيارات التي تظهر في مربّع الحوار تحديد نطاق الفحص، وذلك تبعًا لما إذا كنت قد اخترت مشروعًا أو مجلدًا أو ملفًا:
- عند اختيار مشروع أو ملف أو دليل واحد، يعرض مربّع الحوار تحديد نطاق الفحص مسار المشروع أو الملف أو الدليل الذي اخترته.
- عند اختيار أكثر من مشروع أو ملف أو دليل واحد، يعرض مربّع الحوار تحديد نطاق الفحص زر اختيار محدّدًا للملفات المحدّدة.
لتغيير ما تريد فحصه، اختَر أحد أزرار الاختيار الأخرى. اطّلِع على مربّع الحوار "تحديد نطاق الفحص" للحصول على وصف لجميع الحقول المحتملة في مربّع الحوار تحديد نطاق الفحص.
- ضمن ملف الفحص، اختَر الملف الذي تريد استخدامه.
انقر على حسنًا لبدء الفحص.
يعرض الشكل 4 نتائج فحص الأخطاء ونتائج فحص IDE الأخرى من عملية تشغيل فحص الرمز البرمجي:
-
في لوحة نتائج الفحص، اطّلِع على نتائج الفحص من خلال توسيع الفئات أو الأنواع أو المشاكل المتعلّقة بالأخطاء واختيارها.
تعرِض لوحة تقرير الفحص تقرير الفحص لفئة الخطأ أو نوعه أو المشكلة التي تم اختيارها في لوحة نتائج الفحص، كما تعرِض اسم الخطأ وموقعه. يعرض تقرير الفحص معلومات أخرى، مثل ملخّص المشكلة، حيثما ينطبق ذلك، لمساعدتك في حلّها.
في طريقة العرض الشجرية للوحة نتائج الفحص، انقر بزر الماوس الأيمن على فئة أو نوع أو مشكلة ل عرض قائمة السياقات.
استنادًا إلى السياق، يمكنك إجراء ما يلي:
- انتقِل إلى المصدر.
- استبعاد العناصر المحدّدة وتضمينها
- إخفاء المشاكل
- تعديل الإعدادات
- إدارة تنبيهات عمليات الفحص
- إعادة إجراء فحص
للاطّلاع على أوصاف أزرار شريط الأدوات وعناصر قائمة السياقات وحقول تقارير التفتيش، يُرجى الاطّلاع على نافذة أداة "نتائج الفحص".
استخدام نطاق مخصّص
استخدِم أحد النطاقات المخصّصة المقدَّمة في "استوديو Android" على النحو التالي:
- في مربّع الحوار تحديد نطاق الفحص، اختَر نطاق مخصّص.
انقر على قائمة النطاق المخصّص لعرض الخيارات:
- كل الأماكن: كل الملفات
- ملفات المشروع: جميع الملفات في المشروع الحالي
- ملفات مصدر المشروع: ملفات المصدر في المشروع الحالي فقط.
- ملفات الإنتاج في المشروع: ملفات الإنتاج فقط في المشروع الحالي
- ملفات اختبار المشروع: ملفات الاختبار فقط في المشروع الحالي
- المشاريع القصيرة ووحدات التحكّم: تشمل هذه الميزة فقط ملفات المشاريع القصيرة ووحدات التحكّم التي تكون مفتوحة في المشروع الحالي.
- الملفات التي تم الاطّلاع عليها مؤخرًا: تعرض هذه البطاقة الملفات التي تم الاطّلاع عليها مؤخرًا في المشروع الحالي فقط.
- الملف الحالي: الملف الحالي فقط في مشروعك الحالي يظهر عندما يكون لديك ملف أو مجلد محدَّد.
- الدليل المحدّد: المجلد الحالي فقط في مشروعك الحالي يظهر عندما يكون لديك مجلد محدّد.
- التسلسل الهرمي للفئة: عند تحديد هذا الخيار والنقر على حسنًا، يظهر مربّع حوار يتضمّن جميع الفئات في المشروع الحالي. في مربّع الحوار، استخدِم حقل البحث حسب الاسم للفلترة واختيار الفئات المطلوب فحصها. في حال عدم فلترة قائمة الصفوف، يفحص فحص الرموز البرمجية جميع الصفوف.
- انقُر على موافق.
إذا كان لديك نظام إدارة إصدارات مُعدّ للمشروع، تتوفّر أيضًا خيارات لتقييد البحث على الملفات التي تم تعديلها فقط.
إنشاء نطاق مخصّص
عندما تريد فحص مجموعة من الملفات والمجلدات التي لا يشملها أيّ من النطاقات المخصّصة المتاحة، يمكنك إنشاء نطاق مخصّص:
- في مربّع الحوار تحديد نطاق الفحص، اختَر نطاق مخصّص.
انقر على النقاط الثلاث بعد قائمة النطاق المخصّص.
يظهر مربّع حوار النطاقات.
- انقر على الزر في أعلى يمين مربّع الحوار لتحديد نطاق جديد.
- في قائمة إضافة نطاق التي تظهر، اختَر الجهاز فقط.
يتم استخدام النطاقَين المحلي والمشترَك داخل المشروع لاستخدام ميزة فحص الرمز. يمكن أيضًا استخدام نطاق مشترَك مع ميزات المشروع الأخرى التي تحتوي على حقل نطاق. على سبيل المثال، عند النقر على تعديل الإعدادات لتغيير إعدادات العثور على حالات الاستخدام، يحتوي مربّع الحوار الناتج على حقل النطاق حيث يمكنك اختيار نطاق مشترَك.
- أدخِل اسمًا للنطاق وانقر على حسنًا.
تتم تعبئة اللوحة اليمنى من مربّع حوار النطاقات بخيارات تتيح لك تحديد النطاق المخصّص.
- من القائمة، اختَر المشروع.
ستظهر قائمة بالمشاريع المتاحة.
ملاحظة: يمكنك إنشاء النطاق المخصّص للمشاريع أو الحِزم. خطوات الإعداد هي نفسها.
وسِّع مجلدات المشروع، واختَر ما تريد إضافته إلى النطاق المخصّص، واختَر ما إذا كنت تريد تضمينه أو استبعاده.
- تضمين: يمكنك تضمين هذا المجلد وملفاته، ولكن لا يمكنك تضمين أي من مجلداته الفرعية.
- التضمين بشكل متكرر: يمكنك تضمين هذا المجلد وملفاته بالإضافة إلى المجلدات الفرعية والملفات المضمّنة فيها.
- استبعاد: استبعِد هذا المجلد وملفاته، ولكن لا تستبعِد أيًا من مجلداته الفرعية.
- استبعاد بشكل متكرر: استبعاد هذا المجلد وملفاته ومجلداته الفرعية وملفاتها الفرعية.
يوضّح الشكل 10 أنّه تم تضمين المجلد main، وأنّه تم تضمين المجلدَين java وres بشكل متكرّر. يشير اللون الأزرق إلى مجلد مضمّن جزئيًا، ويشير اللون الأخضر إلى المجلدات والملفات المضمّنة بشكل متكرّر.
- إذا اخترت مجلد java وانقرت على استبعاد بشكل متكرر، ستتم إزالة التمييز الأخضر في مجلد java وجميع المجلدات والملفات ضمنه.
- إذا اخترت الملف MainActivity.kt المميّز باللون الأخضر ثم نقرت على استبعاد، لن يبقى MainActivity.kt مميّزًا باللون الأخضر، ولكن سيظل كل شيء آخر ضمن مجلد java مميّزًا باللون الأخضر.
- انقر على موافق. يظهر النطاق المخصّص في أسفل القائمة.
مراجعة الملفات الشخصية للفحص وتعديلها
يتضمّن Android Studio مجموعة من الملفات الشخصية الخاصة بفحص الأخطاء وعمليات الفحص الأخرى التي يتم تعديلها من خلال تحديثات Android. يمكنك استخدام هذه الملفات الشخصية كما هي أو تعديل أسمائها وأوصافها وشدتها و نطاقاتها. يمكنك أيضًا تفعيل مجموعات كاملة من الملفات التجارية أو الملفات التجارية الفردية وإيقافها ضمن مجموعة.
للوصول إلى إعدادات عمليات الفحص:
- انقر على ملف > الإعدادات. (على نظام التشغيل Windows) أو Android Studio > الإعدادات المفضّلة (على نظام التشغيل macOS أو Linux).
- اختَر المحرِّر > عمليات الفحص.
-
تعرِض لوحة عمليات الفحص قائمة بعمليات الفحص المتاحة و أوصافها.
اختَر قائمة الملف الشخصي للتبديل بين عمليات فحص الملف التلقائي (استوديو Android) الملف التلقائي للمشروع (المشروع النشط).
لمزيد من المعلومات، يُرجى الاطّلاع على صفحة IntelliJ إدارة الملفات الشخصية.
في قائمة عمليات الفحص في اللوحة اليمنى، اختَر فئة ملف شخصي من المستوى الأعلى أو وسِّع مجموعة واختَر ملفًا شخصيًا محدّدًا.
عند اختيار فئة ملف تجاري، يمكنك تعديل جميع عمليات الفحص في تلك الفئة كعملية فحص واحدة.
- اختَر قائمة عرض إجراءات المخطط لنسخ عمليات الفحص أو إعادة تسميتها أو إضافة أوصاف إليها أو تصديرها أو استيرادها.
- عند الانتهاء، انقر على حسنًا.