From 56375d90662041c3f3e98c6b77f5a3c3c506f43b Mon Sep 17 00:00:00 2001 From: Rich Slogar Date: Wed, 7 Jan 2015 13:52:12 -0800 Subject: [PATCH] docs: lint inspection updates Change-Id: I870533a8b22b54b848b9245387ca40d79e49295f --- .../tools/studio-inspections-config.png | Bin 0 -> 104566 bytes docs/html/tools/debugging/debugging-ui.jd | 38 ++--- docs/html/tools/debugging/improving-w-lint.jd | 135 +++++++++++------- docs/html/tools/help/lint.jd | 27 +++- docs/html/tools/studio/index.jd | 96 ++++++++++--- .../improving-layouts/optimizing-layout.jd | 19 ++- 6 files changed, 214 insertions(+), 101 deletions(-) create mode 100644 docs/html/images/tools/studio-inspections-config.png diff --git a/docs/html/images/tools/studio-inspections-config.png b/docs/html/images/tools/studio-inspections-config.png new file mode 100644 index 0000000000000000000000000000000000000000..e41afa16b519a901397969625083dea122530f5b GIT binary patch literal 104566 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

NR>d?aDiwLw6s|B{wVRLM?fUux)WU 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 Ph4Dg8MYiaP(TD#7OW{wd literal 0 HcmV?d00001 diff --git a/docs/html/tools/debugging/debugging-ui.jd b/docs/html/tools/debugging/debugging-ui.jd index f927d08c7347b..cf7e3ba8b7a88 100644 --- a/docs/html/tools/debugging/debugging-ui.jd +++ b/docs/html/tools/debugging/debugging-ui.jd @@ -34,17 +34,17 @@ parent.link=index.html

Related videos

  1. -
  2. -
  3. @@ -52,11 +52,10 @@ parent.link=index.html -

    -Sometimes your application's layout can slow down your application. - To help debug issues in your layout, the Android SDK provides the Hierarchy Viewer and - lint tools. -

    + +

    Sometimes your application's layout can slow down your application. +To help debug issues in your layout, the Android SDK provides the Hierarchy Viewer and +lint tools.

    The Hierarchy Viewer application allows you to debug and optimize your user interface. It provides a visual representation of the layout's View hierarchy (the View Hierarchy window) @@ -64,8 +63,10 @@ Sometimes your application's layout can slow down your application. and a magnified view of the display (the Pixel Perfect window) to closely examine the pixels in your layout.

    -

    Android lint is a static code scanning tool that helps you optimize the layouts and layout - hierarchies of your applications, as well as detect other common coding problems. You can run it against your layout files or resource +

    Android lint is a static code + scanning tool that helps you optimize the layouts and layout + hierarchies of your applications, as well as detect other common coding problems. You can run it + against your layout files or resource directories to quickly check for inefficiencies or other types of problems that could be affecting the performance of your application.

    @@ -493,7 +494,10 @@ Sometimes your application's layout can slow down your application. alt="" height="600"/>

    Figure 4. The Pixel Perfect window

    + +

    Using lint to Optimize Your UI

    -

    The Android {@code lint} tool lets you analyze the XML files that define your application's UI to find inefficiencies in the view hierarchy.

    -

    Note: The Android layoutopt tool has been replaced by the {@code lint} tool beginning in ADT and SDK Tools revision 16. The {@code lint} tool reports UI layout performance issues in a similar way as layoutopt, and detects additional problems.

    -

    For more information about using {@code lint}, see Improving Your Code with lint and the lint reference documentation.

    +

    The Android lint tool lets you analyze the XML +files that define your application's UI to find inefficiencies in the view hierarchy.

    +

    Note: The Android layoutopt tool has been replaced by the {@code lint} tool beginning in SDK Tools revision 16. The {@code lint} tool reports UI layout performance issues in a similar way as layoutopt, and detects additional problems.

    +

    For more information about using {@code lint}, see Improving Your Code with lint and the lint tools help.

    diff --git a/docs/html/tools/debugging/improving-w-lint.jd b/docs/html/tools/debugging/improving-w-lint.jd index 7e238fa5a86fc..ff94b7f6bc938 100644 --- a/docs/html/tools/debugging/improving-w-lint.jd +++ b/docs/html/tools/debugging/improving-w-lint.jd @@ -9,11 +9,11 @@ parent.link=index.html
    1. Overview
    2. -
    3. Running lint from Eclipse
    4. +
    5. Running lint from Android Studio
    6. Running lint from the command-line
    7. Configuring lint
        -
      1. Configuring lint in Eclipse
      2. +
      3. Configuring lint in Android Studio
      4. Configuring the lint file
      5. Configuring lint checking in Java and XML source files
      @@ -31,8 +31,15 @@ parent.link=index.html In addition to testing that your Android application meets its functional requirements, it's important to ensure that your code has no structural problems. Poorly structured code can impact the reliability and efficiency of your Android apps and make your code harder to maintain. For example, if your XML resource files contain unused namespaces, this takes up space and incurs unnecessary processing. Other structural issues, such as use of deprecated elements or API calls that are not supported by the target API versions, might lead to code failing to run correctly.

      Overview

      -

      The Android SDK provides a code scanning tool called {@code lint} that can help you to easily identify and correct problems with the structural quality of your code, without having to execute the app or write any test cases. Each problem detected by the tool is reported with a description message and a severity level, so that you can quickly prioritize the critical improvements that need to be made. You can also configure a problem's severity level to ignore issues that are not relevant for your project, or raise the severity level. The tool has a command-line interface, so you can easily integrate it into your automated testing process.

      -

      The {@code lint} tool checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization. You can run {@code lint} from the command-line or from the Eclipse environment.

      +

      The Android SDK provides a code scanning tool called lint +that can help you to easily identify and correct problems with the structural quality of your code, without having to execute the app or write any test cases. Each problem detected by the tool is reported with a description message and a severity level, so that you can quickly prioritize the critical improvements that need to be made. You can also configure a problem's severity level to ignore issues that are not relevant for your project, or raise the severity level. The tool has a command-line interface, so you can easily integrate it into your automated testing process.

      +

      The {@code lint} tool checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization. You can run {@code lint} from the command-line or from Android Studio.

      + +

      Note: In Android Studio, additional +IntelliJ code inspections run when your code is compiled in Android Studio to +streamline code review.

      +

      Figure 1 shows how the {@code lint} tool processes the application source files.

      Figure 1. Code scanning workflow with the {@code lint} tool

      @@ -42,25 +49,51 @@ In addition to testing that your Android application meets its functional requir
      The lint.xml file
      A configuration file that you can use to specify any {@code lint} checks that you want to exclude and to customize problem severity levels.
      The {@code lint} tool
      -
      A static code scanning tool that you can run on your Android project from the command-line or from Eclipse. The {@code lint} tool checks for structural code problems that could affect the quality and performance of your Android application. It is strongly recommended that you correct any errors that {@code lint} detects before publishing your application.
      +
      A static code scanning tool that you can run on your Android project from the command-line or Android Studio. The {@code lint} tool checks for structural code problems that could affect the quality and performance of your Android application. It is strongly recommended that you correct any errors that {@code lint} detects before publishing your application.
      Results of {@code lint} checking
      -
      You can view the results from {@code lint} in the console or in the Lint Warnings view in Eclipse. Each issue is identified by the location in the source files where it occurred and a description of the issue.
      +
      You can view the results from {@code lint} in the console or in the Event Log in Android Studio. Each issue is identified by the location in the source files where it occurred and a description of the issue.
      -

      The {@code lint} tool is automatically installed as part of the Android SDK Tools revision 16 or higher. If you want to use {@code lint} in the Eclipse environment, you must also install the Android Development Tools (ADT) Plugin for Eclipse revision 16 or higher. For more information about installing the SDK or the ADT Plugin for Eclipse, see Installing the SDK.

      +

      The {@code lint} tool is automatically installed as part of the Android SDK Tools revision 16 or higher.

      + + +

      Running lint in Android Studio

      +

      In Android Studio, the configured lint and +IDE inspections run automatically whenever you build your app. The IDE inspections are +configured along with the {@code lint} checks to run +IntelliJ code inspections to streamline code review.

      + +

      Note: To view and modify inspection severity +levels, use the File > Settings > Project Settings menu to open the +Inspection Configuration page with a list of the supported inspections.

      + + +

      With Android Studio, you can also run {@code lint} inspections for a specific build variant, +or for all build variants from the build.gradle file. Add the +lintOptions property to the android settings in the build file. +This code snippet from a Gradle build file shows how to set the quiet option to +true and the abortOnError option to false.

      + +
      +android {
      +    lintOptions {
      +       // set to true to turn off analysis progress reporting by lint
      +       quiet true
      +       // if true, stop the gradle build if errors are found
      +       abortOnError false
      +       // if true, only report errors
      +       ignoreWarnings true
      +       }
      +       ...
      +    }
      +
      + + +

      To manually run inspections in Android Studio, from the application or right-click menu, +choose Analyze > Inspect Code. The Specify Inspections Scope dialog +appears so you can specify the desired inspection scope and profile.

      + -

      Running lint from Eclipse

      -

      If the ADT Plugin is installed in your Eclipse environment, the {@code lint} tool runs automatically when you perform one of these actions:

      -
        -
      • Export an APK
      • -
      • Edit and save an XML source file in your Android project (such as a manifest or layout file)
      • -
      • Use the layout editor in Eclipse to make changes
      • -
      -

      Note that when you export an APK, {@code lint} only runs an automatic check for fatal errors and aborts the export if fatal errors are found. You can turn off this automatic checking from the Lint Error Checking page in Eclipse Preferences.

      -

      The output is displayed in the Lint Warnings view. If the Lint Warnings view is not showing in the workbench, you can bring it up from the Eclipse menu by clicking Window > Show View > Other > Android > Lint Warnings.

      -

      Figure 2 shows an example of the output in the Lint Warnings view.

      - -

      Figure 2. Sample output in the Lint Warnings view

      -

      You can also run a {@code lint} scan manually on your Android project in Eclipse by right-clicking on the project folder in the Package Explorer > Android Tools > Run Lint: Check for Common Errors.

      Running lint from the Command-Line

      @@ -96,38 +129,45 @@ res: Warning: Missing density variation folders in res: drawable-xhdpi [IconMiss

      By default, when you run a {@code lint} scan, the tool checks for all issues that are supported by {@code lint}. You can also restrict the issues for {@code lint} to check and assign the severity level for those issues. For example, you can disable {@code lint} checking for specific issues that are not relevant to your project and configure {@code lint} to report non-critical issues at a lower severity level.

      You can configure {@code lint} checking at different levels:

        -
      • Globally, for all projects
      • -
      • Per project
      • -
      • Per file
      • -
      • Per Java class or method (by using the @SuppressLint annotation), or per XML element (by using the tools:ignore attribute.
      • +
      • Globally, for the entire project
      • +
      • Per project module
      • +
      • Per production module
      • +
      • Per test module
      • +
      • Per open files
      • +
      • Per class hierarchy
      • +
      • Per Version Control System (VCS) scopes
      -

      Configuring lint in Eclipse

      -

      You can configure global, project-specific, and file-specific settings for {@code lint} from the Eclipse user interface.

      +

      Configuring lint in Android Studio

      +

      Android Studio allows you to enable or disable individual inspections and configure +project-global, directory-specific, and file-specific settings for {@code lint}.

      + +

      You can manage inspection profiles and configure inspection severity within Android Studio using +the File > Settings > Project Settings menu to open the Inspections +page with a list of the supported profiles and inspections.

      +

      +

      Figure 3. Inspection Configuration

      Global preferences

        -
      1. Open Window > Preferences > Android > Lint Error Checking.
      2. -
      3. Specify your preferences and click OK.
      4. -
      -

      These settings are applied by default when you run {@code lint} on your Android projects in Eclipse.

      +
    8. To specify global project settings, select the project folder in the Project View and choose +Analyze > Inspect Code.
    9. -

      Project and file-specific preferences

      -
        -
      1. Run the {@code lint} tool on your project by right-clicking on your project folder in the Package Explorer and selecting Android Tools > Run Lint: Check for Common Errors. This action brings up the Lint Warnings view which displays a list of issues that {@code lint} detected in your project.
      2. -
      3. From the Lint Warnings view, use the toolbar options to configure {@code lint} preferences for individual projects and files in Eclipse. The options you can select include: -
          -
        • Suppress this error with an annotation/attribute - If the issue appears in a Java class, the {@code lint} tool adds a @SuppressLint annotation to the method where the issue was detected. If the issue appears in an {@code .xml} file, {@code lint} inserts a tools:ignore attribute to disable checking for the {@code lint} issue in this file.
        • -
        • Ignore in this file - Disables checking for this {@code lint} issue in this file.
        • -
        • Ignore in this project - Disables checking for this {@code lint} issue in this project.
        • -
        • Always ignore - Disables checking for this {@code lint} issue globally for all projects.
        • -
        -
      4. +
      5. Specify your inspection scope and profile, and click OK.
      -

      If you select the second or third option, the {@code lint} tool automatically generates a lint.xml file with these configuration settings in your Android application project folder.

      +

      The configured settings run the specified {@code lint} inspections. The {@code lint} +inspections are also run whenever you build and run your Android project and modules.

      + +

      Module and file-specific preferences

      +
        +
      1. Run the {@code lint} tool on your module by right-clicking on your module folder or file in the Project View and selecting Analyze > Inspect Code. This displays the {@code lint} inspection results +with a list of issues that {@code lint} detected in your module.
      2. +
      3. From the Lint Warnings view, use the toolbar options to configure {@code lint} preferences for individual modules and files, and set the issue display options.
      4. +
      +

      Configuring the lint file

      -

      You can specify your {@code lint} checking preferences in the lint.xml file. If you are creating this file manually, place it in the root directory of your Android project. If you are configuring {@code lint} preferences in Eclipse, the lint.xml file is automatically created and added to your Android project for you.

      +

      You can specify your {@code lint} checking preferences in the lint.xml file. If you are creating this file manually, place it in the root directory of your Android project. If you are configuring {@code lint} preferences in Android Studio, the lint.xml file is automatically created and added to your Android project for you.

      The lint.xml file consists of an enclosing <lint> parent tag that contains one or more children <issue> elements. Each <issue> is identified by a unique id attribute value, which is defined by {@code lint}.

       <?xml version="1.0" encoding="UTF-8"?>
      @@ -165,12 +205,9 @@ res: Warning: Missing density variation folders in res: drawable-xhdpi [IconMiss
       

      Configuring lint checking in Java and XML source files

      You can disable {@code lint} checking from your Java and XML source files.

      -

      Tip: If you are using Eclipse, you can use the Quick Fix feature to automatically add the annotation or attribute to disable {@code lint} checking to your Java or XML source files: -

        -
      1. Open the Java or XML file that has a {@code lint} warning or error in an Eclipse editor.
      2. -
      3. Move your cursor to the location in the file where is {@code lint} issue is found, then press Ctrl+1 to bring up the Quick Fix pop-up.
      4. -
      5. From the Quick Fix pop-up, select the action to add an annotation or attribute to ignore the {@code lint} issue.
      6. -
      +

      Tip: If you are using Android Studio, you can use the +File > Settings > Project Settings > Inspections feature to manage the +{@code lint} checking to your Java or XML source files.

      Configuring lint checking in Java

      diff --git a/docs/html/tools/help/lint.jd b/docs/html/tools/help/lint.jd index ba31f6d6bc1c2..0f52689b33426 100644 --- a/docs/html/tools/help/lint.jd +++ b/docs/html/tools/help/lint.jd @@ -14,14 +14,23 @@ parent.link=index.html -

      The Android {@code lint} tool is a static code analysis tool that checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization.

      -

      For more information on running {@code lint}, see Improving Your Code with lint.

      +

      The Android {@code lint} tool is a static code analysis tool that checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization.

      -

      Syntax

      +

      In Android Studio, the configured lint and other IDE inspections run automatically +whenever you compile your program. You can also manually run inspections in Android Studio +by selecting Analyze > Inspect Code from the application or right-click menu. +The Specify Inspections Scope dialog appears so you can specify the desired inspection +profile and scope.

      + +

      For more information on enabling {@code lint} inspections and running {@code lint}, +see Improving Your Code with lint.

      + +

      Command Line Syntax

      lint [flags] <project directory>
      -For example, you can issue the following command to scan the Java and XML files under the {@code myproject} directory and its subdirectories. The result is displayed on the console. +For example, you can issue the following command to scan the Java and XML files under the +{@code myproject} directory and its subdirectories. The result is displayed on the console.
      lint myproject
      You can also use {@code lint} to check for a specific issue. For example, you can run the following command to scan the files under the {@code myproject} directory and its subdirectories to check for XML attributes missing the Android namespace prefix. The issue ID {@code MissingPrefix} tells lint to only scan for this issue. @@ -172,7 +181,11 @@ You can create an HTML report for the issues that {@code lint} detects. For exam

      Configuring Java and XML Source Files

      To configure lint checking, you can apply the following annotation or attribute to the source files in your Android project.

        -
      • To disable lint checking for a specific Java class or method, use the @SuppressLint annotation.
      • -
      • To disable lint checking for specific sections of your XML file, use the tools:ignore attribute.
      • +
      • To disable {@code lint} checking for a specific Java class or method, use the @SuppressLint +annotation.
      • +
      • To disable {@code lint} checking for specific sections of your XML file, use the +tools:ignore attribute.
      -

      You can also specify your lint checking preferences for a specific Android project in the lint.xml file. For more information on configuring lint, see Improving Your Code with lint.

      +

      You can also specify your {@code lint} checking preferences for a specific Android project in +the lint.xml file. For more information on configuring {@code lint}, see +Improving Your Code with lint.

      diff --git a/docs/html/tools/studio/index.jd b/docs/html/tools/studio/index.jd index 11c1c74249ed8..f5c3629e0f92f 100644 --- a/docs/html/tools/studio/index.jd +++ b/docs/html/tools/studio/index.jd @@ -36,7 +36,7 @@ Android Studio offers:

    10. Build variants and multiple apk file generation
    11. Code templates to help you build common app features
    12. Rich layout editor with support for drag and drop theme editing
    13. -
    14. Lint tools to catch performance, usability, version compatibility, and other problems
    15. +
    16. {@code lint} tools to catch performance, usability, version compatibility, and other problems
    17. ProGuard and app-signing capabilities
    18. Built-in support for Memory Monitor +

      Memory Monitor

      Android Studio provides a memory monitor view so you can more easily monitor your app's memory usage to find deallocated objects, locate memory leaks and track the amount of memory the connected device is using. With your app running on a device or emulator, click the @@ -255,33 +255,81 @@ memory the connected device is using. With your app running on a device or emula -

      Lint inspections

      -

      The Android {@code lint} tool is a static code analysis tool that checks your Android project -source files for potential bugs and optimization improvements. Choose the Analyze > -Inspect Code to manually run the inspections. The {@code lint} settings icon in the -Inspection display provides a complete list of the current inspections.

      +

      Code Inspections

      +

      In Android Studio, the configured lint and +other IDE inspections run automatically whenever you compile your program. In addition to the +configured {@code lint} checks, additional +IntelliJ code inspections +run to streamline code review.

      -

      Hovering over a Lint error displays the full issue explanation inline for easy error + +

      Android Studio enables several lint checks +to ensure: +

        +
      • Cipher.getInstance() is used with safe values
      • +
      • In custom Views, the associated declare-styleable for the custom view uses the same + base name as the class name.
      • +
      • Security check for fragment injection.
      • +
      • Where ever property assignment no longer works as expected.
      • +
      • Gradle plugin version is compatible with the SDK.
      • +
      • Right to left validation
      • +
      • Required API version
      • +
      • many others
      • +
      + + +

      Hovering over an inspection error displays the full issue explanation inline for easy error resolution. There is also a helpful hyperlink at the end of the error message for additional error information.

      -

      With Android Studio, you can run Lint for a specific build variant, or for all build variants. -You can configure Lint by adding a lintOptions property to the Android settings in the -build.gradle file.

      +

      With Android Studio, you can also run {@code lint} inspections for a specific build variant, or +for all build variants. You can configure the {@code lint} inspections that run by adding a +lintOptions property to the Android settings in the build.gradle +file.

      + +
      +android {
      +    lintOptions {
      +       // set to true to turn off analysis progress reporting by lint
      +       quiet true
      +       // if true, stop the gradle build if errors are found
      +       abortOnError false
      +       // if true, only report errors
      +       ignoreWarnings true
      +    }
      +
      + + +

      You can also manage inspection profiles and configure inspections within Android Studio. +Choose File > Settings > Project Settings. The +Inspection Configuration page appears with the supported inspections.

      +

      +

      Figure 5. Inspection Configuration

      + +

      Note: If you wish to change the behavior of specific +inspection notifications, you can change the inspection severity, for example from warning +to error.

      + + +

      To manually run inspections in Android Studio, choose Analyze > Inspect Code. +The Inspections Scope dialog appears so you can specify the desired inspection profile and scope.

      + + + +

      Running Inspections from the command line

      +

      You can also run {@code lint} inspections from the command line in your SDK directory.

      +
      +sdk$ lint [flags] 
      +
      + +

      Note: The {@code lint} --show and --list +flags can be used to display the available issues and explanations.

      -
      -    android {
      -        lintOptions {
      -           // set to true to turn off analysis progress reporting by lint
      -           quiet true
      -           // if true, stop the gradle build if errors are found
      -           abortOnError false
      -           // if true, only report errors
      -           ignoreWarnings true
      -    

      For more information, see -Improving Your Code with Lint.

      +Improving Your Code with {@code lint} and +lint tool.

      Dynamic layout preview

      @@ -346,6 +394,7 @@ types.

      For easy cross-platform development, the Project Wizard provides new templates for creating your apps for Android Wear and TV.

      +

      Figure 10. Supported Form Factors

      During app creation, the Project Wizard also displays an API Level dialog to help you choose the best minSdkVersion for your project.

      @@ -519,7 +568,8 @@ and <animated-selector>, are supported.

      Easy access to Android code samples on GitHub

      -

      Clicking Import Samples from the File menu or Welcome page +

      Clicking Import Samples from the File menu or Welcome page + provides seamless access to Google code samples on GitHub.

      Figure 13. Code Sample Access

      diff --git a/docs/html/training/improving-layouts/optimizing-layout.jd b/docs/html/training/improving-layouts/optimizing-layout.jd index 520ce5677ae33..003e7a2312781 100644 --- a/docs/html/training/improving-layouts/optimizing-layout.jd +++ b/docs/html/training/improving-layouts/optimizing-layout.jd @@ -126,13 +126,15 @@ layout is used for every item in a list.

      Most of this time difference is due to the use of {@code layout_weight} in the {@link android.widget.LinearLayout} design, which can slow down the speed of measurement. It is just one -example of how each layout has appropriate uses and you should carefully consider whether using +example of how each layout has appropriate uses and you should carefully consider whether using layout weight is necessary.

      Use Lint

      -

      It is always good practice to run the Lint tool on your layout files to search for possible view hierarchy optimizations. Lint has replaced the Layoutopt tool and has much greater functionality. Some examples of Lint It is always good practice to run the lint +tool on your layout files to search for possible view hierarchy optimizations. Lint has replaced +the Layoutopt tool and has much greater functionality. Some examples of lint rules are:

        @@ -143,11 +145,18 @@ href="http://tools.android.com/tips/lint-checks">rules are:

      • Deep layouts - Layouts with too much nesting are bad for performance. Consider using flatter layouts such as {@link android.widget.RelativeLayout} or {@link android.widget.GridLayout} to improve performance. The default maximum depth is 10.
      -

      Another benefit of Lint is that it is integrated into the Android Development Tools for Eclipse (ADT 16+). Lint automatically runs whenever you export an APK, edit and save an XML file or use the Layout Editor. To manually force Lint to run press the Lint button in the Eclipse toolbar.

      +

      Another benefit of Lint is that it is integrated into Android Studio. Lint automatically runs +whenever you compile your program. With Android Studio, you can also run lint inspections for a +specific build variant, or for all build variants.

      - +

      You can also manage inspection profiles and configure inspections within Android Studio with the +File>Settings>Project Settings option. The Inspection Configuration page +appears with the supported inspections.

      +

      +

      Figure 5. Inspection Configuration

      -

      When used inside Eclipse, Lint has the ability to automatically fix some issues, provide suggestions for others and jump directly to the offending code for review. If you don’t use Eclipse for your development, Lint can also be run from the command line. More information about Lint is available at tools.android.com.

      +

      Lint has the ability to automatically fix some issues, provide suggestions for others and jump +directly to the offending code for review.