Lint 검사로 코드 개선하기

테스트를 빌드하여 앱이 기능적 요구사항을 충족하는지 확인하는 것 외에도 Lint를 통해 코드를 실행하여 코드에 구조적 문제가 없는지 확인하는 것이 중요합니다. Lint 도구를 사용하면 구조적 문제로 인해 Android 앱의 안정성과 효율성에 영향을 미치거나 코드 관리에 지장을 줄 가능성이 있는 코드를 찾을 수 있습니다.

예를 들어 XML 리소스 파일에 사용하지 않는 네임스페이스가 있다면 공간을 차지하고 불필요한 처리가 발생합니다. 다른 구조적 문제, 예를 들면 지원 중단된 요소를 사용하거나 대상 API 버전에서 지원하지 않는 API 호출을 사용하는 문제가 발생하는 경우 코드가 올바르게 실행되지 않을 수 있습니다. Lint를 사용하면 이런 문제를 해결할 수 있습니다.

Lint 성능을 더욱 개선하려면 코드에 주석도 추가해야 합니다.

개요

Android 스튜디오에 있는 Lint라는 코드 스캔 도구를 사용하면 앱을 실행하거나 테스트 사례를 작성하지 않고도 코드의 구조적 문제를 식별하고 수정할 수 있습니다. 도구에서 탐지된 각 문제는 설명 메시지 및 심각도 수준과 함께 보고되므로 개선이 시급한 순서대로 신속히 우선순위를 결정할 수 있습니다. 또한 프로젝트와 관련이 없는 문제를 무시해서 문제의 심각도 수준을 낮추거나 특정 문제를 강조하여 심각도 수준을 높일 수 있습니다.

Lint 도구는 잠재적 버그를 찾아내고 정확성, 보안, 성능, 사용성, 접근성 및 국제성을 높이기 위해 Android 프로젝트 소스 파일을 검사합니다. Android 스튜디오를 사용할 경우 앱을 빌드할 때마다 구성된 Lint와 IDE 검사가 실행됩니다. 하지만 검사를 수동으로 실행하거나 명령줄에서 Lint를 실행할 수도 있습니다.

참고: Android 스튜디오에서 코드를 컴파일할 때는 추가 IntelliJ 코드 검사가 실행되어 코드 검토가 간소화됩니다.

그림 1은 Lint 도구가 애플리케이션 소스 파일을 처리하는 모습을 보여줍니다.

그림 1. Lint 도구를 사용한 코드 스캔 워크플로

애플리케이션 소스 파일
소스 파일은 자바 파일, Kotlin 파일, XML 파일과 아이콘 및 ProGuard 구성 파일을 포함하여 Android 프로젝트를 구성하는 파일로 이루어집니다.
lint.xml 파일
배제하고 싶은 Lint 검사를 지정하고 문제 심각도 수준을 맞춤설정하는 데 사용할 수 있는 구성 파일입니다.
Lint 도구
명령줄 또는 Android 스튜디오를 사용하여 Android 프로젝트에서 실행할 수 있는 정적 코드 스캔 도구입니다(수동으로 검사 실행하기 참고). Lint 도구는 Android 애플리케이션의 품질과 성능에 영향을 미칠 수 있는 구조적 코드 문제를 검사합니다. 애플리케이션을 게시하기 전에 Lint가 탐지한 오류를 수정하는 것이 좋습니다.
Lint 검사 결과
Android 스튜디오의 콘솔이나 Inspection Results 창에서 결과를 확인할 수 있습니다. 수동으로 검사 실행하기를 참고하세요.

명령줄에서 Lint 실행하기

Android 스튜디오나 Gradle을 사용 중인 경우 프로젝트의 루트 디렉터리에서 다음 명령 중 하나를 입력하면 Gradle 래퍼를 사용하여 프로젝트의 lint 작업을 호출할 수 있습니다.

  • Windows의 경우:
        gradlew lint
        
  • Linux 또는 Mac의 경우:
        ./gradlew lint
        

다음과 비슷한 출력이 표시됩니다.

    > Task :app:lint
    Ran lint on variant release: 5 issues found
    Ran lint on variant debug: 5 issues found
    Wrote HTML report to file:<path-to-project>/app/build/reports/lint-results.html
    Wrote XML report to file:<path-to-project>/app/build/reports/lint-results.xml
    

Lint 도구에서 검사가 완료되면 XML 버전 및 HTML 버전의 Lint 보고서 경로가 제공됩니다. 그러면 HTML 보고서로 이동하여 브라우저에서 보고서를 열 수 있습니다(그림 2 참고).

그림 2. HTML Lint 보고서 샘플

프로젝트에 빌드 변형이 포함된 경우 특정 빌드 변형에만 lint 작업을 실행하고 싶다면 원하는 변형의 이름을 대문자로 바꾸고 lint라는 접두사를 붙여야 합니다.

    gradlew lintDebug
    

명령줄에서 Gradle 작업을 실행하는 방법을 자세히 알아보려면 명령줄에서 앱 빌드하기를 참조하세요.

독립형 도구를 사용하여 Lint 실행하기

Android 스튜디오나 Gradle을 사용하지 않는 경우 독립형 Lint 도구를 사용할 수 있습니다. SDK Manager에서 Android SDK 도구를 설치한 후에 android_sdk/tools/ 디렉터리에서 Lint 도구를 찾으면 됩니다.

프로젝트 디렉터리에서 파일 목록에 Lint를 실행하려면 다음 명령을 사용합니다.

lint [flags] <project directory>

예를 들어 다음 명령을 실행하여 myproject 디렉터리 및 하위 디렉터리에 있는 파일을 스캔할 수 있습니다. 문제 ID MissingPrefix는 Android 네임스페이스 접두사가 없는 XML 속성만 스캔하도록 Lint에 지시합니다.

lint --check MissingPrefix myproject 

도구에서 지원하는 플래그 및 명령줄 인수의 전체 목록을 보려면 다음 명령을 사용하세요.

lint --help

다음 예는 Earthquake라는 프로젝트에서 Lint 명령을 실행할 때 콘솔 출력을 보여줍니다.

    $ 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
    

위의 출력에는 경고 4개가 있고 오류는 없습니다. 경고 3개(ManifestOrder, UsesMinSdkAttributes, UnusedResources)는 프로젝트의 AndroidManifest.xml 파일에서 발생했고, 경고 1개(IconMissingDensityFolder)는 Preferences.xml 레이아웃 파일에서 발생했습니다.

경고를 표시하지 않도록 Lint 구성하기

기본적으로 Lint 스캔을 실행하면 도구는 Lint에서 지원하는 모든 문제를 검사합니다. 또한 Lint를 통해 검사할 문제를 제한하고 문제에 심각도 수준을 할당할 수 있습니다. 예를 들어 프로젝트와 관련이 없는 특정 문제는 Lint에서 검사가 이루어지지 않도록 구성하거나 심각도 수준이 낮고 중요하지 않은 문제를 보고하도록 Lint를 구성할 수도 있습니다.

다양한 수준으로 Lint 검사를 구성할 수 있습니다.

  • 전역(전체 프로젝트)
  • 프로젝트 모듈
  • 프로덕션 모듈
  • 테스트 모듈
  • 열린 파일
  • 클래스 계층 구조
  • 버전 제어 시스템(VCS) 범위

Android 스튜디오에서 Lint 구성하기

Android 스튜디오를 사용하는 동안 내장된 Lint 도구가 코드를 검사합니다. 경고와 오류를 확인할 수 있는 2가지 방법이 있습니다.

  • 코드 편집기에서 팝업 텍스트로 확인합니다. Lint가 문제를 발견하면 문제가 있는 코드는 노란색으로 강조표시됩니다. 더욱 심각한 문제는 코드를 빨간색 밑줄로 표시합니다.
  • Analyze > Inspect Code를 클릭한 후 Lint Inspection Results 창에서 확인합니다. 수동으로 검사 실행하기를 참고하세요.

Lint 파일 구성하기

lint.xml 파일에서 Lint 검사 환경설정을 지정할 수 있습니다. 이 파일을 수동으로 만드는 경우 Android 프로젝트의 루트 디렉터리에 파일을 넣습니다.

lint.xml 파일은 하위 <issue> 요소를 하나 이상 포함하는 <lint> 상위 태그로 구성됩니다. Lint에서는 각 <issue>의 고유한 id 속성 값을 정의합니다.

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

<issue> 태그에서 심각도 속성을 설정하여 문제의 심각도 수준을 변경하거나 문제를 Lint에서 검사하지 않도록 설정할 수 있습니다.

도움말: Lint에서 지원하는 문제 및 문제 ID의 전체 목록을 보려면 lint --list 명령을 실행합니다.

lint.xml 파일 샘플

다음 예는 lint.xml 파일의 내용을 보여줍니다.

    <?xml version="1.0" encoding="UTF-8"?>
    <lint>
        <!-- Disable the given 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>
    

Lint에서 자바, Kotlin, XML 소스 파일 검사 구성하기

자바, Kotlin, XML 소스 파일을 대상으로 하는 Lint 검사를 사용 중지할 수 있습니다.

도움말: Default Preferences 대화상자에서 자바, Kotlin, XML 소스 파일을 대상으로 한 Lint 검사 기능을 관리할 수 있습니다. File > Other Settings > Default Settings를 선택하고 Default Preferences 대화상자의 왼쪽 창에서 Editor > Inspections를 선택합니다.

자바 또는 Kotlin에서 Lint 검사 구성하기

Android 프로젝트에서 특정 클래스 또는 메서드를 대상으로 Lint 검사를 사용 중지하려면 코드에 @SuppressLint 주석을 추가합니다.

다음 예에서는 onCreate 메서드에서 NewApi 문제를 탐지하는 Lint 검사를 사용 중지할 수 있는 방법을 보여줍니다. 이 경우 Lint 도구는 이 클래스의 다른 메서드에서는 계속해서 NewApi 문제를 검사합니다.

Kotlin

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

자바

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

다음 예에서는 FeedProvider 클래스에서 ParserError 문제를 탐지하는 Lint 검사를 사용 중지할 수 있는 방법을 보여줍니다.

Kotlin

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

자바

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

파일에서 모든 Lint 문제 검사를 금지하려면 다음과 같이 all 키워드를 사용합니다.

Kotlin

    @SuppressLint("all")
    

자바

    @SuppressLint("all")
    

XML에서 Lint 검사 구성하기

XML 파일의 특정 섹션을 대상으로 Lint 검사를 사용 중지하려면 tools:ignore 속성을 사용하면 됩니다. 다음 네임스페이스 값을 lint.xml 파일에 입력하여 Lint 도구에서 속성을 인식하도록 합니다.

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

다음 예에서는 XML 레이아웃 파일의 <LinearLayout> 요소에서 UnusedResources 문제를 탐지하는 Lint 검사를 사용 중지할 수 있는 방법을 보여줍니다. ignore 속성은 이 속성을 선언한 상위 요소의 하위 요소에서 상속됩니다. 이 예에서는 하위 <TextView> 요소를 대상으로 한 Lint 검사도 사용 중지됩니다.

    <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 요소에서 모든 Lint 문제 검사를 금지하려면 다음과 같이 all 키워드를 사용합니다.

    tools:ignore="all"
    

Gradle에서 Lint 옵션 구성하기

Gradle용 Android 플러그인을 사용하면 모듈 수준 build.gradle 파일에 lintOptions {} 블록을 사용하여 실행하거나 무시할 검사를 지정하는 등의 특정 Lint 옵션을 구성할 수 있습니다. 다음 코드 스니펫은 구성 가능한 속성 몇 가지를 보여줍니다.

    android {
      ...
      lintOptions {
        // 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.
        check '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 true, only report errors.
        ignoreWarnings true
      }
    }
    ...
    

경고 기준 만들기

프로젝트의 현재 경고 세트의 스냅샷을 만든 후 이 스냅샷을 이후 검사 실행의 기준으로 사용하여 새로운 문제만 보고되도록 만들 수 있습니다. 기준 스냅샷을 사용하면 먼저 모든 기존 문제로 돌아가 문제를 해결하지 않고도 Lint를 사용해 빌드를 통과시키지 않게 만들 수 있습니다.

기준 스냅샷을 만들려면 다음과 같이 프로젝트의 build.gradle 파일을 수정합니다.

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

위의 줄을 처음 추가하면 기준을 설정하는 lint-baseline.xml 파일이 만들어집니다. 그런 다음에는 도구가 파일만 읽어 기준을 확인합니다. 새로운 기준을 만들려면 수동으로 파일을 삭제한 후 Lint를 다시 실행하여 파일을 다시 만듭니다.

그런 다음, 다음과 같이 IDE(Analyze > Inspect Code) 또는 명령줄에서 Lint를 실행합니다. 출력 내용에 lint-baseline.xml 파일의 위치가 표시됩니다. 실제로 설정할 때 파일 위치는 여기에 나온 것과 다를 수 있습니다.

    $ ./gradlew lintDebug

    ...

    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을 수정하여 추가할 문제를 지정하면 됩니다.

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

기준을 만든 후에 새로운 경고를 코드베이스에 추가하는 경우 새로 발생한 버그만 Lint에 나열됩니다.

기준 경고

기준이 적용되면 하나 이상의 문제가 이미 기준에 나열되어 있어 필터링되었음을 알리는 정보성 경고를 받게 됩니다. 이 경고가 표시되는 이유는 개발자가 기준을 구성했음을 기억하도록 돕기 위함입니다. 이상적으로는 특정 시점에 모든 문제를 해결해야 할 수 있기 때문입니다.

이러한 정보성 경고는 필터링된 오류 및 경고의 정확한 수를 알려줄 뿐만 아니라 더 이상 보고되지 않는 문제도 계속 추적합니다. 이 정보를 통해 실제로 문제를 해결했는지 여부를 알 수 있어 선택적으로 같은 오류가 탐지되지 않으면서 재발하는 것을 방지하기 위해 기준을 다시 만들 수도 있습니다.

참고: 기준은 IDE에서 일괄 모드로 검사를 실행하면 사용 설정되지만 파일을 수정할 때 백그라운드에서 실행되는 편집기 내 검사에서는 무시됩니다. 그 이유는, 기준은 코드베이스에 기존 경고가 매우 많은 경우를 위한 것인데 개발자가 코드 작업을 하는 동안에는 로컬에서 문제를 해결하지 않기 때문입니다.

수동 검사 실행하기

Analyze > Inspect Code를 선택하면 구성된 Lint 검사 및 다른 IDE 검사를 수동으로 실행할 수 있습니다. 검사 결과는 Inspection Results 창에 나타납니다.

검사 범위 및 프로필 설정하기

분석하고 싶은 파일(검사 범위)과 실행할 검사(검사 프로필)를 다음과 같이 선택합니다.

  1. Android 뷰에서 프로젝트를 열고 분석할 프로젝트, 폴더, 파일을 선택합니다.
  2. 메뉴 바에서 Analyze > Inspect Code를 선택합니다.
  3. Specify Inspection Scope 대화상자에서 설정을 검토합니다. 검사 범위 지정

    그림 3. 검사 범위 설정 검토하기

    Specify Inspection Scope 대화상자에 나타나는 옵션 조합은 프로젝트, 폴더, 파일 중 어느 것을 선택했는지에 따라 다릅니다. 다른 라디오 버튼 중 하나를 선택하여 검사 대상을 변경할 수 있습니다. Specify Inspection Scope 대화상자의 모든 가능한 필드에 대한 설명은 Specify inspection scope 대화상자를 참고하세요.

    • 프로젝트, 파일 디렉터리를 하나 선택하면 Specify Inspection Scope 대화상자에 선택한 Project, File, Directory의 경로가 표시됩니다.
    • 프로젝트, 파일, 디렉터리를 2개 이상 선택하면 Specify Inspection Scope 대화상자에 선택한 파일의 선택된 라디오 버튼이 표시됩니다.
  4. Inspection profile에서 기본 프로필(Project Default)을 유지합니다.
  5. OK를 클릭하여 검사를 실행합니다. 그림 4는 Inspect Code 실행 시 Lint 및 다른 IDE 검사 결과를 보여줍니다.

    그림 4. 문제를 선택하여 해결책 확인하기

  6. 왼쪽 창의 트리 보기에서 오류 카테고리, 유형, 문제를 펼쳐서 선택하면 검사 결과를 확인할 수 있습니다.

    오른쪽 창은 선택한 오류 카테고리, 유형 또는 문제의 검사 보고서를 표시하고 오류의 이름과 위치를 제공합니다. 경우에 따라, 검사 보고서는 문제 개요와 같이 문제를 수정하는 데 도움이 되는 다른 정보를 표시합니다.

  7. 왼쪽 창의 트리 보기에서 카테고리, 유형 또는 문제를 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 표시합니다.

    상황에 따라 소스로 건너뛰기, 선택 항목 제외/포함, 문제 숨기기, 설정 수정, 검사 알림 관리, 검사 재실행을 모두 실행하거나 그중 일부만 실행할 수 있습니다.

왼쪽 툴바 버튼, 컨텍스트 메뉴 항목, 검사 보고서 필드에 대한 설명은 Inspection Tool 창을 참고하세요.

맞춤 범위 사용하기

다음과 같이 Android 스튜디오에서 제공되는 맞춤 범위 중 하나를 사용할 수 있습니다.

  1. Specify Inspection Scope 대화상자에서 Custom scope를 클릭합니다.
  2. Custom scope 드롭다운 목록을 클릭하여 옵션을 표시합니다.

    검사 범위 선택

    그림 5. 사용하려는 맞춤 범위 선택하기

    • Project Files: 현재 프로젝트의 모든 파일입니다.
    • Project Production Files: 현재 프로젝트의 프로덕션 파일만 해당합니다.
    • Project Test Files: 현재 프로젝트의 테스트 파일만 해당합니다. 테스트 유형 및 위치를 참고하세요.
    • Open Files: 현재 프로젝트에서 열어 둔 파일만 해당합니다.
    • Module <your-module>: 현재 프로젝트에서 해당 모듈 폴더에 있는 파일만 해당합니다.
    • Current File: 현재 프로젝트에 있는 현재 파일만 해당합니다. 파일 또는 폴더를 선택했을 때 나타납니다.
    • Class Hierarchy: 이 항목을 선택하고 OK를 클릭하면 현재 프로젝트의 모든 클래스와 함께 대화상자가 나타납니다. 대화상자의 Search by Name 필드를 사용하여 검사할 클래스를 필터링하고 선택합니다. 클래스 목록을 필터링하지 않으면 코드 검사에서 모든 클래스를 검사합니다.
  3. OK를 클릭합니다.

맞춤 범위 만들기

현재 이용 가능한 맞춤 범위에 포함되지 않는 파일과 디렉터리를 검사하기 위해 맞춤 범위를 만들 수 있습니다.

  1. Specify Inspection Scope 대화상자에서 Custom scope를 선택합니다.
  2. Custom Scope 드롭다운 목록 다음에 있는 점 세 개를 클릭합니다.

    그림 6. Specify Inspection Scope 대화상자

    Scopes 대화상자가 나타납니다.

    그림 7. 맞춤 범위 만들기

  3. Add 를 클릭하여 새 범위를 정의합니다.
  4. 이후에 나타나는 Add Scope 드롭다운 목록에서 Local을 선택합니다.

    로컬 범위와 공유 범위는 모두 프로젝트 내에서 Inspect Code 기능에 사용됩니다. Shared 범위는 범위 필드가 있는 다른 프로젝트 기능에서도 사용할 수 있습니다. 예를 들어 Edit Settings 를 클릭하여 Find Usages의 설정을 변경하면 이후 나타나는 대화상자의 Scope 필드에서 공유 범위를 선택할 수 있습니다.

    그림 8. Find Usages 대화상자에서 공유 범위 선택하기

  5. 범위에 이름을 지정하고 OK를 클릭합니다.

    Scopes 대화상자의 오른쪽 창에 맞춤 범위를 정의할 수 있는 옵션이 나타납니다.

  6. 드롭다운 목록에서 Project를 선택합니다.

    이용 가능한 프로젝트 목록이 나타납니다.

    참고: 프로젝트 또는 패키지의 맞춤 범위를 만들 수 있습니다. 어느 쪽이든 단계는 동일합니다.

  7. 프로젝트 폴더를 펼치고 맞춤 범위에 추가할 항목을 선택한 다음, 오른쪽에 있는 버튼 중 하나를 클릭합니다.

    그림 9. 맞춤 범위 정의하기

    • Include: 이 폴더와 그 안의 파일을 포함하지만 하위 폴더는 포함하지 않습니다.
    • Include Recursively: 이 폴더와 그 안의 모든 파일, 그리고 하위 폴더와 그 안의 파일까지 포함합니다.
    • Exclude: 이 폴더와 그 안의 파일을 제외하지만 하위 폴더는 제외하지 않습니다.
    • Exclude Recursively: 이 폴더와 그 안의 모든 파일, 그리고 하위 폴더 및 그 안의 파일까지 제외합니다.

    그림 10은 main 폴더가 포함되어 있고 java 폴더는 재귀적으로 포함된 상태를 보여줍니다. 파란색은 부분적으로 포함된 폴더를 나타내고 녹색은 재귀적으로 포함된 폴더와 파일을 나타냅니다.

    그림 10. 맞춤 범위 패턴의 예

    • java 폴더를 선택하고 Exclude Recursively를 클릭하면 java 폴더와 그 안의 모든 폴더 및 파일을 강조표시하는 녹색이 사라집니다.
    • 녹색으로 강조표시된 MainActivity.java 파일을 선택하고 Exclude를 클릭하면 MainActivity.java에서 녹색이 사라지지만 java 폴더에 있는 그 외의 다른 모든 파일은 녹색으로 강조표시됩니다.
  8. OK를 클릭합니다. 맞춤 범위가 드롭다운 목록의 하단에 나타납니다.

검사 프로필 검토 및 수정하기

Android 스튜디오에는 Android 업데이트를 통해 업데이트된 Lint 및 다른 검사 파일들이 있습니다. 이 프로필을 그대로 사용하거나 이름, 설명, 심각도, 범위를 수정할 수 있습니다. 또한 프로필 그룹 전체 또는 그룹 내 개별 프로필을 활성화/비활성화할 수도 있습니다.

Inspections 대화상자에 액세스하려면 다음을 따릅니다.

  1. Analyze > Inspect Code를 선택합니다.
  2. Specify Scope 대화상자의 Inspection Profile에서 More를 클릭합니다.

    Inspections 대화상자가 지원되는 검사 및 설명 목록과 함께 나타납니다.

    그림 11. 지원되는 검사 및 설명

  3. Profile 드롭다운 목록을 선택하여 Default 검사(Android 스튜디오)와 Project Default 검사(활성 프로젝트) 간에 전환합니다. 자세한 내용은 IntelliJ Specify Inspection Scope Dialog(검사 범위 대화상자 지정) 페이지를 참고하세요.
  4. 왼쪽 창의 Inspections 대화상자에서 최상위 프로필 카테고리를 선택하거나 그룹을 펼쳐서 특정 프로필을 선택합니다. 프로필 카테고리를 선택하면 카테고리에 있는 모든 검사를 단일 검사로 수정할 수 있습니다.
  5. Manage 드롭다운 목록을 선택하여 검사 복사, 이름 바꾸기, 설명 추가, 내보내기, 가져오기를 수행합니다.
  6. 완료되면 OK를 클릭합니다.