Class Summary |
AccessibilityDetector |
Check which looks for accessibility problems like missing content descriptions |
AlwaysShowActionDetector |
Check which looks for usage of showAsAction="always" in menus (or
MenuItem.SHOW_AS_ACTION_ALWAYS in code), which is usually a style guide violation. |
AnnotationDetector |
Checks annotations to make sure they are valid |
Api |
Main entry point for API description. |
ApiClass |
Represents a class and its methods/fields. |
ApiDetector |
Looks for usages of APIs that are not supported in all the versions targeted
by this application (according to its minimum API requirement in the manifest). |
ApiLookup |
Database for API checking: Allows quick lookup of a given class, method or field
to see which API level it was introduced in. |
ApiParser |
Parser for the simplified XML API format version 1. |
ArraySizeDetector |
Checks for arrays with inconsistent item counts |
BuiltinIssueRegistry |
Registry which provides a list of checks to be performed on an Android project |
ButtonDetector |
Check which looks at the order of buttons in dialogs and makes sure that
"the dismissive action of a dialog is always on the left whereas the affirmative actions
are on the right." |
ChildCountDetector |
Check which makes sure that views have the expected number of declared
children (e.g. |
CleanupDetector |
Checks for missing recycle calls on resources that encourage it, and
for missing commit calls on FragmentTransactions, etc. |
ColorUsageDetector |
Looks for cases where the code attempts to set a resource id, rather than
a resolved color, as the RGB int. |
CommentDetector |
Looks for issues in Java comments |
ControlFlowGraph |
A ControlFlowGraph is a graph containing a node for each
instruction in a method, and an edge for each possible control flow; usually
just "next" for the instruction following the current instruction, but in the
case of a branch such as an "if", multiple edges to each successive location,
or with a "goto", a single edge to the jumped-to instruction. |
ControlFlowGraph.Node |
A ControlFlowGraph.Node is a node in the control flow graph for a method, pointing to
the instruction and its possible successors |
CutPasteDetector |
Detector looking for cut & paste issues |
DeprecationDetector |
Check which looks for usage of deprecated tags, attributes, etc. |
DetectMissingPrefix |
Detects layout attributes on builtin Android widgets that do not specify
a prefix but probably should. |
DosLineEndingDetector |
Checks that the line endings in DOS files are consistent |
DuplicateIdDetector |
Checks for duplicate ids within a layout and within an included layout |
DuplicateResourceDetector |
This detector identifies cases where a resource is defined multiple times in the
same resource folder |
ExtraTextDetector |
Check which looks for invalid resources. |
FieldGetterDetector |
Looks for getter calls within the same class that could be replaced by
direct field references instead. |
FragmentDetector |
Checks that Fragment subclasses can be instantiated via
{link Class.newInstance() }: the class is public, static, and has
a public null constructor. |
GridLayoutDetector |
Check which looks for potential errors in declarations of GridLayouts, such as specifying
row/column numbers outside the declared dimensions of the grid. |
HandlerDetector |
Checks that Handler implementations are top level classes or static. |
HardcodedDebugModeDetector |
Checks for hardcoded debug mode in manifest files |
HardcodedValuesDetector |
Check which looks at the children of ScrollViews and ensures that they fill/match
the parent width instead of setting wrap_content. |
IconDetector |
Checks for common icon problems, such as wrong icon sizes, placing icons in the
density independent drawable folder, etc. |
InefficientWeightDetector |
Checks whether a layout_weight is declared inefficiently. |
InvalidPackageDetector |
Looks for usages of Java packages that are not included in Android. |
JavaPerformanceDetector |
Looks for performance issues in Java files, such as memory allocations during
drawing operations and using HashMap instead of SparseArray. |
JavaScriptInterfaceDetector |
Looks for add |
LabelForDetector |
Detector which finds unlabeled text fields |
LayoutConsistencyDetector |
Checks for consistency in layouts across different resource folders |
LocaleDetector |
Checks for errors related to locale handling |
ManifestDetector |
Checks for issues in AndroidManifest files such as declaring elements in the
wrong order. |
ManifestOrderDetector |
Deprecated. |
ManifestTypoDetector |
Checks for typos in manifest files |
MathDetector |
Looks for usages of Math methods which can be replaced with
android.util.FloatMath methods to avoid casting. |
MergeRootFrameLayoutDetector |
Checks whether a root FrameLayout can be replaced with a <merge> tag. |
MissingClassDetector |
Checks to ensure that classes referenced in the manifest actually exist and are included |
MissingIdDetector |
Check which looks for missing id's in views where they are probably needed |
NamespaceDetector |
Checks for various issues related to XML namespaces |
NestedScrollingWidgetDetector |
Checks whether a root FrameLayout can be replaced with a <merge> tag. |
NonInternationalizedSmsDetector |
Detector looking for text messages sent to an unlocalized phone number. |
ObsoleteLayoutParamsDetector |
Looks for layout params on views that are "obsolete" - may have made sense
when the view was added but there is a different layout parent now which does
not use the given layout params. |
OnClickDetector |
Checks for missing onClick handlers |
OverdrawDetector |
Check which looks for overdraw problems where view areas are painted and then
painted over, meaning that the bottom paint operation is a waste of time. |
OverrideDetector |
Checks for accidental overrides |
ParcelDetector |
Looks for Parcelable classes that are missing a CREATOR field |
PluralsDetector |
Checks for issues with quantity strings
https://code.google.com/p/android/issues/detail?id=53015
53015: lint could report incorrect usage of Resource.getQuantityString |
PrivateKeyDetector |
Looks for packaged private key files. |
PrivateResourceDetector |
Check which looks for access of private resources. |
ProguardDetector |
Check which looks for errors in Proguard files. |
PxUsageDetector |
Check for px dimensions instead of dp dimensions. |
RegistrationDetector |
Checks for missing manifest registrations for activities, services etc
and also makes sure that they are registered with the correct tag |
RequiredAttributeDetector |
Ensures that layout width and height attributes are specified |
RtlDetector |
Check which looks for RTL issues (right-to-left support) in layouts |
ScrollViewChildDetector |
Check which looks at the children of ScrollViews and ensures that they fill/match
the parent width instead of setting wrap_content. |
SdCardDetector |
Looks for hardcoded references to /sdcard/. |
SecureRandomDetector |
Checks for hardcoded seeds with random numbers. |
SecurityDetector |
Checks that exported services request a permission. |
ServiceCastDetector |
Detector looking for casts on th result of context.getSystemService which are suspect |
SetJavaScriptEnabledDetector |
Looks for invocations of android.webkit.WebSettings.setJavaScriptEnabled. |
SharedPrefsDetector |
Detector looking for SharedPreferences.edit() calls without a corresponding
commit() or apply() call |
StateListDetector |
Checks for unreachable states in an Android state list definition |
StringFormatDetector |
Check which looks for problems with formatting strings such as inconsistencies between
translations or between string declaration and string usage in Java. |
StyleCycleDetector |
Checks for cycles in style definitions |
SystemPermissionsDetector |
Checks if an application wants to use permissions that can only be used by
system applications. |
TextFieldDetector |
Checks for usability problems in text fields: omitting inputType, or omitting a hint. |
TextViewDetector |
Checks for cases where a TextView should probably be an EditText instead |
TitleDetector |
Check which makes sure menu items specify a title |
ToastDetector |
Detector looking for Toast.makeText() without a corresponding show() call |
TooManyViewsDetector |
Checks whether a root FrameLayout can be replaced with a <merge> tag. |
TranslationDetector |
Checks for incomplete translations - e.g. |
TypoDetector |
Check which looks for likely typos in Strings. |
TypographyDetector |
Checks for various typographical issues in string definitions. |
TypographyDetector.ReplaceEdit |
An object describing a single edit to be made. |
TypoLookup |
Database of common typos / misspellings. |
UnusedResourceDetector |
Finds unused resources. |
UseCompoundDrawableDetector |
Checks whether the current node can be replaced by a TextView using compound
drawables. |
UselessViewDetector |
Checks whether the current node can be removed without affecting the layout. |
Utf8Detector |
Checks that the encoding used in resource files is always UTF-8. |
ViewConstructorDetector |
Looks for custom views that do not define the view constructors needed by UI builders |
ViewTagDetector |
Checks for missing view tag detectors |
ViewTypeDetector |
Detector for finding inconsistent usage of views and casts |
WakelockDetector |
Checks for problems with wakelocks (such as failing to release them)
which can lead to unnecessary battery usage. |
WrongCallDetector |
Checks for cases where the wrong call is being made |
WrongCaseDetector |
Check which looks for missing wrong case usage for certain layout tags. |
WrongIdDetector |
Checks for duplicate ids within a layout and within an included layout |
WrongImportDetector |
Checks for "import android.R", which seems to be a common source of confusion
(see for example http://stackoverflow.com/questions/885009/r-cannot-be-resolved-android-error
and many other forums). |
WrongLocationDetector |
Looks for problems with XML files being placed in the wrong folder |