Kodunuzu lint kontrolleriyle iyileştirme

Uygulamanızın işlevsel koşulları karşıladığından emin olmak için testler oluşturmanın yanı sıra kodunuzda yapısal sorun olmadığından emin olmak için kodu lint aracında da çalıştırmanız önemlidir. Lint aracı, Android uygulamalarınızın güvenilirliğini ve verimliliğini etkileyebilecek, kötü yapılandırılmış kodları bulmanıza ve kodunuzun bakımını zorlaştırmanıza yardımcı olur. Lint aracının tespit ettiği hataları uygulamanızı yayınlamadan önce düzeltmeniz kesinlikle önerilir.

Örneğin, XML kaynak dosyalarınızda kullanılmayan ad alanları varsa bu alanlar yer kaplar ve gereksiz işlem yapılmasını gerektirir. Kullanımdan kaldırılan öğelerin veya hedef API sürümleri tarafından desteklenmeyen API çağrılarının kullanılması gibi diğer yapısal sorunlar, kodun doğru şekilde çalışmamasına neden olabilir. Lint, bu sorunları temizlemenize yardımcı olabilir.

Linting performansını artırmak için kodunuza ek açıklamalar da ekleyebilirsiniz.

Genel Bakış

Android Studio, uygulamayı çalıştırmanıza veya test senaryoları yazmanıza gerek kalmadan kodunuzun yapısal kalitesiyle ilgili sorunları belirlemenize ve düzeltmenize yardımcı olabilecek lint adlı bir kod tarama aracı sunar. Araç tarafından tespit edilen her sorun, açıklama mesajı ve önem derecesiyle birlikte bildirilir. Böylece, yapılması gereken kritik iyileştirmelere öncelik verebilirsiniz. Ayrıca, projenizle alakalı olmayan sorunları göz ardı etmek için sorunun önem düzeyini düşürebilir veya belirli sorunları vurgulamak için önem düzeyini yükseltebilirsiniz.

Lint aracı, Android projenizin kaynak dosyalarında olası hataları ve doğruluk, güvenlik, performans, kullanılabilirlik, erişilebilirlik ve uluslararasılaştırma ile ilgili optimizasyon iyileştirmelerini kontrol eder. Android Studio'yu kullanırken yapılandırılmış lint ve IDE incelemeleri, uygulamanızı oluşturduğunuzda çalışır. Ancak bu sayfada açıklandığı gibi incelemeleri manuel olarak çalıştırabilir veya lint'i komut satırından çalıştırabilirsiniz.

Yerleşik lint aracı, Android Studio'yu kullanırken kodunuzu kontrol eder. Uyarıları ve hataları iki şekilde görüntüleyebilirsiniz:

  • Düzenleyici penceresinde pop-up metin olarak. Lint bir sorun bulduğunda sorunlu kodu sarı renkle vurgular. Daha ciddi sorunlarda kodu kırmızı renkle altı çizili olarak gösterir.
  • Code > Inspect Code (Kod > Kodu İncele) seçeneğini tıkladığınızda lint Inspection Results (İnceleme Sonuçları) penceresinde.

Not: Kodunuz Android Studio'da derlendiğinde kod incelemesini kolaylaştırmak için ek IntelliJ kod incelemeleri çalıştırılır. En yeni hata analizi kurallarının ve incelemelerinin kullanılabilmesi için Android Studio'yu mümkün olduğunca güncel tutun.

Şekil 1'de, lint aracının uygulama kaynak dosyalarını nasıl işlediği gösterilmektedir.

Lint aracıyla kod tarama iş akışı.
1. şekil. Lint aracıyla kod tarama iş akışı.
Uygulama kaynak dosyaları
Kaynak dosyalar; Kotlin, Java ve XML dosyaları, simgeler ve ProGuard yapılandırma dosyaları dahil olmak üzere Android projenizi oluşturan dosyalardan oluşur.
lint.xml dosyası
Hariç tutmak istediğiniz tüm lint kontrollerini belirtmek ve sorun ciddiyet düzeylerini özelleştirmek için kullanabileceğiniz bir yapılandırma dosyası.
Lint aracı
Android projenizde komut satırından veya Android Studio'da çalıştırabileceğiniz statik kod tarama aracı. Lint aracı, Android uygulamanızın kalitesini ve performansını etkileyebilecek yapısal kod sorunlarını kontrol eder.
Lint kontrolünün sonuçları
Lint'in sonuçlarını konsolda veya Android Studio'daki İnceleme Sonuçları penceresinde görüntüleyebilirsiniz. lint komutunu komut satırından çalıştırırsanız sonuçlar build/ klasörüne yazılır. Daha ayrıntılı bilgi için denetimleri manuel olarak çalıştırma bölümüne bakın.

Lint'i komut satırından çalıştırma

Android Studio veya Gradle kullanıyorsanız projeniz için lint görevini çağırmak üzere Gradle sarmalayıcısını kullanın. Bunu yapmak için projenizin kök dizininden aşağıdaki komutlardan birini girin:

Not: En yeni lint kurallarını kullanmak için Android Gradle eklentisini mümkün olduğunca güncel tutun.

  • Windows'da:
    gradlew lint
    
  • Linux veya macOS'te:
    ./gradlew lint
    

Şuna benzer bir çıkış alırsınız:

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

Lint aracı kontrollerini tamamladığında, lint raporunun XML ve HTML sürümlerinin yollarını sağlar. Ardından, Şekil 2'de gösterildiği gibi HTML raporuna gidip tarayıcınızda açabilirsiniz.

Örnek HTML lint raporu
Şekil 2. Örnek HTML lint raporu.

Projenizde derleme varyantları varsa lint yalnızca varsayılan varyantı kontrol eder. Farklı bir varyantta lint çalıştırmak istiyorsanız varyant adını büyük harflerle yazıp başına lint eklemeniz gerekir.

./gradlew lintRelease

Not: Lint, derlemenizin bir parçası olarak otomatik olarak çalıştırılmaz. Mevcut kaynak kodunuzu oluştururken en son lint kontrollerini görmek için sürekli entegrasyon derlemesinin bir parçası olarak lint'i açıkça çalıştırmanızı önemle öneririz.

Gradle görevlerini komut satırından çalıştırma hakkında daha fazla bilgi edinmek için Uygulamanızı komut satırından oluşturma başlıklı makaleyi inceleyin.

Bağımsız aracı kullanarak lint'i çalıştırma

Android Studio veya Gradle kullanmıyorsanız bağımsız lint aracını kullanmak için Android SDK komut satırı araçlarını yükleyin. Lint aracını android_sdk/cmdline-tools/version/bin/lint adresinde bulabilirsiniz.

Not: Bağımsız aracı bir Gradle projesinde çalıştırmaya çalışırsanız hata alırsınız. Bir Gradle projesinde lint'i çalıştırmak için her zaman gradle lint (Windows'da) veya ./gradlew lint (macOS veya Linux'ta) kullanmalısınız.

Bir proje dizinindeki dosya listesinde lint çalıştırmak için aşağıdaki komutu kullanın:

lint [flags] <project directory>

Örneğin, myproject dizini ve alt dizinlerindeki dosyaları taramak için aşağıdaki komutu verebilirsiniz. Sorun kimliği MissingPrefix lint'e yalnızca Android ad alanı önekini içermeyen XML özelliklerini taramasını söyler.

lint --check MissingPrefix myproject 

Araç tarafından desteklenen işaretlerin ve komut satırı bağımsız değişkenlerinin tam listesini görmek için aşağıdaki komutu kullanın:

lint --help

Aşağıdaki örnekte, Earthquake adlı bir projede lint komutu çalıştırıldığında konsol çıktısı gösterilmektedir:

$ 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

Örnek çıktıda dört uyarı ve hata yok listeleniyor.

İki uyarı, projenin AndroidManifest.xml dosyasıyla ilgilidir:

  • ManifestOrder
  • UsesMinSdkAttributes
Bir uyarı, Preferences.xml düzen dosyasıyla UnusedResources ilgilidir.

Uyarılardan biri res diziniyle ilgilidir: IconMissingDensityFolder.

Uyarıları bastırmak için lint'i yapılandırma

Varsayılan olarak, lint taraması çalıştırdığınızda araç, lint'in desteklediği tüm sorunları kontrol eder. Lint'in kontrol edeceği sorunları da kısıtlayabilir ve sorunlara önem düzeyleri atayabilirsiniz. Örneğin, projenizle alakalı olmayan belirli sorunlar için lint kontrolünü devre dışı bırakabilir ve lint'i kritik olmayan sorunları daha düşük bir önem düzeyinde bildirecek şekilde yapılandırabilirsiniz.

Önem düzeyleri şunlardır:

  • enable
  • disable veya ignore
  • informational
  • warning
  • error
  • fatal

Lint denetimini farklı düzeylerde yapılandırabilirsiniz:

  • Global (projenin tamamı)
  • Proje modülü
  • Üretim modülü
  • Test modülü
  • Dosya aç
  • Sınıf hiyerarşisi
  • Sürüm Denetim Sistemi (VCS) kapsamları

Lint dosyasını yapılandırma

Lint denetimi tercihlerini lint.xml dosyasında belirtebilirsiniz. Bu dosyayı manuel olarak oluşturuyorsanız Android projenizin kök dizinine yerleştirin.

lint.xml dosyası, bir veya daha fazla alt <issue> öğesi içeren bir kapsayıcı <lint> üst etiketinden oluşur. Lint, her bir <issue> için benzersiz bir id özellik değeri tanımlar:

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

Bir sorunun önem düzeyini değiştirmek veya sorun için lint denetimini devre dışı bırakmak istiyorsanız <issue> etiketinde önem derecesi özelliğini ayarlayın.

İpucu: Lint tarafından desteklenen sorunların ve ilgili sorun kimliklerinin tam listesi için lint --list komutunu çalıştırın. --list seçeneği, bağımsız lint aracından çalıştırılmalıdır.

Örnek lint.xml dosyası

Aşağıdaki örnekte bir lint.xml dosyasının içeriği gösterilmektedir:

<?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>

Bu örnekte, farklı sorun türlerinin nasıl bildirildiği gösterilmektedir. IconMissingDensityFolder kontrolü tamamen devre dışı bırakılır ve ObsoleteLayoutParam kontrolü yalnızca ekteki <ignore ... /> beyanlarında belirtilen dosyalarda devre dışı bırakılır.

Kotlin, Java ve XML kaynak dosyaları için lint kontrolünü yapılandırma

Kotlin, Java ve XML kaynak dosyalarınız için lint kontrolünü Tercihler iletişim kutusunda devre dışı bırakabilirsiniz:

  1. Dosya > Ayarlar'ı (Windows'da) veya Android Studio > Tercihler'i (macOS veya Linux'ta) seçin.
  2. Düzenleyici > İncelemeler'i seçin.
  3. Devre dışı bırakmak için uygun kaynak dosyanın seçimini kaldırın.

Bu ayarları, uygun profili seçerek IDE veya tek tek projeler için belirleyebilirsiniz.

Java veya Kotlin'de lint denetimini yapılandırma

Android projenizdeki bir sınıf veya yöntem için lint kontrolünü devre dışı bırakmak istiyorsanız ilgili koda @SuppressLint ek açıklamasını ekleyin.

Aşağıdaki örnekte, onCreate yönteminde NewApi sorunu için lint denetimini nasıl devre dışı bırakabileceğiniz gösterilmektedir. Lint aracı, bu sınıfın diğer yöntemlerinde NewApi sorununu kontrol etmeye devam eder.

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

Aynı işlem herhangi bir Composable'da da yapılabilir. Aşağıdaki kod snippet'inde, herhangi bir Composable'da NewApi kontrollerini nasıl devre dışı bırakabileceğiniz gösterilmektedir.

Kotlin

  @SuppressLint("NewApi")
  @Composable
  fun MyComposable{
    ...
  }
  

Aşağıdaki örnekte, ParserError sınıfındaki FeedProvider sorunu için lint denetiminin nasıl devre dışı bırakılacağı gösterilmektedir:

Kotlin

@SuppressLint("ParserError")
class FeedProvider : ContentProvider() {

Java

@SuppressLint("ParserError")
public class FeedProvider extends ContentProvider {

Dosyadaki tüm lint sorunlarının kontrolünü devre dışı bırakmak için all anahtar kelimesini kullanın:

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Aynı ek açıklamayı kullanarak herhangi bir Composable işlevinde lint kontrollerini bastırabilirsiniz.

XML'de lint kontrolünü yapılandırma

XML dosyalarınızın belirli bölümlerinde lint kontrolünü devre dışı bırakmak için tools:ignore özelliğini kullanın. Lint aracının özelliği tanıması için lint.xml dosyasına aşağıdaki ad alanı değerini girin:

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

Aşağıdaki örnekte, bir XML düzen dosyasının <LinearLayout> öğesindeki UnusedResources sorunu için lint kontrolünü nasıl devre dışı bırakabileceğiniz gösterilmektedir. ignore özelliği, özelliğin bildirildiği üst öğenin alt öğeleri tarafından devralınır. Bu örnekte, lint kontrolü alt <TextView> öğesi için de devre dışı bırakılmıştır:

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

Birden fazla sorunu devre dışı bırakmak için devre dışı bırakılacak sorunları virgülle ayrılmış bir dize olarak listeleyin. Örneğin:

tools:ignore="NewApi,StringFormatInvalid"

XML öğesindeki tüm lint sorunlarının kontrolünü devre dışı bırakmak için all anahtar kelimesini kullanın:

tools:ignore="all"

Gradle ile lint seçeneklerini yapılandırma

Android Gradle eklentisi, modül düzeyindeki lint{} bloğunu kullanarak hangi kontrollerin çalıştırılacağını veya yoksayılacağını belirleme gibi belirli lint seçeneklerini yapılandırmanıza olanak tanır.build.gradle

Aşağıdaki kod snippet'inde, yapılandırabileceğiniz özelliklerden bazıları gösterilmektedir:

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

Bir sorunun verilen önem derecesini geçersiz kılan tüm lint yöntemleri, yapılandırma sırasına uyar. Örneğin, finalizeDsl() içinde bir sorunu kritik olarak ayarlamak, ana DSL'de devre dışı bırakmayı geçersiz kılar.

Uyarılar için temel oluşturma

Projenizin mevcut uyarılarının anlık görüntüsünü alabilir, ardından bu anlık görüntüyü gelecekteki inceleme çalıştırmaları için temel olarak kullanabilirsiniz. Böylece yalnızca yeni sorunlar bildirilir. Temel anlık görüntü, önce geri dönüp mevcut tüm sorunları gidermek zorunda kalmadan derlemenin başarısız olması için lint kullanmaya başlamanıza olanak tanır.

Temel plan anlık görüntüsü oluşturmak için projenizin build.gradle dosyasını aşağıdaki şekilde değiştirin:

Kotlin

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

Groovy

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

Bu satırı ilk kez eklediğinizde, temel değerinizi belirlemek için lint-baseline.xml dosyası oluşturulur. Bu noktadan sonra araçlar, başlangıç değerini belirlemek için yalnızca dosyayı okur. Yeni bir temel çizgi oluşturmak istiyorsanız dosyayı manuel olarak silin ve yeniden oluşturmak için lint'i tekrar çalıştırın.

Ardından, Code > Inspect Code'u (Kod > Kodu İncele) seçerek IDE'den veya komut satırından lint'i aşağıdaki gibi çalıştırın. Çıkış, lint-baseline.xml dosyasının konumunu yazdırır. Kurulumunuzun dosya konumu burada gösterilenden farklı olabilir:

$ ./gradlew lintDebug -Dlint.baselines.continue=true
...
Wrote XML report to file:///app/lint-baseline.xml
Created baseline file /app/lint-baseline.xml

lint çalıştırıldığında lint-baseline.xml dosyasındaki tüm mevcut sorunlar kaydedilir. Mevcut sorunlar kümesine temel adı verilir. lint-baseline.xml dosyasını başkalarıyla paylaşmak istiyorsanız sürüm kontrolüne kaydedebilirsiniz.

Temel çizgiyi özelleştirme

Yalnızca belirli sorun türlerini temel çizgiye eklemek istiyorsanız projenizin build.gradle dosyasını aşağıdaki gibi düzenleyerek eklenecek sorunları belirtin:

Kotlin

android {
    lint {
        checkOnly += "NewApi" + "HandlerLeak"
        baseline = file("lint-baseline.xml")
    }
}

Groovy

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

Temeli oluşturduktan sonra kod tabanına yeni uyarılar eklerseniz lint yalnızca yeni eklenen hataları listeler.

Temel uyarı

Bir temel çizgi yürürlükteyken, temel çizgide listelendiği için bir veya daha fazla sorunun filtrelendiğini belirten bir bilgilendirme uyarısı alırsınız. Bu uyarı, bir temel yapılandırma oluşturduğunuzu ve bir noktada tüm sorunları düzeltmeniz gerektiğini hatırlatır.

Bu bilgilendirme uyarısı, artık bildirilmeyen sorunları da takip eder. Bu bilgiler, sorunları gerçekten düzeltip düzeltmediğinizi anlamanızı sağlar. Böylece, bir hatanın tekrar algılanmadan ortaya çıkmasını önlemek için isteğe bağlı olarak temel çizgiyi yeniden oluşturabilirsiniz.

Not: IDE'de incelemeleri toplu modda çalıştırdığınızda temel çizgiler etkinleştirilir ancak bir dosyayı düzenlerken arka planda çalışan düzenleyici içi kontrollerde yok sayılır. Bunun nedeni, temellerin, kod tabanında çok sayıda mevcut uyarı olduğu ancak koda dokunurken sorunları yerel olarak düzeltmek istediğiniz durumlar için tasarlanmış olmasıdır.

İncelemeleri manuel olarak çalıştırma

Yapılandırılmış lint ve diğer IDE incelemelerini manuel olarak çalıştırmak için Code > Inspect Code'u (Kod > Kodu İncele) seçin. Denetleme sonuçları Denetleme Sonuçları penceresinde gösterilir.

Denetim kapsamını ve profilini ayarlama

Analiz etmek istediğiniz dosyaları (inceleme kapsamı) ve çalıştırmak istediğiniz incelemeleri (inceleme profili) aşağıdaki gibi seçin:

  1. Android görünümünde projenizi açın ve analiz etmek istediğiniz projeyi, klasörü veya dosyayı seçin.
  2. Menü çubuğundan Code > Inspect Code'u (Kod > Kodu İncele) seçin.
  3. Denetleme Kapsamını Belirtin iletişim kutusunda ayarları inceleyin.

    İnceleme kapsamı ayarlarını inceleme
    3.şekil İnceleme kapsamı ayarlarını inceleyin.

    İnceleme Kapsamını Belirtin iletişim kutusunda gösterilen seçenekler, proje, klasör veya dosya seçmenize bağlı olarak değişir:

    • Bir proje, dosya veya dizin seçtiğinizde İnceleme Kapsamını Belirtin iletişim kutusunda seçtiğiniz proje, dosya veya dizinin yolu gösterilir.
    • Birden fazla proje, dosya veya dizin seçtiğinizde Denetleme Kapsamını Belirtin iletişim kutusunda Seçili dosyalar için seçili bir radyo düğmesi gösterilir.

    İncelenecek öğeyi değiştirmek için diğer radyo düğmelerinden birini seçin. Denetim Kapsamını Belirtin iletişim kutusundaki tüm olası alanların açıklaması için Denetim Kapsamını Belirtin iletişim kutusu başlıklı makaleyi inceleyin.

  4. İnceleme profili bölümünde, kullanmak istediğiniz profili seçin.
  5. İncelemeyi çalıştırmak için Tamam'ı tıklayın.

    Şekil 4'te, Inspect Code (Kodu İncele) çalıştırıldığında elde edilen lint ve diğer IDE inceleme sonuçları gösterilmektedir:

    Çözümünü görmek için bir sorun seçin.
    4.şekil Denetleme sonuçları. Çözümü görmek için bir sorun seçin.
  6. Denetleme Sonuçları bölmesinde, hata kategorilerini, türlerini veya sorunlarını genişletip seçerek denetleme sonuçlarını görüntüleyin.

    İnceleme Raporu bölmesinde, İnceleme Sonuçları bölmesinde seçilen hata kategorisi, türü veya sorunuyla ilgili inceleme raporu gösterilir. Ayrıca, hatanın adı ve konumu da gösterilir. Denetleme raporu, uygun olduğu durumlarda sorunu düzeltmenize yardımcı olmak için sorun özeti gibi başka bilgiler de gösterir.

  7. Denetleme Sonuçları bölmesindeki ağaç görünümünde, içerik menüsünü görüntülemek için bir kategoriyi, türü veya sorunu sağ tıklayın.

    Bağlama bağlı olarak şunları yapabilirsiniz:

    • Kaynağa atlayın.
    • Seçili öğeleri hariç tutma ve dahil etme
    • Sorunları bastırma.
    • Ayarları düzenleyin.
    • İnceleme uyarılarını yönetin.
    • İncelemeyi yeniden çalıştırma

Araç çubuğu düğmelerinin, bağlam menüsü öğelerinin ve inceleme raporu alanlarının açıklamaları için İnceleme Sonuçları araç penceresi başlıklı makaleyi inceleyin.

Özel kapsam kullanma

Android Studio'da sağlanan özel kapsamları aşağıdaki gibi kullanın:

  1. Denetleme Kapsamını Belirtin iletişim kutusunda Özel kapsam'ı seçin.
  2. Seçeneklerinizi görüntülemek için Özel kapsam listesini tıklayın:

    Kullanmak istediğiniz inceleme kapsamını seçin.
    5. şekil. Kullanmak istediğiniz özel kapsamı seçin.
    • Tüm Yerler: Tüm dosyalar.
    • Proje Dosyaları: Mevcut projedeki tüm dosyalar.
    • Proje Kaynak Dosyaları: Yalnızca mevcut projedeki kaynak dosyalar.
    • Proje Üretim Dosyaları: Yalnızca mevcut projedeki üretim dosyaları.
    • Proje Test Dosyaları: Yalnızca mevcut projedeki test dosyaları.
    • Çizimler ve Konsollar: Yalnızca mevcut projede açtığınız çizim dosyaları ve konsollar.
    • Yakın zamanda görüntülenen dosyalar: Yalnızca mevcut projede yakın zamanda görüntülenen dosyalar.
    • Geçerli Dosya: Yalnızca geçerli projenizdeki geçerli dosya. Bir dosya veya klasör seçtiğinizde gösterilir.
    • Seçili Dizin: Yalnızca mevcut projenizdeki geçerli klasör. Bir klasör seçtiğinizde gösterilir.
    • Sınıf Hiyerarşisi: Bu seçeneği belirleyip Tamam'ı tıkladığınızda, mevcut projedeki tüm sınıfların yer aldığı bir iletişim kutusu gösterilir. İletişim kutusunda, incelenecek sınıfları filtrelemek ve seçmek için Ada Göre Ara alanını kullanın. Sınıf listesini filtrelemezseniz kod incelemesi tüm sınıfları inceler.
  3. Proje için bir VCS yapılandırdıysanız aramayı yalnızca değiştirilmiş dosyalarla sınırlama seçenekleri de vardır.

  4. Tamam'ı tıklayın.

Özel kapsam oluşturma

Mevcut özel kapsamların hiçbirinin kapsamadığı bir dosya ve dizin seçimini incelemek istediğinizde özel bir kapsam oluşturabilirsiniz:

  1. Denetleme Kapsamını Belirtin iletişim kutusunda Özel kapsam'ı seçin.
  2. Özel Kapsam listesinin yanındaki üç noktayı tıklayın.

    İnceleme Kapsamını Belirle iletişim kutusu
    6.şekil Denetleme Kapsamını Belirleyin iletişim kutusu.

    Kapsamlar iletişim kutusu gösterilir.

    Özel kapsam oluşturma
    7.şekil Özel kapsam oluşturun.
  3. Yeni bir kapsam tanımlamak için iletişim kutusunun sol üst köşesindeki düğmesini tıklayın.
  4. Görüntülenen Kapsam Ekle listesinde Yerel'i seçin.

    Hem yerel hem de paylaşılan kapsamlar, Kodu İncele özelliği için proje içinde kullanılır. Paylaşılan kapsam, kapsam alanı olan diğer proje özellikleriyle de kullanılabilir. Örneğin, Kullanım Yerlerini Bul ayarlarını değiştirmek için Ayarları Düzenle'yi tıkladığınızda , sonuçta ortaya çıkan iletişim kutusunda paylaşılan bir kapsam seçebileceğiniz bir Kapsam alanı bulunur.

    Kullanım Yerlerini Bul iletişim kutusundan paylaşılan bir kapsam seçin
    Şekil 8. Kullanım Yerlerini Bul iletişim kutusundan paylaşılan bir kapsam seçin.
  5. Kapsama bir ad verin ve Tamam'ı tıklayın.

    Kapsamlar iletişim kutusunun sağ bölmesi, özel kapsamı tanımlamanıza olanak tanıyan seçeneklerle doldurulur.

  6. Listeden Proje'yi seçin.

    Kullanılabilir projelerin listesi gösterilir.

    Not: Projeler veya paketler için özel kapsam oluşturabilirsiniz. Adımlar aynıdır.

  7. Proje klasörlerini genişletin, özel kapsama eklemek istediğiniz öğeleri seçin ve bunları dahil edip etmeyeceğinizi belirleyin.

    Özel kapsam tanımlama
    9.şekil Özel kapsam tanımlayın.
    • Dahil et: Bu klasörü ve dosyalarını dahil edin ancak alt klasörlerini dahil etmeyin.
    • Özyinelemeli Olarak Ekle: Bu klasör, dosyaları, alt klasörleri ve alt klasörlerin dosyaları da dahil edilir.
    • Hariç tut: Bu klasörü ve dosyalarını hariç tutun ancak alt klasörlerini hariç tutmayın.
    • Özyinelemeli Olarak Hariç Tut: Bu klasörü, dosyalarını, alt klasörlerini ve alt klasörlerin dosyalarını hariç tutun.

    Şekil 10'da ana klasörün dahil edildiği ve java ile res klasörlerinin yinelemeli olarak dahil edildiği gösterilmektedir. Mavi, kısmen dahil edilmiş bir klasörü, yeşil ise yinelemeli olarak dahil edilmiş klasörleri ve dosyaları gösterir.

    Özel kapsam için örnek desen
    10. şekil. Özel kapsam için örnek desen.
    • java klasörünü seçip Özyinelemeli Olarak Hariç Tut'u tıklarsanız java klasöründe ve altındaki tüm klasör ve dosyalarda yeşil vurgu kaybolur.
    • Yeşille vurgulanmış MainActivity.kt dosyasını seçip Hariç tut'u tıklarsanız MainActivity.kt artık yeşille vurgulanmaz ancak java klasöründeki diğer her şey yeşil kalır.
  8. Tamam'ı tıklayın. Özel kapsam, listenin en altında görünür.

İnceleme profillerini inceleme ve düzenleme

Android Studio, Android güncellemeleriyle güncellenen çeşitli lint ve diğer inceleme profillerine sahiptir. Bu profilleri olduğu gibi kullanabilir veya adlarını, açıklamalarını, önem derecelerini ve kapsamlarını düzenleyebilirsiniz. Ayrıca, profil gruplarının tamamını veya bir gruptaki tek tek profilleri etkinleştirebilir ve devre dışı bırakabilirsiniz.

İncelemeler ayarlarına erişmek için:

  1. Dosya > Ayarlar'ı seçin. (Windows'da) veya Android Studio > Preferences (macOS veya Linux'ta).
  2. Düzenleyici > İncelemeler'i seçin.
  3. İncelemeler bölmesinde, desteklenen incelemelerin listesi ve açıklamaları gösterilir.

    Desteklenen incelemeler ve açıklamaları
    Şekil 11. Desteklenen incelemeler ve açıklamaları.
  4. Varsayılan (Android Studio) ve Proje Varsayılanı (etkin proje) incelemeleri arasında geçiş yapmak için Profil listesini seçin.

    Daha fazla bilgi için IntelliJ Profilleri yönetme sayfasını inceleyin.

  5. Sol bölmedeki İncelemeler listesinde üst düzey bir profil kategorisi seçin veya bir grubu genişletip belirli bir profili seçin.

    Bir profil kategorisi seçtiğinizde bu kategorideki tüm incelemeleri tek bir inceleme olarak düzenleyebilirsiniz.

  6. Denetimleri kopyalamak, yeniden adlandırmak, açıklama eklemek, dışa aktarmak ve içe aktarmak için Şema İşlemlerini Göster Şema İşlemleri simgesini göster listesini seçin.
  7. İşiniz bittiğinde Kaydet'i tıklayın.