Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
    
    
  
  
    
    
 
 
Android plugin for Gradle, revision 1.5.0 (November 2015)
    
    - Dependencies:
      
        
          |  | Minimum version | Default version | Notes | 
      
      
        
        
          | Gradle | 2.2.1 | 2.2.1 | To learn more, see updating Gradle. | 
        
        
          | SDK Build Tools | 21.1.1 | 21.1.1 | Install or configure SDK Build Tools. | 
        
      
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
    - General Notes:
- 
      
      - Integrated the Data Binding plugin into the Android plugin for Gradle. To enable it, add
        the following code to each per-project build.gradlefile that uses the
        plugin:
        android {
    dataBinding {
        enabled = true
    }
}
        android {
    dataBinding {
        enabled = true
    }
}
        
 
- Added a new Transform API
       to allow third-party plugins to manipulate compiled .classfiles before they’re
       converted to.dexfiles. The Transform API simplifies injecting custom class
       manipulations while offering more flexibility regarding what you can manipulate. To insert a
       transform into a build, create a new class implementing one of theTransforminterfaces, and register it withandroid.registerTransform(theTransform)orandroid.registerTransform(theTransform, dependencies). There’s no need to
       wire tasks together. Note the following about the Transform API:
        - A transform can apply to one or more of the following: the current project, subprojects,
          and external libraries.
- A transform must be registered globally, which applies them to all variants.
- Internal code processing, through the Java Code Coverage Library (JaCoCo), ProGuard,
            and MultiDex, now uses the Transform API. However, the Java Android Compiler Kit
            (Jack) doesn’t use this API: only the javac/dxcode path does.
- Gradle executes the transforms in this order: JaCoCo, third-party plugins, ProGuard.
          The execution order for third-party plugins matches the order in which the transforms are
          added by the third party plugins; third-party plugin developers can't control the execution
          order of the transforms through an API.
 
- Deprecated the dexgetter from theApplicationVariantclass.
        You can't access theDextask through the variant API anymore because it’s now
        accomplished through a transform. There's
        currently no replacement for controlling the dex process.
- Fixed incremental support for assets.
- Improved MultiDex support by making it available for test projects, and
        tests now automatically have the com.android.support:multidex-instrumentationdependency.
- Added the ability to properly fail a Gradle build and report the underlying error cause
        when the Gradle build invokes asynchronous tasks and there’s a failure in the worker
        process.
- Added support for configuring a specific Application Binary Interface (ABI) in variants
        that contain multiple ABIs.
- Added support for a comma-separated list of device serial numbers for the
        ANDROID_SERIALenvironment variable when installing or running tests.
- Fixed an installation failure on devices running Android 5.0 (API level 20) and higher
        when the APK name contains a space.
- Fixed various issues related to the Android Asset Packaging Tool (AAPT) error output.
- Added JaCoCo incremental instrumentation support for faster incremental builds. The
        Android plugin for Gradle now invokes the JaCoCo instrumenter directly. To force a newer
        version of the JaCoCo instrumenter, you need to add it as a build script dependency.
- Fixed JaCoCo support so it ignores files that aren’t classes.
- Added vector drawable support for generating PNGs at build time for backward-compatibility.
        Android plugin for Gradle generates PNGs for every vector drawable found in a resource
        directory that doesn’t specify an API version or specifies an
        android:minSdkVersionattribute of 20 or lower in the<uses-sdk>element in the app manifest. You can set PNG densities by
        using thegeneratedDensitiesproperty in thedefaultConfigorproductFlavorsections of abuild.gradlefile.
- Added sharing of the mockable android.jar, which the plugin generates only
        once and uses for unit testing. Multiple modules, such asappandlib, now share it. Delete$rootDir/buildto regenerate it.
- Changed the processing of Java resources to occur before the obfuscation tasks instead of
        during the packaging of the APK. This change allows the obfuscation tasks to have a chance
        to adapt the Java resources following packages obfuscation.
- Fixed an issue with using Java Native Interface (JNI) code in the experimental library
        plugin.
- Added the ability to set the platform version separately from the
        android:compileSdkVersionattribute in the experimental library
        plugin.
 
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-10-28 UTC.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-10-28 UTC."],[],[]]