Android Lint 및 수정 방법

6066 단어 Android

입문


Android에서 Lint를 통해 코드를 개선하는 것이 중요합니다.
공식 홈페이지에 이렇게 적혀 있다.
기능 요구를 충족시키기 위해 안드로이드 프로그램을 테스트하는 것 외에 코드에 구조적인 문제가 있는지 확인하는 것이 중요하다.코드 구조가 부적절하면 안드로이드 응용 프로그램의 신뢰성과 효율에 영향을 주어 코드 유지보수에 어려움을 초래할 수 있다.예를 들어, XML 리소스 파일에 사용되지 않는 네임스페이스가 있는 경우 공간이 필요하고 불필요한 처리가 발생합니다.지원에서 종료된 요소나 대상 API 버전에서 지원되지 않는 API 호출과 같은 구조와 관련된 다른 문제가 있으면 코드가 제대로 작동하지 않을 수 있습니다.
그런데 계속 개발만 하는 게 귀찮아서 Lint를 무시했어요.
링크를 시도할 때Android 39 warnings Kotlin 10 warnings 2 infos Spelling 72typos XML 1 warning보수적인 조각도 결과가 없다.하나하나 수정하다.
그런데 무려 72군데가 타자를 치고 있어요.

행 실행


Android Studio의 버전은 3.4입니다.
여러 가지 Lint 실행 방법이 있지만 Android Studio에서 실행하는 것은 간단하다고 생각합니다.
실행 방법: Analyze > Inspect Code...
그런 다음 Lint의 역할 영역을 선택하는 화면이 나타나므로 선택하고 OK 를 눌러 실행할 수 있습니다.

XML 1 warning

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
...
</layout>
이런 xml은 앱Namespace declaration is neverused을 사용하지 않았기 때문에 제거했다xmlns:app="http://schemas.android.com/apk/res-auto".

Spelling 72 typos


자세히 보면 응용 프로그램 이름과 라이브러리 이름인 모시와 Sthetho 등은 typo입니다.Android Studio > Preferences... > Spelling > Accepted Words
+ 단추를 누르면 type 이상이 추가됩니다.
(Entity를 Entity로 쓰고 Thumbnail을 Thumnail로 쓰기 때문에 일반적으로 수정됩니다.)

Kotlin 10 warnings 2 infos


Unused import directive


import를 하는데 사용하지 않는 물건이 있는warning입니다.
문서 레지스트리에 항목 추가
삭제를 잊어버린 파일이 여러 개 있습니다.

Unused symbol


사용할 방법이 있습니까?
삭제하거나 나중에 사용할 수 있는 방법이 주석되어 있습니다.

사유화


Kotlin2 infos의 내용은 private가 할 수 있는 곳은 private입니다.
구체적으로 이런 내용↓import android.util.Log Property 'articleViewModel' could be private

Android 39 warnings


ImageView 에 contentDescription 이 없습니다.


xml에서 ImageViewFunction 'reload' could be private를 사용하면 화가 납니다.
보조 기능contentDescription을 높이기 위해서는 필요한 것으로 조사됐다.

배치 지정 방법


android:layout_marginLeftandroid: layout_marginStart는 better입니다.
android:layout_alignParentRight 제공 android:layout_alignParentEnd가 better입니다.
android:layout_toRightOf 제공 android:layout_to End Of 는 better.
혼나서 수정했어.

사용하지 않는 자원 삭제

contentDescriptionwarning이 나타났다.
사용하지 않은 자원을 배치했기 때문에 삭제합니다.
이렇게 하면 Android Studio에서 간단하게 삭제할 수 있습니다.
(종속성을 검사하는 것 같다)

필요 없는 Relative Layout

Unused resources의warning.

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/content_height"
        android:background="@drawable/border_bottom">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/article_height"
            android:layout_margin="@dimen/article_margin">
필요 없는 Relative Layout이 있기 때문에 Relative Layout을 한데 모으면 warning을 없앨 수 있습니다.

Lint에서 제외할 파일 지정하기


Lint 객체에서 제외할 파일이 있습니다.
lint.xml을 만들고 Gradle에서 lintOptions를 지정하면 Lint에 속하지 않는 파일을 지정할 수 있습니다.디렉토리별로 지정할 수도 있습니다.
lint.xml
<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <issue id="all">
        <ignore path="path1"/>
        <ignore path="path2"/>
    </issue>
</lint>
app/build.gradle
android {
    lintOptions {
        lintConfig file('lint.xml')
    }
}

마지막


이 일은 하루 종일 녹았다.
Android Studio의 우수한 기능이 없다면 시간이 더 걸릴 것 같습니다...
이거 나올 때 좀 감동적이었어.

Lint 규칙을 혼자 만들 수 있고,ktlint라는 Kotlin이 사용하는 Linter도 있기 때문에 Lint를 좀 더 깊이 이해하고 실천하고 싶습니다.
그리고 지금부터 부지런히 연결해서 수정해야 한다.(대략)

좋은 웹페이지 즐겨찾기