Lint Report: 1 error and 15 warnings
Issue Types

Overview

Lint
4warning ObsoleteLintCustomCheck: Obsolete custom lint check
Correctness
1warning FragmentTagUsage: Use FragmentContainerView instead of the <fragment> tag
2warning GradleDependency: Obsolete Gradle Dependency
1warning GradleDynamicVersion: Gradle Dynamic Version
Security
1warning AllowBackup: AllowBackup/FullBackupContent Problems
Performance
1warning UnusedResources: Unused resources
3warning UnusedIds: Unused id
Usability
1warning SelectableText: Dynamic text should probably be selectable
1warning GoogleAppIndexingWarning: Missing support for Firebase App Indexing
Accessibility
1error ContentDescription: Image without contentDescription
Disabled Checks (1)

Obsolete custom lint check

../../../../../.gradle/caches/transforms-3/eab42dfe75a616bad2c5600ef62620ac/transformed/jetified-annotation-experimental-1.0.0/jars/lint.jar: Lint found an issue registry (androidx.annotation.experimental.lint.ExperimentalIssueRegistry) which did not specify the Lint API version it was compiled with.

This means that the lint checks are likely not compatible.

If you are the author of this lint check, make your lint IssueRegistry class contain
  override val api: Int = com.android.tools.lint.detector.api.CURRENT_API
or from Java,
  @Override public int getApi() { return com.android.tools.lint.detector.api.ApiKt.CURRENT_API; }

If you are just using lint checks from a third party library you have no control over, you can disable these lint checks (if they misbehave) like this:

    android {
        lintOptions {
            disable "UnsafeExperimentalUsageError",
                    "UnsafeExperimentalUsageWarning"
        }
    }

../../../../../.gradle/caches/transforms-3/205b6794ec5ff1601c2c2586e6c01667/transformed/appcompat-1.2.0/jars/lint.jar: Lint found an issue registry (androidx.appcompat.AppCompatIssueRegistry) which is older than the current API level; these checks may not work correctly.

Recompile the checks against the latest version. Custom check API version is 7 (4.0), current lint API level is 8 (4.1)

../../../../../.gradle/caches/transforms-3/e68d85c46a11bcf9dcdb748311f94acd/transformed/fragment-1.2.4/jars/lint.jar: Lint found an issue registry (androidx.fragment.lint.FragmentIssueRegistry) which is older than the current API level; these checks may not work correctly.

Recompile the checks against the latest version. Custom check API version is 6 (3.6), current lint API level is 8 (4.1)

../../../../../.gradle/caches/transforms-3/a8d90b74b6527e1f9c3fac825a19094e/transformed/jetified-lifecycle-runtime-ktx-2.2.0/jars/lint.jar: Lint found an issue registry (androidx.lifecycle.lint.LifecycleRuntimeIssueRegistry) which is older than the current API level; these checks may not work correctly.

Recompile the checks against the latest version. Custom check API version is 6 (3.6), current lint API level is 8 (4.1)

ObsoleteLintCustomCheck Warning Priority 10/10

Use FragmentContainerView instead of the <fragment> tag

../../src/main/res/layout/content_main.xml:8: Replace the <fragment> tag with FragmentContainerView.
  5     android:layout_height="match_parent"
  6     app:layout_behavior="@string/appbar_scrolling_view_behavior">
  7 
  8     <fragment                                                                                       
  9         android:id="@+id/nav_host_fragment_content_main"
 10         android:name="androidx.navigation.fragment.NavHostFragment"
 11         android:layout_width="0dp"
FragmentTagUsage Correctness Warning Priority 5/10

Obsolete Gradle Dependency

../../build.gradle:56: A newer version of androidx.navigation:navigation-fragment-ktx than 2.3.4 is available: 2.3.5
 53     implementation 'androidx.appcompat:appcompat:1.2.0'
 54     implementation 'com.google.android.material:material:1.3.0'
 55     implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
 56     implementation 'androidx.navigation:navigation-fragment-ktx:2.3.4'                              
 57     implementation 'androidx.navigation:navigation-ui-ktx:2.3.4'
 58     testImplementation 'junit:junit:4.+'
 59     androidTestImplementation 'androidx.test.ext:junit:1.1.2'
../../build.gradle:57: A newer version of androidx.navigation:navigation-ui-ktx than 2.3.4 is available: 2.3.5
 54     implementation 'com.google.android.material:material:1.3.0'
 55     implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
 56     implementation 'androidx.navigation:navigation-fragment-ktx:2.3.4'
 57     implementation 'androidx.navigation:navigation-ui-ktx:2.3.4'                                    
 58     testImplementation 'junit:junit:4.+'
 59     androidTestImplementation 'androidx.test.ext:junit:1.1.2'
 60     androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
GradleDependency Correctness Warning Priority 4/10

Gradle Dynamic Version

../../build.gradle:58: Avoid using + in version numbers; can lead to unpredictable and unrepeatable builds (junit:junit:4.+)
 55     implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
 56     implementation 'androidx.navigation:navigation-fragment-ktx:2.3.4'
 57     implementation 'androidx.navigation:navigation-ui-ktx:2.3.4'
 58     testImplementation 'junit:junit:4.+'                                                            
 59     androidTestImplementation 'androidx.test.ext:junit:1.1.2'
 60     androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
 61 }
GradleDynamicVersion Correctness Warning Priority 4/10

AllowBackup/FullBackupContent Problems

../../src/main/AndroidManifest.xml:5: On SDK version 23 and up, your app data will be automatically backed up and restored on app install. Consider adding the attribute android:fullBackupContent to specify an @xml resource which configures which files to backup. More info: https://developer.android.com/training/backup/autosyncapi.html
  2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3     package="com.example.myapplication">
  4 
  5     <application                                                                                    
  6         android:allowBackup="true"
  7         android:icon="@mipmap/ic_launcher"
  8         android:label="@string/app_name"
AllowBackup Security Warning Priority 3/10

Unused resources

../../src/main/res/values/strings.xml:11: The resource R.string.hello_second_fragment appears to be unused
  8     <string name="previous">Previous</string>
  9 
 10     <string name="hello_first_fragment">Hello first fragment</string>
 11     <string name="hello_second_fragment">Hello second fragment. Arg: %1$s</string>                  
 12 </resources>
UnusedResources Performance Warning Priority 3/10

Unused id

../../src/main/res/layout/activity_main.xml:15: The resource R.id.toolbar appears to be unused
 12         android:theme="@style/Theme.MyApplication.AppBarOverlay">
 13 
 14         <androidx.appcompat.widget.Toolbar
 15             android:id="@+id/toolbar"                                                               
 16             android:layout_width="match_parent"
 17             android:layout_height="?attr/actionBarSize"
 18             android:background="?attr/colorPrimary"
../../src/main/res/layout/activity_main.xml:24: The resource R.id.fab appears to be unused
 21     </com.google.android.material.appbar.AppBarLayout>
 22 
 23     <com.google.android.material.floatingactionbutton.FloatingActionButton
 24         android:id="@+id/fab"                                                                       
 25         android:layout_width="wrap_content"
 26         android:layout_height="wrap_content"
 27         android:layout_gravity="bottom|end"
../../src/main/res/navigation/nav_graph.xml:5: The resource R.id.nav_graph appears to be unused
  2 <navigation xmlns:android="http://schemas.android.com/apk/res/android"
  3     xmlns:app="http://schemas.android.com/apk/res-auto"
  4     xmlns:tools="http://schemas.android.com/tools"
  5     android:id="@+id/nav_graph"                                                                     
  6     app:startDestination="@id/FirstFragment">
  7 
  8     <fragment
UnusedIds Performance Warning Priority 1/10

Dynamic text should probably be selectable

../../src/main/res/layout/fragment_second.xml:19: Consider making the text value selectable by specifying android:textIsSelectable="true"
 16         app:layout_constraintStart_toStartOf="parent"
 17         app:layout_constraintTop_toBottomOf="@id/textview_second" />
 18 
 19     <TextView                                                                                       
 20         android:id="@+id/textview_second"
 21         android:layout_width="wrap_content"
 22         android:layout_height="wrap_content"
SelectableText Usability Warning Priority 7/10

Missing support for Firebase App Indexing

../../src/main/AndroidManifest.xml:5: App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW intent filter. See issue explanation for more details.
  2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3     package="com.example.myapplication">
  4 
  5     <application                                                                                    
  6         android:allowBackup="true"
  7         android:icon="@mipmap/ic_launcher"
  8         android:label="@string/app_name"
GoogleAppIndexingWarning Usability Warning Priority 5/10

Image without contentDescription

../../src/main/res/layout/activity_main.xml:23: Missing contentDescription attribute on image
 20 
 21     </com.google.android.material.appbar.AppBarLayout>
 22 
 23     <com.google.android.material.floatingactionbutton.FloatingActionButton                          
 24         android:id="@+id/fab"
 25         android:layout_width="wrap_content"
 26         android:layout_height="wrap_content"
ContentDescription Accessibility Error Priority 3/10

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