Skocz do zawartości
Coders Lab

Lint - podpowie co poprawić

    Rekomendowane odpowiedzi

    Na pewno zależy Wam na jakości i czystości kodu w Waszej aplikacji. Statyczne narzędzie do analizy kodu jakim jest Lint, pomoże usprawniać pisany kod. Służy ono do sprawdzania plików źródłowych projektu, pod kątem niewykorzystanych zasobów, problemów z grafiką, wydajnością, layoutami czy też brakujących tłumaczeń.

    Aby uruchomić statyczną analizę kodu najprościej użyć wbudowanego terminala:
    image.png.dce5816c86ea8ebce3b1660362231821.png

    Wpisujemy komendę:

    gradle lint

    i klikamy enter.

    Po kilku chwilach analiza się zakończy. W moim przypadku z błędem:

    > Task :app:lint 
    Ran lint on variant debug: 4 issues found
    Ran lint on variant release: 4 issues found
    Wrote HTML report to file:///C:/androidcompl/Tutorial/app/build/reports/lint-results.html
    Wrote XML report to file:///C:/androidcompl/Tutorial/app/build/reports/lint-results.xml
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':app:lint'.
    > Lint found errors in the project; aborting build.
    
      Fix the issues identified by lint, or add the following to your build script to proceed with errors:
      ...
      android {
          lintOptions {
              abortOnError false
          }
      }
      ...
    
      Errors found:
    
      C:\androidcompl\Tutorial\app\src\main\res\layout\activity_main.xml:8: Error: This view is not constrained. It only has designtime positions, so it will jump to (0,0) at runtime unless you add the constraints [MissingConstraints]
          <TextView
          ^
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 10s
    32 actionable tasks: 1 executed, 31 up-to-date

    Log nie zachęca do analizy co poszło nie tak. Na całe szczęście Lint generuje też raport w html, który jest bardziej czytelny dla człowieka :)  Lokalizacja raportu znajduje się na początku logu:

    Wrote HTML report to file:///C:/androidcompl/Tutorial/app/build/reports/lint-results.html

    Teraz wystarczy skopiować ten adres (kopiujemy i wklejamy wszystko, począwszy od "file///")  i wkleić w adres url w ulubionej przeglądarce:

    image.thumb.png.c8e152d207f6a737fd0b7798aa464573.png

    Widoczny jest tutaj jeden error i 3 warningi. Zajmiemy się teraz rozwiązaniem błędu. Jego opis mówi o tym, że element TextView nie ma ustawionej prawidłowej pozycji. W czasie działania programu zostanie przeniesiony do pozycji (0,0). Czyli do lewego górnego rogu ekranu. Sprawdźmy to uruchamiając program na emulatorze:

    image.png.d2a66b816309f9fc1f3fc272be5fa8e0.png

    I rzeczywiście. Na podglądzie napis jest prawie na środku ekranu, a na emulatorze został przeniesiony w lewy górny róg.

    Możemy to szybko naprawić, klikając w każdą z 4 kropek i przeciągając linię do boku ekranu:

    image.png.354b61a37875e8d020b559fb0ba96a33.png

    W XML zapis będzie wyglądał następująco.

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:text="android.com.pl"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

    W tej chwili uruchamiając ponownie analizę statyczną kodu na końcu zobaczymy:

    image.png.ac0ea1e99250953ad031268bf7edb326.png

    Nasza aplikacja nie ma już "krytycznych" błędów.  

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x