|
1
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\build.gradle:12: Warning: 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. [OldTargetApi] |
|
2
|
targetSdk 34 |
|
3
|
~~~~~~~~~~~~ |
|
4
|
|
|
5
|
Explanation for issues of type "OldTargetApi": |
|
6
|
When your application or sdk runs on a version of Android that is more |
|
7
|
recent than your targetSdk specifies that it has been tested with, various |
|
8
|
compatibility modes kick in. This ensures that your application continues |
|
9
|
to work, but it may look out of place. For example, if the targetSdk is |
|
10
|
less than 14, your app may get an option button in the UI. |
|
11
|
|
|
12
|
To fix this issue, set the targetSdk to the highest available value. Then |
|
13
|
test your app to make sure everything works correctly. You may want to |
|
14
|
consult the compatibility notes to see what changes apply to each version |
|
15
|
you are adding support for: |
|
16
|
https://developer.android.com/reference/android/os/Build.VERSION_CODES.html |
|
17
|
as well as follow this guide: |
|
18
|
https://developer.android.com/distribute/best-practices/develop/target-sdk. |
|
19
|
html |
|
20
|
|
|
21
|
https://developer.android.com/distribute/best-practices/develop/target-sdk.html |
|
22
|
|
|
23
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\AndroidManifest.xml:46: Warning: Attribute autoVerify is only used in API level 23 and higher (current min is 21) [UnusedAttribute] |
|
24
|
<intent-filter android:autoVerify="true"> |
|
25
|
~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
26
|
|
|
27
|
Explanation for issues of type "UnusedAttribute": |
|
28
|
This check finds attributes set in XML files that were introduced in a |
|
29
|
version newer than the oldest version targeted by your application (with |
|
30
|
the minSdkVersion attribute). |
|
31
|
|
|
32
|
This is not an error; the application will simply ignore the attribute. |
|
33
|
However, if the attribute is important to the appearance or functionality |
|
34
|
of your application, you should consider finding an alternative way to |
|
35
|
achieve the same result with only available attributes, and then you can |
|
36
|
optionally create a copy of the layout in a layout-vNN folder which will be |
|
37
|
used on API NN or higher where you can take advantage of the newer |
|
38
|
attribute. |
|
39
|
|
|
40
|
Note: This check does not only apply to attributes. For example, some tags |
|
41
|
can be unused too, such as the new <tag> element in layouts introduced in |
|
42
|
API 21. |
|
43
|
|
|
44
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\AndroidManifest.xml:19: Warning: Redundant label can be removed [RedundantLabel] |
|
45
|
android:label="@string/app_name"> |
|
46
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
47
|
|
|
48
|
Explanation for issues of type "RedundantLabel": |
|
49
|
When an activity does not have a label attribute, it will use the one from |
|
50
|
the application tag. Since the application has already specified the same |
|
51
|
label, the label on this activity can be omitted. |
|
52
|
|
|
53
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\gradle\wrapper\gradle-wrapper.properties:5: Warning: A newer version of Gradle than 9.5.0 is available: 9.7.0 [AndroidGradlePluginVersion] |
|
54
|
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip |
|
55
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
56
|
|
|
57
|
Explanation for issues of type "AndroidGradlePluginVersion": |
|
58
|
This detector looks for usage of the Android Gradle Plugin where the |
|
59
|
version you are using is not the current stable release. Using older |
|
60
|
versions is fine, and there are cases where you deliberately want to stick |
|
61
|
with an older version. However, you may simply not be aware that a more |
|
62
|
recent version is available, and that is what this lint check helps find. |
|
63
|
|
|
64
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\build.gradle:6: Warning: A newer version of compileSdk than 34 is available: 37 [GradleDependency] |
|
65
|
compileSdk 34 |
|
66
|
~~~~~~~~~~~~~ |
|
67
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\build.gradle:51: Warning: A newer version of androidx.appcompat:appcompat than 1.6.1 is available: 1.8.0 [GradleDependency] |
|
68
|
implementation 'androidx.appcompat:appcompat:1.6.1' |
|
69
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
70
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\build.gradle:52: Warning: A newer version of com.google.androidbrowserhelper:androidbrowserhelper than 2.5.0 is available: 2.7.3 [GradleDependency] |
|
71
|
implementation 'com.google.androidbrowserhelper:androidbrowserhelper:2.5.0' |
|
72
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
73
|
|
|
74
|
Explanation for issues of type "GradleDependency": |
|
75
|
This detector looks for usages of libraries where the version you are using |
|
76
|
is not the current stable release. Using older versions is fine, and there |
|
77
|
are cases where you deliberately want to stick with an older version. |
|
78
|
However, you may simply not be aware that a more recent version is |
|
79
|
available, and that is what this lint check helps find. |
|
80
|
|
|
81
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\AndroidManifest.xml:61: Warning: Exported service does not require permission [ExportedService] |
|
82
|
<service |
|
83
|
~~~~~~~ |
|
84
|
|
|
85
|
Explanation for issues of type "ExportedService": |
|
86
|
Exported services (services which either set exported=true or contain an |
|
87
|
intent-filter and do not specify exported=false) should define a permission |
|
88
|
that an entity must have in order to launch the service or bind to it. |
|
89
|
Without this, any application can use this service. |
|
90
|
|
|
91
|
https://goo.gle/ExportedService |
|
92
|
|
|
93
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\res\layout\activity_main.xml:5: Warning: Possible overdraw: Root element paints background #111827 with a theme that also paints a background (inferred theme is @style/AppTheme) [Overdraw] |
|
94
|
android:background="#111827"> |
|
95
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
96
|
|
|
97
|
Explanation for issues of type "Overdraw": |
|
98
|
If you set a background drawable on a root view, then you should use a |
|
99
|
custom theme where the theme background is null. Otherwise, the theme |
|
100
|
background will be painted first, only to have your custom background |
|
101
|
completely cover it; this is called "overdraw". |
|
102
|
|
|
103
|
NOTE: This detector relies on figuring out which layouts are associated |
|
104
|
with which activities based on scanning the Java code, and it's currently |
|
105
|
doing that using an inexact pattern matching algorithm. Therefore, it can |
|
106
|
incorrectly conclude which activity the layout is associated with and then |
|
107
|
wrongly complain that a background-theme is hidden. |
|
108
|
|
|
109
|
If you want your custom background on multiple pages, then you should |
|
110
|
consider making a custom theme with your custom background and just using |
|
111
|
that theme instead of a root element background. |
|
112
|
|
|
113
|
Of course it's possible that your custom drawable is translucent and you |
|
114
|
want it to be mixed with the background. However, you will get better |
|
115
|
performance if you pre-mix the background with your drawable and use that |
|
116
|
resulting image or color as a custom theme background instead. |
|
117
|
|
|
118
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\res\layout\activity_main.xml:2: Warning: The resource R.layout.activity_main appears to be unused [UnusedResources] |
|
119
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
120
|
^ |
|
121
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\res\values\colors.xml:4: Warning: The resource R.color.colorPrimaryDark appears to be unused [UnusedResources] |
|
122
|
<color name="colorPrimaryDark">#1D4ED8</color> |
|
123
|
~~~~~~~~~~~~~~~~~~~~~~~ |
|
124
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\res\values\colors.xml:5: Warning: The resource R.color.colorAccent appears to be unused [UnusedResources] |
|
125
|
<color name="colorAccent">#2563EB</color> |
|
126
|
~~~~~~~~~~~~~~~~~~ |
|
127
|
|
|
128
|
Explanation for issues of type "UnusedResources": |
|
129
|
Unused resources make applications larger and slow down builds. |
|
130
|
|
|
131
|
|
|
132
|
The unused resource check can ignore tests. If you want to include |
|
133
|
resources that are only referenced from tests, consider packaging them in a |
|
134
|
test source set instead. |
|
135
|
|
|
136
|
You can include test sources in the unused resource check by setting the |
|
137
|
system property lint.unused-resources.include-tests=true, and to exclude |
|
138
|
them (usually for performance reasons), use |
|
139
|
lint.unused-resources.exclude-tests=true. |
|
140
|
|
|
141
|
Available options: |
|
142
|
|
|
143
|
**skip-libraries** (default is true): |
|
144
|
Whether the unused resource check should skip reporting unused resources in libraries. |
|
145
|
|
|
146
|
Many libraries will declare resources that are part of the library surface; other modules depending on the library will also reference the resources. To avoid reporting all these resources as unused (in the context of a library), the unused resource check normally skips reporting unused resources in libraries. Instead, run the unused resource check on the consuming app module (along with `checkDependencies=true`). |
|
147
|
|
|
148
|
However, there are cases where you want to check that all the resources declared in a library are used; in that case, you can disable the skip option. |
|
149
|
|
|
150
|
To configure this option, use a `lint.xml` file with an <option> like this: |
|
151
|
|
|
152
|
```xml |
|
153
|
<lint> |
|
154
|
<issue id="UnusedResources"> |
|
155
|
<option name="skip-libraries" value="true" /> |
|
156
|
</issue> |
|
157
|
</lint> |
|
158
|
``` |
|
159
|
|
|
160
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\res\mipmap-anydpi-v26\ic_launcher.xml:2: Warning: The application adaptive icon is missing a monochrome tag [MonochromeLauncherIcon] |
|
161
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
|
162
|
^ |
|
163
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\res\mipmap-anydpi-v26\ic_launcher_round.xml:2: Warning: The application adaptive roundIcon is missing a monochrome tag [MonochromeLauncherIcon] |
|
164
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
|
165
|
^ |
|
166
|
|
|
167
|
Explanation for issues of type "MonochromeLauncherIcon": |
|
168
|
The system may use the coloring of the user's chosen wallpaper and theme to |
|
169
|
tint app icons. Providing a <monochrome> layer (which will be used for |
|
170
|
tinting) for every adaptive icon is strongly recommended, otherwise Android |
|
171
|
16 QPR 2 and above will simply tint the color version of the icon, which |
|
172
|
may look unusual. Devices running earlier Android versions will (with no |
|
173
|
monochrome layer) show the untinted color icon for your app, which will |
|
174
|
look inconsistent. |
|
175
|
|
|
176
|
C:\Users\jhust\Documents\jcr-guide-pro-source\android\app\src\main\res\layout\activity_main.xml:7: Warning: Missing contentDescription attribute on image [ContentDescription] |
|
177
|
<ImageView |
|
178
|
~~~~~~~~~ |
|
179
|
|
|
180
|
Explanation for issues of type "ContentDescription": |
|
181
|
Non-textual widgets like ImageViews and ImageButtons should use the |
|
182
|
contentDescription attribute to specify a textual description of the widget |
|
183
|
such that screen readers and other accessibility tools can adequately |
|
184
|
describe the user interface. |
|
185
|
|
|
186
|
Note that elements in application screens that are purely decorative and do |
|
187
|
not provide any content or enable a user action should not have |
|
188
|
accessibility content descriptions. In this case, set their descriptions to |
|
189
|
@null. If your app's minSdkVersion is 16 or higher, you can instead set |
|
190
|
these graphical elements' android:importantForAccessibility attributes to |
|
191
|
no. |
|
192
|
|
|
193
|
Note that for text fields, you should not set both the hint and the |
|
194
|
contentDescription attributes since the hint will never be shown. Just set |
|
195
|
the hint. |
|
196
|
|
|
197
|
https://developer.android.com/guide/topics/ui/accessibility/apps#special-cases |
|
198
|
|
|
199
|
0 errors, 15 warnings |