लिंट जांच की मदद से अपने कोड को बेहतर बनाना

बिल्डिंग टेस्ट के अलावा ज़रूरी शर्तों को पूरा करने के लिए ज़रूरी है कि आपका ऐप्लिकेशन यह ज़रूरी है कि आप कोड को लिंट टूल की मदद से चलाएं, ताकि यह पक्का हो सके कि आपके कोड में कोई स्ट्रक्चरल (स्ट्रक्चरल) नहीं है समस्याएं. लिंट टूल ऐसे खराब स्ट्रक्चर का पता लगाने में मदद करता है जो और आपके कोड को बनाए रखना मुश्किल होता है. हमारा सुझाव है कि आप ऐसी किसी भी गड़बड़ी को ठीक करें जिसका पता लिंट ने लगाया है उसे पब्लिश करने से पहले.

उदाहरण के लिए, अगर आपकी एक्सएमएल रिसॉर्स फ़ाइलों में इस्तेमाल नहीं किए गए नेमस्पेस हैं, तो यह जगह लेती है और जिसे प्रोसेस करना ज़रूरी न हो. स्ट्रक्चर से जुड़ी अन्य समस्याएं, जैसे कि काम न करने वाले एलिमेंट या एपीआई कॉल का इस्तेमाल करना जिनका इस्तेमाल टारगेट एपीआई वर्शन के साथ नहीं किया जाता है, उनकी वजह से शायद कोड ठीक से काम न करे. लिंट इन समस्याओं को ठीक करने में आपकी मदद कर सकता है.

लिंटिंग की परफ़ॉर्मेंस को बेहतर बनाने के लिए, अपने कोड में एनोटेशन जोड़ें.

खास जानकारी

Android Studio, कोड स्कैन करने का एक टूल उपलब्ध कराता है. इसे lint कहा जाता है जो आपके कोड की संरचना से जुड़ी क्वालिटी की समस्याओं को पहचानने और उन्हें ठीक करने में आपकी मदद कर सकती है इसके लिए, आपको ऐप्लिकेशन एक्ज़ीक्यूट करने या टेस्ट केस लिखने की ज़रूरत नहीं पड़ेगी. टूल से मिली हर एक समस्या की एक ब्यौरा मैसेज और गंभीरता के स्तर के साथ रिपोर्ट किया जाता है, ताकि आप जिसमें सुधार करना ज़रूरी है. आप समस्या की गंभीरता का स्तर कम करके भी ऐसी समस्याओं को अनदेखा करें जो आपके प्रोजेक्ट के लिए काम की नहीं हैं या गंभीरता के लेवल को इतना बढ़ाएं खास समस्याओं को हाइलाइट कर सकता है.

लिंट टूल संभावित गड़बड़ियों का पता लगाने के लिए आपके Android प्रोजेक्ट की सोर्स फ़ाइलों की जांच करता है और सुधार, सुरक्षा, परफ़ॉर्मेंस, उपयोगिता के लिए ऑप्टिमाइज़ेशन सुधार और अंतरराष्ट्रीय स्तर पर अपने प्रॉडक्ट उपलब्ध कराना. Android Studio का इस्तेमाल करते समय, ऐप्लिकेशन बनाने के बाद, कॉन्फ़िगर की गई लिंट और IDE की जांच की जाती है. हालांकि, मैन्युअल तरीके से जांच की जा सकती है या कमांड लाइन से लिंट चलाएं, जैसा कि इस पेज पर बताया गया है.

जब आप इस्तेमाल कर रहे हों, तब बिल्टइन लिंट टूल आपके कोड की जांच करता है Android Studio. चेतावनियां और गड़बड़ियां देखने के दो तरीके हैं:

  • एडिटर विंडो में पॉप-अप टेक्स्ट के तौर पर. जब लिंट को कोई समस्या मिलती है, तो वह हाइलाइट कर देता है समस्या वाले कोड को पीले रंग में दिखाया जाता है. ज़्यादा गंभीर समस्याओं के लिए, यह कोड को लाल रंग से अंडरलाइन करता है.
  • जब आप कोड > पर क्लिक करते हैं, तो लिंट में जांच के नतीजे विंडो में कोड की जांच करें.

ध्यान दें: जब Android Studio में आपका कोड कंपाइल किया जाता है, तो IntallyJ कोड की जांच की जाती है, ताकि कोड को आसान बनाया जा सके समीक्षा करें.

पहली इमेज में दिखाया गया है कि लिंट टूल, ऐप्लिकेशन सोर्स फ़ाइलों को कैसे प्रोसेस करता है.

लिंट टूल के साथ कोड स्कैनिंग का वर्कफ़्लो.
पहली इमेज. लिंट के साथ कोड स्कैनिंग का वर्कफ़्लो टूल.
ऐप्लिकेशन सोर्स की फ़ाइलें
सोर्स फ़ाइलों में ऐसी फ़ाइलें होती हैं जो आपके Android प्रोजेक्ट का हिस्सा बनाती हैं. इनमें Kotlin, Java, और एक्सएमएल फ़ाइलें, आइकॉन, और ProGuard कॉन्फ़िगरेशन फ़ाइलें.
lint.xml फ़ाइल
ऐसी कॉन्फ़िगरेशन फ़ाइल जिसका इस्तेमाल करके, किसी भी लिंट की जांच को तय किया जा सकता है बाहर रखें और समस्या की गंभीरता के लेवल को पसंद के मुताबिक बनाएं.
लिंट टूल
एक स्टैटिक कोड स्कैनिंग टूल, जिसे अपने Android प्रोजेक्ट पर या तो कमांड लाइन या in Android Studio. लिंट यह टूल उन स्ट्रक्चरल कोड से जुड़ी समस्याओं की जांच करता है जो आपके ऐप्लिकेशन की क्वालिटी और परफ़ॉर्मेंस पर असर डाल सकती हैं Android ऐप्लिकेशन.
लिंट की जांच के नतीजे
लिंट के नतीजों को कंसोल या इंस्पेक्शन के नतीजों में देखा जा सकता है विंडो खोलें. अगर कमांड लाइन से lint को चलाया जाता है, तो नतीजे build/ फ़ोल्डर में लिखा गया है. और जानकारी के लिए, मैन्युअल तरीके से जांच करना.

कमांड लाइन से लिंट चलाएं

अगर Android Studio या Gradle का इस्तेमाल किया जा रहा है, तो इस तरीके से अपने प्रोजेक्ट के लिए lint टास्क शुरू करने के लिए, Gradle रैपर का इस्तेमाल करें अपने प्रोजेक्ट की रूट डायरेक्ट्री से, इनमें से कोई एक निर्देश डालें:

  • Windows पर:
    gradlew lint
    
  • Linux या macOS पर:
    ./gradlew lint
    

आपको इससे मिलता-जुलता आउटपुट दिखेगा:

> Task :app:lintDebug
Wrote HTML report to file:<path-to-project>/app/build/reports/lint-results-debug.html

जब लिंट टूल जांच पूरी कर लेता है, तो यह एक्सएमएल और एचटीएमएल के लिए पाथ उपलब्ध कराता है लिंट रिपोर्ट के अलग-अलग वर्शन. इसके बाद, एचटीएमएल रिपोर्ट पर जाएं और उसे अपने ब्राउज़र में खोलें. जैसा कि दूसरी इमेज में दिखाया गया है.

एचटीएमएल लिंट रिपोर्ट का सैंपल
दूसरी इमेज. एचटीएमएल लिंट रिपोर्ट का सैंपल.

अगर आपके प्रोजेक्ट में build शामिल है वैरिएंट के लिए, लिंट सिर्फ़ डिफ़ॉल्ट वैरिएंट की जांच करता है. अगर आपको किसी दूसरे डिवाइस पर लिंट चलाना है, वैरिएंट के तौर पर, आपको वैरिएंट के नाम को कैपिटल में लिखना होगा. साथ ही, उसके शुरू में lint लगाना होगा.

./gradlew lintRelease

दौड़ने के बारे में ज़्यादा जानने के लिए कमांड लाइन से टास्क को ग्रेड करें, कमांड लाइन से अपना ऐप्लिकेशन बनाएं पढ़ें.

स्टैंडअलोन टूल का इस्तेमाल करके लिंट चलाएं

अगर Android Studio या Gradle का इस्तेमाल नहीं किया जा रहा है, तो Android SDK टूल के कमांड-लाइन टूल इंस्टॉल करने का तरीका का इस्तेमाल किया जाता है. लिंट टूल का पता लगाना android_sdk/cmdline-tools/version/bin/lint पर है.

ध्यान दें: अगर Gradle प्रोजेक्ट पर स्टैंडअलोन टूल चलाने की कोशिश की जाती है, तो यह कोई गड़बड़ी हुई है. Gradle प्रोजेक्ट पर लिंट चलाने के लिए, आपको हमेशा gradle lint (Windows पर) या ./gradlew lint (macOS या Linux पर) का इस्तेमाल करना चाहिए.

किसी प्रोजेक्ट डायरेक्ट्री में मौजूद फ़ाइलों की सूची के साथ लिंट चलाने के लिए, नीचे दिए गए कमांड का इस्तेमाल करें:

lint [flags] <project directory>

उदाहरण के लिए, आप myproject डायरेक्ट्री और उसकी सबडायरेक्ट्री. समस्या का आईडी MissingPrefix लिंट को सिर्फ़ उन एक्सएमएल एट्रिब्यूट को स्कैन करने के लिए कहता है जिनमें Android नेमस्पेस प्रीफ़िक्स नहीं है.

lint --check MissingPrefix myproject 

टूल के साथ काम करने वाले फ़्लैग और कमांड लाइन आर्ग्युमेंट की पूरी सूची देखने के लिए, निम्न आदेश:

lint --help

नीचे दिया गया उदाहरण कंसोल आउटपुट को तब दिखाता है, जब लिंट कमांड को अर्थक्वेक नाम का प्रोजेक्ट:

$ 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

अलग-अलग लेवल के लिए, लिंट की जांच को कॉन्फ़िगर किया जा सकता है:

  • दुनिया भर में (पूरा प्रोजेक्ट)
  • प्रोजेक्ट मॉड्यूल
  • प्रोडक्शन मॉड्यूल
  • टेस्ट मॉड्यूल
  • फ़ाइलें खोलो
  • क्लास की हैरारकी
  • वर्शन कंट्रोल सिस्टम (वीसीएस) के दायरे

लिंट फ़ाइल को कॉन्फ़िगर करना

आप lint.xml फ़ाइल में लिंट की जांच करने की प्राथमिकताएं तय कर सकते हैं. अगर आपको इस फ़ाइल को मैन्युअल तरीके से बना रहे हैं, तो इसे अपने Android प्रोजेक्ट की रूट डायरेक्ट्री में रखें.

lint.xml फ़ाइल में बंद होने वाला <lint> पैरंट टैग होता है एक या ज़्यादा चाइल्ड <issue> एलिमेंट मौजूद हैं. लिंट किसी यूनीक प्रॉडक्ट के बारे में बताता है हर <issue> के लिए id विशेषता मान:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- list of issues to configure -->
</lint>

किसी समस्या की गंभीरता का स्तर बदलने या समस्या की लिंट जांच को बंद करने के लिए, <issue> टैग में गंभीरता एट्रिब्यूट सेट करें.

सलाह: लिंट के साथ काम करने वाली समस्याओं और उनसे जुड़ी पूरी सूची देखने के लिए समस्या आईडी के लिए, 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, और एक्सएमएल सोर्स फ़ाइलों के लिए लिंट की जांच कॉन्फ़िगर करें

आपके पास Kotlin, Java, और एक्सएमएल सोर्स फ़ाइलों के लिए लिंट की जांच बंद करने का विकल्प है प्राथमिकताएं डायलॉग में:

  1. फ़ाइल > चुनें सेटिंग (Windows पर) या Android Studio > सेटिंग (macOS या Linux पर).
  2. एडिटर > चुनें जांच करना.
  3. बंद करने के लिए, सही सोर्स फ़ाइल से चुने हुए का निशान हटाएं.

इन्हें आईडीई या अलग-अलग प्रोजेक्ट के लिए सही प्रोफ़ाइल चुनकर.

Java या Kotlin में लिंट की जांच कॉन्फ़िगर करें

अपने Android प्रोजेक्ट में किसी क्लास या तरीके के लिए खास तौर पर लिंट की जांच बंद करने के लिए, उस कोड में @SuppressLint एनोटेशन जोड़ें.

नीचे दिए गए उदाहरण में, NewApi के लिए लिंट की जांच बंद करने का तरीका बताया गया है onCreate तरीके में समस्या. लिंट टूल इस क्लास के अन्य तरीकों में NewApi समस्या.

Kotlin

@SuppressLint("NewApi")
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main)

Java

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

ऐसा किसी भी Composable पर पूरा किया जा सकता है. नीचे दिया गया कोड स्निपेट दिखाता है कि ऑफ़ NewApi चेक करें.

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")

किसी भी कंपोज़ेबल फ़ंक्शन पर लिंट की जांच रोकने के लिए, इसी एनोटेशन का इस्तेमाल किया जा सकता है.

एक्सएमएल में लिंट की जांच कॉन्फ़िगर करें

किसी खास ऑब्जेक्ट के लिए लिंट की जांच बंद करने के लिए, tools:ignore एट्रिब्यूट का इस्तेमाल करें सेक्शन में भी जोड़ा जा सकता है. lint.xml फ़ाइल में यह नेमस्पेस वैल्यू डालें इसलिए लिंट टूल एट्रिब्यूट को पहचानता है:

namespace xmlns:tools="http://schemas.android.com/tools"

नीचे दिए गए उदाहरण में दिखाया गया है कि आप एक्सएमएल के <LinearLayout> एलिमेंट में UnusedResources समस्या लेआउट फ़ाइल शामिल है. 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"

एक्सएमएल एलिमेंट में लिंट से जुड़ी सभी समस्याओं की जांच रोकने के लिए, all का इस्तेमाल करें कीवर्ड:

tools:ignore="all"

Gradle के साथ लिंट के विकल्प कॉन्फ़िगर करें

Gradle के लिए Android प्लग इन आपको कुछ लिंट विकल्पों को कॉन्फ़िगर करने देता है, जैसे कि का उपयोग करके कौन सी जांच करनी है या कौन सी अनदेखा करनी है आपके मॉड्यूल-लेवल में 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 में अक्षम कर देता है.

चेतावनियों की बेसलाइन बनाएं

अपने प्रोजेक्ट की मौजूदा चेतावनियों का स्नैपशॉट लें. इसके बाद, स्नैपशॉट का इस्तेमाल करें को आने वाले समय में होने वाली जांच के लिए एक बेसलाइन के तौर पर चलाया जाता है, ताकि सिर्फ़ नई समस्याओं की रिपोर्ट की जा सके. बेसलाइन स्नैपशॉट की मदद से, बिल्ड को फ़ेल करने के लिए लिंट का इस्तेमाल किया जा सकता है. ताकि आप सबसे पहले सभी मौजूदा समस्याओं को ठीक कर सकें.

बेसलाइन स्नैपशॉट बनाने के लिए, अपने प्रोजेक्ट की build.gradle फ़ाइल में इस तरह से बदलाव करें:

Kotlin

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

ग्रूवी

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

जब पहली बार इस लाइन को जोड़ा जाता है, तो एक-दूसरे को जोड़ने के लिए lint-baseline.xml फ़ाइल बनाई जाती है आपकी बेसलाइन. इसके बाद, टूल बेसलाइन तय करने के लिए सिर्फ़ फ़ाइल को पढ़ते हैं. अगर आपको का इस्तेमाल करके नई बेसलाइन बनाने के लिए, मैन्युअल रूप से फ़ाइल मिटाएं और उसे फिर से बनाने के लिए लिंट को फिर से चलाएं.

इसके बाद, कोड > को चुनकर 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")
    }
}

अगर कोड बेस बनाने के बाद, उसमें कोई नई चेतावनी जोड़ी जाती है, तो बेसलाइन, लिंट लिस्ट हाल ही में पेश की गई गड़बड़ियां.

बेसलाइन चेतावनी

जब कोई बेसलाइन लागू होता है, तो आपको एक चेतावनी चेतावनी मिलती है. इसमें बताया जाता है कि एक या एक से ज़्यादा समस्याओं को फ़िल्टर करके बाहर कर दिया गया है, क्योंकि वे बेसलाइन में शामिल हैं. यह चेतावनी से आपको यह याद रखने में मदद मिलती है कि आपने एक बेसलाइन कॉन्फ़िगर किया है और आपको यहां दी गई सभी समस्याओं को ठीक करना है कोई समस्या नहीं है.

जानकारी देने वाली यह चेतावनी उन समस्याओं का भी ट्रैक रखती है जिनकी अब रिपोर्ट नहीं की जा रही है. इस जानकारी से आपको पता चल जाएगा कि आपने असल में समस्याओं को ठीक किया है या नहीं, तो आपके पास इसे रोकने के लिए फिर से बेसलाइन बनाने का विकल्प होता है डिवाइस पर वापस आने से जुड़ी गड़बड़ी.

ध्यान दें: आईडीई में बैच मोड में जांच करने पर, बेसलाइन चालू होती हैं, लेकिन उन्हें अनदेखा कर दिया जाता है का इस्तेमाल करें. ऐसा इसलिए है, क्योंकि बेसलाइन तब बनाएं, जब किसी कोड बेस में बड़ी संख्या में चेतावनियां मौजूद हों, लेकिन आप कोड स्पर्श करते समय स्थानीय समस्याओं को ठीक करना चाहते हैं.

मैन्युअल तरीके से जांच करें

कॉन्फ़िगर किए गए लिंट और अन्य IDE की जांच करने के लिए, कोड > कोड की जांच करें. जांच के नतीजे यहां दिखते हैं: इंस्पेक्शन के नतीजे विंडो.

जांच का दायरा और प्रोफ़ाइल सेट करना

वे फ़ाइलें चुनें जिनका आपको विश्लेषण करना है (जांच का स्कोप) और जिसे आपको जांचना है (जांच प्रोफ़ाइल) इस तरह से:

  1. Android व्यू में, अपना प्रोजेक्ट खोलें और प्रोजेक्ट, फ़ोल्डर या जिसका आपको विश्लेषण करना है.
  2. मेन्यू बार से, कोड > चुनें कोड की जांच करें.
  3. जांच का दायरा बताएं डायलॉग में, सेटिंग की समीक्षा करें.

    निरीक्षण का दायरा बताएं
    तीसरी इमेज. जांच के दायरे की सेटिंग देखें.

    जांच का दायरा बताएं डायलॉग में दिखने वाले विकल्प अलग-अलग होते हैं आपने कोई प्रोजेक्ट, फ़ोल्डर या फ़ाइल चुनी है, इसके आधार पर:

    • जब एक प्रोजेक्ट, फ़ाइल या डायरेक्ट्री चुनी जाती है, तो जांच का दायरा तय करना डायलॉग बॉक्स से उस प्रोजेक्ट, फ़ाइल या डायरेक्ट्री, जिसे आपने चुना है.
    • एक से ज़्यादा प्रोजेक्ट, फ़ाइल या डायरेक्ट्री चुनने पर, जांच करें के बारे में बताएं स्कोप डायलॉग बॉक्स, चुनी गई फ़ाइलों के लिए चुना गया रेडियो बटन दिखाता है.

    जिस ऑब्जेक्ट की जांच करनी है उसे बदलने के लिए, किसी अन्य रेडियो बटन पर क्लिक करें. यहां जाएं: सभी चीज़ों की जानकारी के लिए, जांच के दायरे वाला डायलॉग बताएं जांच का दायरा तय करें डायलॉग में संभावित फ़ील्ड की जानकारी देनी चाहिए.

  4. इंस्पेक्शन प्रोफ़ाइल में जाकर, वह प्रोफ़ाइल चुनें जिसका इस्तेमाल करना है.
  5. जांच करने के लिए, ठीक है पर क्लिक करें.

    इमेज 4 में लिंट और IDE की जांच करने वाले अन्य तरीके दिखाए गए हैं कोड की जांच करें सुविधा से मिलने वाले नतीजे:

    किसी समस्या का समाधान देखने के लिए उसे चुनें.
    चौथी इमेज. जांच के नतीजे. कोई समस्या चुनें इसका समाधान देखें.
  6. जांच के नतीजे पैनल में, जांच के नतीजे देखने के लिए, बड़ा करें और चुनें में कोई समस्या नहीं है.

    इंस्पेक्शन रिपोर्ट पैनल में, गड़बड़ी की कैटगरी के लिए जांच रिपोर्ट दिखती है, टाइप या समस्या चुनी गई है और जांच के नतीजे पैनल में बताई गई समस्या का नाम और गड़बड़ी की जगह. जांच रिपोर्ट में अन्य जानकारी भी दिखती है, जैसे कि समस्या का सारांश.

  7. इंस्पेक्शन के नतीजे पैनल ट्री व्यू में, किसी कैटगरी, टाइप या समस्या पर राइट क्लिक करें डिसप्ले संदर्भ मेन्यू पर क्लिक करें.

    कॉन्टेक्स्ट के हिसाब से:

    • सोर्स पर जाएं.
    • चुने गए आइटम को शामिल न करें और शामिल करें.
    • समस्याओं को रोकें.
    • सेटिंग में बदलाव करें।
    • जांच की चेतावनियां मैनेज करें.
    • फिर से जांच करें.

टूलबार के बटन, कॉन्टेक्स्ट मेन्यू के आइटम, और जांच के बारे में जानकारी पाने के लिए रिपोर्ट फ़ील्ड, देखें नतीजों की जांच करने वाले टूल की विंडो.

कस्टम स्कोप का इस्तेमाल करें

Android Studio में दिए गए कस्टम स्कोप में से किसी एक का इस्तेमाल इस तरह करें:

  1. जांच का दायरा बताएं डायलॉग में, कस्टम स्कोप चुनें.
  2. अपने विकल्प देखने के लिए, कस्टम दायरा सूची पर क्लिक करें:

    जांच का दायरा चुनें
    पांचवीं इमेज. जो कस्टम स्कोप आपको चाहिए उसे चुनें इस्तेमाल करें.
    • सभी जगहें: सभी फ़ाइलें.
    • प्रोजेक्ट फ़ाइलें: मौजूदा प्रोजेक्ट की सभी फ़ाइलें.
    • प्रोजेक्ट सोर्स फ़ाइलें: सिर्फ़ मौजूदा प्रोजेक्ट की सोर्स फ़ाइलें.
    • प्रोजेक्ट प्रोडक्शन फ़ाइलें: सिर्फ़ मौजूदा प्रोजेक्ट की प्रोडक्शन फ़ाइलें.
    • प्रोजेक्ट टेस्ट फ़ाइलें: सिर्फ़ मौजूदा प्रोजेक्ट में मौजूद टेस्ट फ़ाइलें.
    • स्क्रैच और कंसोल: सिर्फ़ वे स्क्रैच फ़ाइलें और कंसोल जिन्हें आपने है.
    • हाल ही में देखी गई फ़ाइलें: मौजूदा प्रोजेक्ट में हाल ही में देखी गई फ़ाइलें.
    • मौजूदा फ़ाइल: आपके मौजूदा प्रोजेक्ट की सिर्फ़ मौजूदा फ़ाइल. यह तब दिखता है, जब आपके पास कोई फ़ाइल या फ़ोल्डर चुना गया है.
    • चुनी गई डायरेक्ट्री: आपके मौजूदा प्रोजेक्ट का सिर्फ़ मौजूदा फ़ोल्डर. यह तब दिखता है, जब आप एक फ़ोल्डर चुना हुआ है.
    • क्लास की हैरारकी: जब यह विकल्प चुना जाता है और ठीक है पर क्लिक किया जाता है, तो इसके साथ एक डायलॉग दिखता है मौजूदा प्रोजेक्ट की सभी क्लास में शामिल हैं. डायलॉग में, नाम से खोजें फ़ील्ड का इस्तेमाल करें फ़िल्टर करने और क्लास चुनने के लिए की जांच करें. अगर क्लास की सूची को फ़िल्टर नहीं किया जाता है, तो कोड की जांच करने पर क्लास.

    अगर आपके पास प्रोजेक्ट के लिए VCS कॉन्फ़िगर किया गया है, तो खोज को सीमित करने के भी विकल्प मौजूद हैं सिर्फ़ उन फ़ाइलों को जिसमें बदलाव किया गया है.

  3. ठीक है पर क्लिक करें.

कस्टम स्कोप बनाएं

जब आपको ऐसी फ़ाइलों और डायरेक्ट्री की जांच करनी हो जिन्हें अभी कस्टम दायरे उपलब्ध हैं, तो आप कस्टम दायरा बना सकते हैं:

  1. जांच का दायरा बताएं डायलॉग में, कस्टम स्कोप चुनें.
  2. कस्टम स्कोप सूची के बाद तीन बिंदुओं पर क्लिक करें.

    जांच का दायरा बताने वाला डायलॉग बॉक्स
    छठी इमेज. जांच के दायरे वाले डायलॉग के बारे में बताएं.

    स्कोप डायलॉग दिखेगा.

    कस्टम स्कोप बनाएं
    सातवीं इमेज. पसंद के मुताबिक स्कोप बनाएं.
  3. पर क्लिक करें बटन पर क्लिक करें.
  4. इसके बाद, दायरा जोड़ें सूची में लोकल चुनें.

    कोड की जांच करने के लिए, प्रोजेक्ट में लोकल और शेयर किए गए, दोनों स्कोप का इस्तेमाल किया जाता है सुविधा. शेयर किए गए स्कोप का इस्तेमाल, प्रोजेक्ट की ऐसी अन्य सुविधाओं के साथ भी किया जा सकता है जिनमें स्कोप होता है फ़ील्ड में डालें. उदाहरण के लिए, सेटिंग में बदलाव करें पर क्लिक करने पर बदलाव करने के लिए इस्तेमाल खोजें की सेटिंग से, तो नतीजे के तौर पर दिखने वाले डायलॉग में एक दायरा फ़ील्ड होता है, जहां शेयर किया गया कोई दायरा चुनें.

    &#39;इस्तेमाल करें&#39; डायलॉग बॉक्स से, शेयर किया गया कोई स्कोप चुनें
    आठवीं इमेज. इनमें से कोई शेयर किया गया दायरा चुनें इस्तेमाल की जानकारी देखें डायलॉग.
  5. दायरे को कोई नाम दें और ठीक है पर क्लिक करें.

    स्कोप डायलॉग का दायां पैनल इससे अपने-आप जानकारी भर जाती है. इससे आपको कस्टम स्कोप तय करने में मदद मिलती है.

  6. सूची से, प्रोजेक्ट चुनें.

    उपलब्ध प्रोजेक्ट की सूची दिखेगी.

    ध्यान दें: प्रोजेक्ट या पैकेज के लिए, अपनी पसंद के मुताबिक स्कोप बनाया जा सकता है. कॉन्टेंट बनाने चरण एक जैसे हैं.

  7. प्रोजेक्ट फ़ोल्डर को बड़ा करें. इसके बाद, चुनें कि कस्टम स्कोप में क्या जोड़ना है उसे शामिल करना है या बाहर रखना है.

    पसंद के मुताबिक स्कोप तय करना
    नौवीं इमेज. पसंद के मुताबिक स्कोप तय करें.
    • शामिल करें: यह फ़ोल्डर और इसकी फ़ाइलें शामिल करें, लेकिन इनमें से कोई भी फ़ाइल शामिल न करें सबफ़ोल्डर में.
    • बार-बार शामिल करें: यह फ़ोल्डर, इसकी फ़ाइलें, इसके सब-फ़ोल्डर, और इसके फ़ाइलें शामिल हैं.
    • निकालें: इस फ़ोल्डर और इसकी फ़ाइलों को बाहर रखें, लेकिन इसकी किसी भी फ़ाइल को न छोड़ें सबफ़ोल्डर में.
    • बार-बार बाहर रखें: इस फ़ोल्डर, इसकी फ़ाइलों, सब-फ़ोल्डर, और इसके सब-फ़ोल्डर को बाहर रखें फ़ाइलें शामिल हैं.

    इमेज 10 में दिखाया गया है कि मुख्य फ़ोल्डर, और java और res फ़ोल्डर बार-बार शामिल किए जाते हैं. नीला रंग, कुछ हद तक शामिल किए गए फ़ोल्डर और हरे रंग का संकेत देता है बार-बार शामिल किए गए फ़ोल्डर और फ़ाइलों को दिखाता है.

    कस्टम स्कोप के लिए पैटर्न का उदाहरण
    10वीं इमेज. कस्टम स्कोप के पैटर्न का उदाहरण.
    • अगर आप JavaScript फ़ोल्डर चुनते हैं और बार-बार बाहर रखें पर क्लिक करते हैं, तो हरे रंग में हाइलाइट करने की सुविधा java फ़ोल्डर और उसके नीचे के सभी फ़ोल्डर और फ़ाइलों पर हट जाती है.
    • अगर आपने हरे रंग से हाइलाइट की गई MainActivity.kt फ़ाइल और बाहर रखें पर क्लिक करें, तो MainActivity.kt अब हरे रंग से हाइलाइट नहीं होती, लेकिन java फ़ोल्डर में बाकी सब कुछ हरा बना रहता है.
  8. ठीक है पर क्लिक करें. कस्टम स्कोप, सूची में सबसे नीचे दिखता है.

जांच की प्रोफ़ाइलों की समीक्षा करना और उनमें बदलाव करना

Android Studio में लिंट और जांच करने वाली दूसरी प्रोफ़ाइलों का ऐसा कलेक्शन है जिसे अपडेट किया गया है के ज़रिए Android के अपडेट. इन प्रोफ़ाइल का इस्तेमाल बिलकुल सही तरीके से किया जा सकता है या इनके नाम, ब्यौरे, गंभीरता, और दायरे. आपके पास प्रोफ़ाइलों के पूरे ग्रुप या व्यक्तिगत प्रोफ़ाइलों को चालू और बंद करने का विकल्प भी है एक समूह में.

इंस्पेक्शन सेटिंग ऐक्सेस करने के लिए:

  1. फ़ाइल > चुनें सेटिंग पर टैप करें. (Windows पर) या Android Studio > सेटिंग (macOS या Linux पर).
  2. एडिटर > चुनें जांच करना.
  3. जांच पैनल में, इस्तेमाल किए जा सकने वाले जांचों और उनकी जांच की सूची दिखती है ब्यौरे.

    जांच के लिए इस्तेमाल होने वाली जांच और उनके ब्यौरे
    11वीं इमेज. जांच के लिए इस्तेमाल किए जाने वाले टूल और उनके ब्यौरे.
  4. प्रोफ़ाइल की सूची को चुनकर डिफ़ॉल्ट (Android Studio) और प्रोजेक्ट डिफ़ॉल्ट (चालू प्रोजेक्ट) की जांच.

    ज़्यादा जानकारी के लिए, IntelliJ देखें प्रोफ़ाइल मैनेज करें पेज पर जाएं.

  5. बाएं पैनल में मौजूद जांच सूची में, कोई टॉप लेवल प्रोफ़ाइल कैटगरी चुनें या ग्रुप को बड़ा करें और कोई खास प्रोफ़ाइल चुनें.

    प्रोफ़ाइल की कैटगरी चुनकर, ये काम किए जा सकते हैं उस कैटगरी की सभी जांचों को एक ही जांच के तौर पर एडिट कर सकता है.

  6. कॉपी करने, नाम बदलने, जोड़ने के लिए स्कीमा कार्रवाइयां दिखाएं स्कीमा ऐक्शन आइकॉन दिखाएं सूची चुनें जांच, एक्सपोर्ट, और इंपोर्ट की जानकारी.
  7. काम पूरा हो जाने पर, ठीक है पर क्लिक करें.