Lint Report: 31 warnings and 2 hints
Issue Types

Overview

Correctness
2warning OldTargetApi: Target SDK attribute is not targeting latest version
1warning AndroidGradlePluginVersion: Obsolete Android Gradle Plugin Version
5warning GradleDependency: Obsolete Gradle Dependency
16warning NewerVersionAvailable: Newer Library Versions Available
2warning SimilarGradleDependency: Multiple Versions Gradle Dependency
Performance
2warning ObsoleteSdkInt: Obsolete SDK_INT Version Check
3warning UnusedResources: Unused resources
Usability:Icons
2warning IconLocation: Image defined in density-independent drawable folder
Included Additional Checks (94)
Disabled Checks (41)

Target SDK attribute is not targeting latest version

../../build.gradle.kts:132: Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the android.os.Build.VERSION_CODES javadoc for details.
 129     defaultConfig {
 130         applicationId = "world.respect.app"
 131         minSdk = libs.versions.android.minSdk.get().toInt()
 132         targetSdk = libs.versions.android.targetSdk.get().toInt()                                   
 133         versionCode = 1
 134         versionName = "1.0"
 135     }
../../../gradle/libs.versions.toml:5: Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the android.os.Build.VERSION_CODES javadoc for details.
   2 agp = "8.11.1"
   3 android-compileSdk = "35"
   4 android-minSdk = "24"
   5 android-targetSdk = "35"                                                                            
   6 androidx-activityCompose = "1.10.1"
   7 androidx-appcompat = "1.7.1"
   8 androidx-lifecycle = "2.9.1"
OldTargetApi Correctness Warning Priority 6/10

Obsolete Android Gradle Plugin Version

../../../gradle/wrapper/gradle-wrapper.properties:4: A newer version of Gradle than 8.13 is available: 8.14.3
 1 #Tue Apr 29 23:56:14 IST 2025
 2 distributionBase=GRADLE_USER_HOME
 3 distributionPath=wrapper/dists
 4 distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip                      
 5 networkTimeout=10000
 6 validateDistributionUrl=true
 7 zipStoreBase=GRADLE_USER_HOME
AndroidGradlePluginVersion Correctness Warning Priority 4/10

Obsolete Gradle Dependency

../../build.gradle.kts:127: A newer version of compileSdkVersion than 35 is available: 36
 124     }
 125 
 126     namespace = "world.respect.app"
 127     compileSdk = libs.versions.android.compileSdk.get().toInt()                                     
 128 
 129     defaultConfig {
 130         applicationId = "world.respect.app"
../../../gradle/libs.versions.toml:3: A newer version of compileSdkVersion than 35 is available: 36
   1 [versions]
   2 agp = "8.11.1"
   3 android-compileSdk = "35"                                                                           
   4 android-minSdk = "24"
   5 android-targetSdk = "35"
   6 androidx-activityCompose = "1.10.1"
../../../gradle/libs.versions.toml:8: A newer version of androidx.lifecycle:lifecycle-common-java8 than 2.9.1 is available: 2.9.2
   5 android-targetSdk = "35"
   6 androidx-activityCompose = "1.10.1"
   7 androidx-appcompat = "1.7.1"
   8 androidx-lifecycle = "2.9.1"                                                                        
   9 # As per https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-navigation-routing.html
  10 navigation = "2.9.0-beta03"
  11 argparse4j = "0.9.0"
../../../gradle/libs.versions.toml:8: A newer version of androidx.lifecycle:lifecycle-runtime-compose than 2.9.1 is available: 2.9.2
   5 android-targetSdk = "35"
   6 androidx-activityCompose = "1.10.1"
   7 androidx-appcompat = "1.7.1"
   8 androidx-lifecycle = "2.9.1"                                                                        
   9 # As per https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-navigation-routing.html
  10 navigation = "2.9.0-beta03"
  11 argparse4j = "0.9.0"
../../../gradle/libs.versions.toml:32: A newer version of androidx.webkit:webkit than 1.8.0 is available: 1.14.0
  29 androidx-sqlite = "2.5.2"
  30 coilCompose = "3.2.0"
  31 multiplatformsettings = "1.3.0"
  32 androidx-webkit = "1.8.0"                                                                           
  33 kotlinx-io = "0.8.0"
  34 nanohttpd =  "2.3.1"
  35 napier = "2.7.1"
GradleDependency Correctness Warning Priority 4/10

Newer Library Versions Available

../../../gradle/libs.versions.toml:10: A newer version of org.jetbrains.androidx.navigation:navigation-compose than 2.9.0-beta03 is available: 2.9.0-beta04
   7 androidx-appcompat = "1.7.1"
   8 androidx-lifecycle = "2.9.1"
   9 # As per https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-navigation-routing.html
  10 navigation = "2.9.0-beta03"                                                                         
  11 argparse4j = "0.9.0"
  12 compose-multiplatform = "1.8.2"
  13 kotlin = "2.2.0"
../../../gradle/libs.versions.toml:17: A newer version of io.ktor.plugin than 3.1.3 is available: 3.2.2
  14 ksp = "2.2.0-2.0.2"
  15 kotlinx-coroutines = "1.10.2"
  16 kotlinxSerializationJson = "1.9.0"
  17 ktor = "3.1.3" #Must wait for 3.2.1 due to https://youtrack.jetbrains.com/issue/KTOR-8583#focus=Comments-27-12184056.0-0
  18 logback = "1.5.18"
  19 json-schema-validator = "1.5.8"
  20 uri-kmp = "0.0.20"
../../../gradle/libs.versions.toml:17: A newer version of io.ktor:ktor-client-content-negotiation than 3.1.3 is available: 3.2.2
  14 ksp = "2.2.0-2.0.2"
  15 kotlinx-coroutines = "1.10.2"
  16 kotlinxSerializationJson = "1.9.0"
  17 ktor = "3.1.3" #Must wait for 3.2.1 due to https://youtrack.jetbrains.com/issue/KTOR-8583#focus=Comments-27-12184056.0-0
  18 logback = "1.5.18"
  19 json-schema-validator = "1.5.8"
  20 uri-kmp = "0.0.20"
../../../gradle/libs.versions.toml:17: A newer version of io.ktor:ktor-client-core-jvm than 3.1.3 is available: 3.2.2
  14 ksp = "2.2.0-2.0.2"
  15 kotlinx-coroutines = "1.10.2"
  16 kotlinxSerializationJson = "1.9.0"
  17 ktor = "3.1.3" #Must wait for 3.2.1 due to https://youtrack.jetbrains.com/issue/KTOR-8583#focus=Comments-27-12184056.0-0
  18 logback = "1.5.18"
  19 json-schema-validator = "1.5.8"
  20 uri-kmp = "0.0.20"
../../../gradle/libs.versions.toml:17: A newer version of io.ktor:ktor-client-json than 3.1.3 is available: 3.2.2
  14 ksp = "2.2.0-2.0.2"
  15 kotlinx-coroutines = "1.10.2"
  16 kotlinxSerializationJson = "1.9.0"
  17 ktor = "3.1.3" #Must wait for 3.2.1 due to https://youtrack.jetbrains.com/issue/KTOR-8583#focus=Comments-27-12184056.0-0
  18 logback = "1.5.18"
  19 json-schema-validator = "1.5.8"
  20 uri-kmp = "0.0.20"
NewerVersionAvailable Correctness Warning Priority 4/10

Multiple Versions Gradle Dependency

../../../gradle/libs.versions.toml:51: There are multiple dependencies io.coil-kt.coil3:coil-network-okhttp but with different version
  48 
  49 [libraries]
  50 argparse4j = { module = "net.sourceforge.argparse4j:argparse4j", version.ref = "argparse4j" }
  51 coil-network-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coilCompose" }
  52 coil3-coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coilCompose" }
  53 coil3-network = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coilCompose" }
  54 kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
../../../gradle/libs.versions.toml:53: There are multiple dependencies io.coil-kt.coil3:coil-network-okhttp but with different version
  50 argparse4j = { module = "net.sourceforge.argparse4j:argparse4j", version.ref = "argparse4j" }
  51 coil-network-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coilCompose" }
  52 coil3-coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coilCompose" }
  53 coil3-network = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coilCompose" }    
  54 kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
  55 androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
  56 androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" }
SimilarGradleDependency Correctness Hint Priority 4/10

Obsolete SDK_INT Version Check

../../src/androidMain/res/drawable-v24: This folder configuration (v24) is unnecessary; minSdkVersion is 24. Merge all the resources in this folder into drawable.
../../src/androidMain/res/values-v23: This folder configuration (v23) is unnecessary; minSdkVersion is 24. Merge all the resources in this folder into values.
ObsoleteSdkInt Performance Warning Priority 6/10

Unused resources

../../src/androidMain/res/drawable/ic_launcher_background.xml:2: The resource R.drawable.ic_launcher_background appears to be unused
   1 <?xml version="1.0" encoding="utf-8"?>
   2 <vector xmlns:android="http://schemas.android.com/apk/res/android"                                  
   3     android:width="108dp"
   4     android:height="108dp"
   5     android:viewportWidth="108"
../../src/androidMain/res/drawable-v24/ic_launcher_foreground.xml:1: The resource R.drawable.ic_launcher_foreground appears to be unused
  1 <vector xmlns:android="http://schemas.android.com/apk/res/android"                                  
  2     xmlns:aapt="http://schemas.android.com/aapt"
  3     android:width="108dp"
  4     android:height="108dp"
../../src/androidMain/res/mipmap-hdpi/ic_launcher_round.png: The resource R.mipmap.ic_launcher_round appears to be unused
UnusedResources Performance Warning Priority 3/10

Image defined in density-independent drawable folder

../../src/androidMain/res/drawable/respect_logo.webp: Found bitmap drawable res/drawable/respect_logo.webp in densityless folder
../../src/androidMain/res/drawable/spix_logo.webp: Found bitmap drawable res/drawable/spix_logo.webp in densityless folder
IconLocation Icons Usability Warning Priority 5/10

Included Additional Checks

This card lists all the extra checks run by lint, provided from libraries, build configuration and extra flags. This is included to help you verify whether a particular check is included in analysis when configuring builds. (Note that the list does not include the hundreds of built-in checks into lint, only additional ones.)

Disabled Checks

One or more issues were not run by lint, either because the check is not enabled by default, or because it was disabled with a command line flag or via one or more lint.xml configuration files in the project directories.

Suppressing Warnings and Errors

Lint errors can be suppressed in a variety of ways:

1. With a @SuppressLint annotation in the Java code
2. With a tools:ignore attribute in the XML file
3. With a //noinspection comment in the source code
4. With ignore flags specified in the build.gradle file, as explained below
5. With a lint.xml configuration file in the project
6. With a lint.xml configuration file passed to lint via the --config flag
7. With the --ignore flag passed to lint.

To suppress a lint warning with an annotation, add a @SuppressLint("id") annotation on the class, method or variable declaration closest to the warning instance you want to disable. The id can be one or more issue id's, such as "UnusedResources" or {"UnusedResources","UnusedIds"}, or it can be "all" to suppress all lint warnings in the given scope.

To suppress a lint warning with a comment, add a //noinspection id comment on the line before the statement with the error.

To suppress a lint warning in an XML file, add a tools:ignore="id" attribute on the element containing the error, or one of its surrounding elements. You also need to define the namespace for the tools prefix on the root element in your document, next to the xmlns:android declaration:
xmlns:tools="http://schemas.android.com/tools"

To suppress a lint warning in a build.gradle file, add a section like this:
android {
    lintOptions {
        disable 'TypographyFractions','TypographyQuotes'
    }
}

Here we specify a comma separated list of issue id's after the disable command. You can also use warning or error instead of disable to change the severity of issues.

To suppress lint warnings with a configuration XML file, create a file named lint.xml and place it at the root directory of the module in which it applies.

The format of the lint.xml file is something like the following:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Ignore everything in the test source set -->
    <issue id="all">
        <ignore path="\*/test/\*" />
    </issue>

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />

    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar)\.java" />
    </issue>

    <!-- Ignore the UselessLeaf issue in the given 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>

To suppress lint checks from the command line, pass the --ignore flag with a comma separated list of ids to be suppressed, such as:
$ lint --ignore UnusedResources,UselessLeaf /my/project/path

For more information, see https://developer.android.com/studio/write/lint.html#config