수색…


비고

Lint 도구 는 Android 프로젝트 소스 파일에서 정확성, 보안, 성능, 사용 편의성, 액세스 가능성 및 국제화를위한 잠재적 인 버그 및 최적화 개선 사항을 확인합니다. Lint는 명령 줄이나 Android Studio에서 실행할 수 있습니다.

공식 문서 :

https://developer.android.com/studio/write/lint.html

도구 사용 : xml 파일에서 무시

속성 tools:ignore 는 xml 파일에서 사용되어 lint 경고를 닫을 수 있습니다.

그러나이 기술로 보푸라기 경고를 무시하면 대개의 경우 잘못된 방법으로 진행됩니다.

보푸라기 경고는 이해되고 고쳐 져야합니다 ... 당신이 그것을 완전히 이해하고 그것을 무시할 강력한 이유가있는 경우에만 무시할 수 있습니다.

다음은 린트 (lint) 경고를 무시하는 정당한 사용 사례입니다.

  • 시스템 응용 프로그램 (장치 제조업체 키로 서명)을 개발 중입니다.
  • 앱이 기기 날짜 (또는 기타 보호 조치)를 변경해야합니다.

그런 다음 매니페스트에서이 작업을 수행 할 수 있습니다 (즉, 보호 된 권한을 요청하고 사용자의 경우 권한이 부여됨을 알기 때문에 보풀 경고를 무시함)

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      ...>
    <uses-permission android:name="android.permission.SET_TIME"
        tools:ignore="ProtectedPermissions"/>

'사용되지 않음'오류없이 리소스 가져 오기

Android API 23 이상을 사용하면 다음과 같은 상황이 발생할 수 있습니다.

여기에 이미지 설명을 입력하십시오.

이 상황은 리소스를 가져 오는 것과 관련하여 Android API의 구조적 변경으로 인해 발생합니다. 이제 함수 :

public int getColor(@ColorRes int id, @Nullable Theme theme) throws NotFoundException    

사용되어야한다. 그러나 android.support.v4 라이브러리에는 또 다른 해결책이 있습니다.

build.gradle 파일에 다음 종속성을 추가하십시오.

com.android.support:support-v4:24.0.0

그런 다음 지원 라이브러리의 모든 메소드를 사용할 수 있습니다.

ContextCompat.getColor(context, R.color.colorPrimaryDark);
ContextCompat.getDrawable(context, R.drawable.btn_check);
ContextCompat.getColorStateList(context, R.color.colorPrimary);
DrawableCompat.setTint(drawable);
ContextCompat.getColor(context,R.color.colorPrimaryDark));

또한 지원 라이브러리에서 더 많은 메소드를 사용할 수 있습니다.

ViewCompat.setElevation(textView, 1F);
ViewCompat.animate(textView);
TextViewCompat.setTextAppearance(textView, R.style.AppThemeTextStyle);
...

그라데이션으로 LintOptions 구성

build.gradle 파일에 lintOptions 섹션을 추가하여 lint를 구성 할 수 있습니다.

android {

    //.....

    lintOptions {
        // turn off checking the given issue id's
        disable 'TypographyFractions','TypographyQuotes'

        // turn on the given issue id's
        enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'

        // check *only* the given issue id's
        check 'NewApi', 'InlinedApi'

       // set to true to turn off analysis progress reporting by lint
       quiet true
 
       // if true, stop the gradle build if errors are found
       abortOnError false
   
       // if true, only report errors
       ignoreWarnings true
    }
}

특정 변종 (아래 참조) (예 : ./gradlew lintRelease ) 또는 모든 변종 ( ./gradlew lint )에 대해 lint를 실행할 수 있습니다.이 경우 특정 문제가 적용되는 특정 변종을 설명하는 보고서가 작성됩니다.

사용 가능한 모든 옵션 에 대해서는 DSL 참조를 확인하십시오.

lint.xml 파일을 구성하는 방법

lint.xml 파일에서 Lint 검사 기본 설정을 지정할 수 있습니다. 이 파일을 수동으로 생성하는 경우 Android 프로젝트의 루트 디렉토리에 배치하십시오. Android Studio에서 Lint 환경 설정을 구성하는 경우 lint.xml 파일이 자동으로 만들어져 Android 프로젝트에 추가됩니다.

예:

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

태그의 심각도 속성 값을 설정하여 문제에 대한 Lint 검사를 비활성화하거나 문제의 심각도 수준을 변경할 수 있습니다.

다음 예제는 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>

Java 및 XML 소스 파일에서 보풀 확인 구성

Java 및 XML 소스 파일에서 Lint 점검을 사용 불가능하게 할 수 있습니다.

Java에서 보풀 검사 구성

Android 프로젝트의 Java 클래스 또는 메소드에 대한 Lint 검사를 사용하지 않으려면 해당 Java 코드에 @SuppressLint 주석 을 추가하십시오.

예:

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

모든 Lint 문제를 검사하지 않으려면 다음과 같이하십시오.

@SuppressLint("all")

XML에서 보풀 검사 구성

tools:ignore 속성을 사용하여 XML 파일 의 특정 섹션에 대한 Lint 검사를 비활성화 할 수 있습니다 .

예 :

tools:ignore="NewApi,StringFormatInvalid"

XML 요소의 모든 Lint 문제를 확인하지 않으려면 다음을 사용하십시오.

tools:ignore="all"

경고 표시 금지

코드에서 몇 가지 경고를 표시하는 것이 좋습니다. 예를 들어 일부 비추천 메소드는 테스트 또는 이전 지원 버전에 필요합니다. 그러나 린트 검사는 경고와 함께 해당 코드를 표시합니다. 이 문제를 피하려면 주석 @SuppressWarnings을 사용해야합니다.

예를 들어, 사용되지 않는 메소드에 경고 무시를 추가하십시오. 주석에 경고 설명을 추가해야합니다.

@SuppressWarnings("deprecated");
public void setAnotherColor (int newColor) {
    getApplicationContext().getResources().getColor(newColor)
}

이 주석을 사용하면 Lint, Android 및 기타를 포함하여 모든 경고를 무시할 수 있습니다. Suppress Warnings을 사용하면 코드를 올바르게 이해하는 데 도움이됩니다!



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow