| page.title=Android Plugin for Gradle Release Notes |
| |
| @jd:body |
| |
| <div id="qv-wrapper"> |
| <div id="qv"> |
| <h2> |
| In this document |
| </h2> |
| |
| <ol> |
| <li> |
| <a href="#updating-plugin">Updating the Android Plugin for Gradle |
| Version</a> |
| </li> |
| |
| <li> |
| <a href="#updating-gradle">Updating the Gradle Version</a> |
| </li> |
| |
| <li> |
| <a href="#revisions">Revisions</a> |
| </li> |
| </ol> |
| |
| <h2> |
| See also |
| </h2> |
| |
| <ol> |
| <li> |
| <a class="external-link" href= |
| "http://google.github.io/android-gradle-dsl/current/">Android Plugin DSL |
| Reference</a> |
| </li> |
| |
| <li> |
| <a href="{@docRoot}sdk/installing/studio-build.html">Build System |
| Overview</a> |
| </li> |
| |
| <li> |
| <a href="{@docRoot}tools/building/plugin-for-gradle.html">Android Plugin |
| for Gradle</a> |
| </li> |
| </ol> |
| </div> |
| </div> |
| |
| <p> |
| The Android build system uses the Android Plugin for Gradle to support |
| building Android applications with the <a href= |
| "http://www.gradle.org/">Gradle</a> build toolkit. The plugin runs |
| independent of Android Studio so the plugin and the Gradle build system can |
| be updated independently of Android Studio. |
| </p> |
| |
| <h2 id="updating-plugin"> |
| Updating the Android Plugin for Gradle |
| </h2> |
| |
| <p> |
| When you update Android Studio, you may receive a prompt to automatically |
| update the Android Plugin for Gradle to the latest available version. You |
| can choose to accept the update or manually specify a version based on |
| your project's build requirements. |
| </p> |
| |
| <p> |
| You can specify the <a href= |
| "{@docRoot}tools/building/plugin-for-gradle.html">Android Plugin for |
| Gradle</a> version in either the <strong>File</strong> > <strong>Project |
| Structure</strong> > <strong>Project</strong> menu in Android Studio, or |
| the top-level <code>build.gradle</code> file. The plugin version applies to |
| all modules built in that Android Studio project. The following example sets |
| the Android Plugin for Gradle to version 2.0.0 from the |
| <code>build.gradle</code> file: |
| </p> |
| |
| <pre> |
| buildscript { |
| ... |
| dependencies { |
| classpath 'com.android.tools.build:gradle:2.0.0' |
| } |
| } |
| </pre> |
| <p class="caution"> |
| <strong>Caution:</strong> You should not use dynamic dependencies in version |
| numbers, such as <code>'com.android.tools.build:gradle:2.+'</code>. Using |
| this feature can cause unexpected version updates and difficulty resolving |
| version differences. |
| </p> |
| |
| <p> |
| If the specified plugin version has not been downloaded, Gradle downloads it |
| the next time you build your project or click <strong>Tools</strong> > |
| <strong>Android</strong> > <strong>Sync Project with Gradle Files</strong> |
| from the Android Studio main menu. |
| </p> |
| |
| <h2 id="updating-gradle"> |
| Updating Gradle |
| </h2> |
| |
| <p> |
| When you update Android Studio, you may receive a prompt to automatically |
| update Gradle to the latest available version. You can choose to accept the |
| update or manually specify a version based on your project's build |
| requirements. |
| </p> |
| |
| <p> |
| You can specify the Gradle version in either the <strong>File</strong> > |
| <strong>Project Structure</strong> > <strong>Project</strong> menu in |
| Android Studio, or by editing the Gradle distribution reference in the |
| <code>gradle/wrapper/gradle-wrapper.properties</code> file. The following |
| example sets the Gradle version to 2.10 in the |
| <code>gradle-wrapper.properties</code> file. |
| </p> |
| |
| <pre> |
| ... |
| distributionUrl = https\://services.gradle.org/distributions/gradle-2.10-all.zip |
| ... |
| </pre> |
| |
| <h2 id="revisions"> |
| Revisions |
| </h2> |
| |
| <p> |
| For a summary of known issues in Android Plugin for Gradle, visit the |
| <a class="external-link" href="http://tools.android.com/knownissues">Android |
| Tools Project Site</a>. |
| </p> |
| |
| <div class="toggle-content opened"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_up.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 2.0.0</a> <em>(April 2016)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.10 or higher. |
| </li> |
| |
| <li> |
| <a href="{@docRoot}tools/revisions/build-tools.html">Build Tools 21.1.1</a> |
| or higher. |
| </li> |
| </ul> |
| </dd> |
| |
| <dt>New:</dt> |
| <dd> |
| <ul> |
| <li>Enables <a href= |
| "{@docRoot}tools/building/building-studio.html#instant-run">Instant Run</a> by |
| supporting bytecode injection, and pushing code and resource updates to a |
| running app on the emulator or a physical device. |
| </li> |
| |
| <li>Added support for incremental builds, even when the app isn’t running. |
| Full build times are improved by pushing incremental changes through the |
| <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge</a> to the |
| connected device. |
| </li> |
| |
| <li>Added <a class="external-link" href= |
| "http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.DexOptions.html#com.android.build.gradle.internal.dsl.DexOptions:maxProcessCount"> |
| <code>maxProcessCount</code></a> to control how many slave dex processes can be |
| spawned concurrently. The following code, in the module-level |
| <code>build.gradle</code> file, sets the maximum number of concurrent processes |
| to 4: |
| <pre> |
| android { |
| ... |
| dexOptions { |
| maxProcessCount = 4 // this is the default value |
| } |
| } |
| </pre> |
| </li> |
| |
| <li>Added an experimental code shrinker to support pre-dexing and reduce re-dexing |
| of dependencies, which are not supported with Proguard. This improves the build |
| speed of your debug build variant. Because the experimental shrinker does not |
| support optimization and obfuscation, you should enable Proguard for your |
| release builds. To enable the experimental shrinker for your debug builds, add |
| the following to your module-level <code>build.gradle</code> file: |
| |
| <pre> |
| android { |
| ... |
| buildTypes { |
| debug { |
| minifyEnabled true |
| useProguard false |
| } |
| release { |
| minifyEnabled true |
| useProguard true // this is a default setting |
| } |
| } |
| } |
| </pre> |
| </li> |
| |
| <li>Added logging support and improved performance for the resource shrinker. |
| The resource shrinker now logs all of its operations into a <code>resources.txt</code> |
| file located in the same folder as the Proguard log files. |
| </li> |
| </ul> |
| </dd> |
| |
| <dt>Changed behavior:</dt> |
| <dd> |
| <ul> |
| <li>When <code>minSdkVersion</code> is set to 18 or higher, APK signing uses |
| SHA256. |
| </li> |
| |
| <li>DSA and ECDSA keys can now sign APK packages. |
| |
| <p class="note"> |
| <strong>Note:</strong> The <a href= |
| "{@docRoot}training/articles/keystore.html">Android keystore</a> provider no |
| longer supports <a href= |
| "{@docRoot}about/versions/marshmallow/android-6.0-changes.html#behavior-keystore"> |
| DSA keys on Android 6.0</a> (API level 23) and higher. |
| </p> |
| |
| </li> |
| </ul> |
| </dd> |
| |
| <dt>Fixed issues:</dt> |
| <dd> |
| <ul> |
| <li>Fixed an issue that caused duplicate AAR dependencies in both |
| the test and main build configurations. |
| </li> |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.5.0</a> <em>(November 2015)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 or higher.</li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Integrated the Data Binding Plugin into the Android Plugin for Gradle. To enable it, add |
| the following code to each per-project <code>build.gradle</code> file that uses the |
| plugin:</li> |
| <pre> |
| android { |
| dataBinding { |
| enabled = true |
| } |
| } |
| </pre> |
| <li>Added a new <a href="http://google.github.io/android-gradle-dsl/javadoc/1.5/" class="external-link">Transform API</a> |
| to allow third-party plugins to manipulate compiled <code>.class</code> files before they’re |
| converted to <code>.dex</code> files. 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 the <code>Transform</code> |
| interfaces, and register it with <code>android.registerTransform(theTransform)</code> or |
| <code>android.registerTransform(theTransform, dependencies)</code>. There’s no need to |
| wire tasks together. Note the following about the Transform API:</li> |
| <ul> |
| <li>A transform can apply to one or more of the following: the current project, subprojects, |
| and external libraries.</li> |
| <li>A transform must be registered globally, which applies them to all variants.</li> |
| <li>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 <code>javac/dx</code> code path does.</li> |
| <li>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.</li> |
| </ul> |
| <li>Deprecated the <code>dex</code> getter from the <code>ApplicationVariant</code> class. |
| You can't access the <code>Dex</code> task through the variant API anymore because it’s now |
| accomplished through a transform. There's |
| currently no replacement for controlling the dex process.</li> |
| <li>Fixed incremental support for assets.</li> |
| <li>Improved MultiDex support by making it available for test projects, and |
| tests now automatically have the <code>com.android.support:multidex-instrumentation</code> |
| dependency.</li> |
| <li>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.</li> |
| <li>Added support for configuring a specific Application Binary Interface (ABI) in variants |
| that contain multiple ABIs.</li> |
| <li>Added support for a comma-separated list of device serial numbers for the |
| <code>ANDROID_SERIAL</code> environment variable when installing or running tests.</li> |
| <li>Fixed an installation failure on devices running Android 5.0 (API level 20) and higher |
| when the APK name contains a space.</li> |
| <li>Fixed various issues related to the Android Asset Packaging Tool (AAPT) error output.</li> |
| <li>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.</li> |
| <li>Fixed JaCoCo support so it ignores files that aren’t classes.</li> |
| <li>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 |
| <code>android:minSdkVersion</code> attribute of 20 or lower in the |
| <code><uses-sdk></code> element in the app manifest. You can set PNG densities by |
| using the <code>generatedDensities</code> property in the <code>defaultConfig</code> or |
| <code>productFlavor</code> sections of a <code>build.gradle</code> file.</li> |
| <li>Added sharing of the mockable <code>android.jar</code>, which the plugin generates only |
| once and uses for unit testing. Multiple modules, such as <code>app</code> and |
| <code>lib</code>, now share it. Delete <code>$rootDir/build</code> to regenerate it. </li> |
| <li>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.</li> |
| <li>Fixed an issue with using Java Native Interface (JNI) code in the experimental library |
| plugin.</li> |
| <li>Added the ability to set the platform version separately from the |
| <code>android:compileSdkVersion</code> attribute in the experimental library |
| plugin.</li> |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.3.1</a> <em>(August 2015)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 or higher.</li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Fixed the <a href="{@docRoot}tools/help/zipalign.html">ZipAlign</a> task to properly |
| consume the output of the previous task when using a customized filename. </li> |
| <li>Fixed <a href="{@docRoot}guide/topics/renderscript/compute.html">Renderscript</a> |
| packaging with the <a href="{@docRoot}tools/sdk/ndk/index.html">NDK</a>. </li> |
| <li>Maintained support for the <code>createDebugCoverageReport</code> build task. </li> |
| <li>Fixed support for customized use of the <code>archiveBaseName</code> property |
| in the <code>build.gradle</code> build> file. </li> |
| <li>Fixed the <code>Invalid ResourceType</code> |
| <a href="{@docRoot}tools/help/lint.html">lint</a> warning caused by parameter method |
| annotation lookup when running |
| <a href="{@docRoot}tools/help/lint.html">lint</a> outside of Android Studio.</li> |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| |
| |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.3.0</a> <em>(July 2015)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 or higher.</li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Added support for the <code>com.android.build.threadPoolSize</code> property to control |
| the <code>Android</code> task thread pool size from the <code>gradle.properties</code> file |
| or the command line. The following example sets this property to 4. |
| <pre> |
| -Pcom.android.build.threadPoolSize=4 |
| </pre> |
| </li> |
| <li>Set the default build behavior to exclude <code>LICENSE</code> and <code>LICENSE.txt</code> |
| files from APKs. To include these files in an APK, remove these files from the |
| <code>packagingOptions.excludes</code> property in the <code>build.gradle</code> file. |
| For example: |
| <pre> |
| android { |
| packagingOptions.excludes = [] |
| } |
| </pre> |
| </li> |
| <li>Added the <code>sourceSets</code> task to inspect the set of all available source sets. </li> |
| <li>Enhanced unit test support to recognize multi-flavor and |
| <a href="{@docRoot}tools/building/configuring-gradle.html#workBuildVariants"> |
| build variant</a> source folders. For example, to test an app with multi-flavors |
| <code>flavor1</code> and <code>flavorA</code> with the <code>Debug</code> build type, |
| the test source sets are: |
| <ul> |
| <li>test </li> |
| <li>testFlavor1 </li> |
| <li>testFlavorA </li> |
| <li>testFlavor1FlavorA </li> |
| <li>testFlavor1FlavorADebug </li> |
| </ul> |
| <p>Android tests already recognized multi-flavor source folders. </p> </li> |
| <li>Improved unit test support to:</p> |
| <ul> |
| <li>Run <code>javac</code> on main and test sources, even if the <code>useJack</code> |
| property is set to <code>true</code> in your build file. </li> |
| <li>Correctly recognize dependencies for each build type. </li> |
| </ul> |
| </li> |
| <li>Added support for specifying instrumentation test-runner arguments from the command line. |
| For example: |
| <pre> |
| ./gradlew connectedCheck \ |
| -Pandroid.testInstrumentationRunnerArguments.size=medium \ |
| -Pandroid.testInstrumentationRunnerArguments.class=TestA,TestB |
| </pre> |
| </li> |
| <li>Added support for arbitrary additional Android Asset Packaging Tool (AAPT) parameters |
| in the <code>build.gradle</code> file. For example: |
| <pre> |
| android { |
| aaptOptions { |
| additionalParameters "--custom_option", "value" |
| } |
| } |
| </pre> |
| </li> |
| |
| <li>Added support for a <a href="{@docRoot}tools/studio/studio-features.html#test-module"> |
| test APK module</a> as a separate test module, using the |
| <code>targetProjectPath</code> and <code>targetVariant</code> properties to set the APK |
| path and target variant. |
| <p class="note"><strong>Note:</strong> A test APK module does not support product |
| flavors and can only target a single variant. Also, Jacoco is not supported yet.</p> |
| </li> |
| <li>Added resource name validation before merging resources. </li> |
| <li>When building an AAR (Android ARchive) package for library modules, do not provide an |
| automatic <code>@{applicationId}</code> placeholder in the |
| <a href="{@docRoot}tools/building/manifest-merge.html">manifest merger</a> settings. |
| Instead, use a different placeholder, such as <code>@{libApplicationId}</code> and |
| provide a value for it if you want to include application Ids in the archive library. </li> |
| |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| |
| |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.2.0</a> <em>(April 2015)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 or higher.</li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Enhanced support for running unit tests with Gradle. </li> |
| <ul> |
| <li>Added support to include Java-style resources in the classpath when running unit |
| tests directly from Gradle. |
| </li> |
| <li>Added unit test dependency support for Android ARchive (AAR) artifacts. |
| </li> |
| <li>Added support for the <code>unitTestVariants</code> property so unit test variants |
| can be manipulated using the <code>build.gradle</code> file. |
| </li> |
| <li>Added the <code>unitTest.all</code> code block under <code>testOptions</code> to |
| configure customized tasks for unit test. The following sample code shows how to add |
| unit test configuration settings using this new option: |
| <pre> |
| android { |
| testOptions { |
| unitTest.all { |
| jvmArgs '-XX:MaxPermSize=256m' // Or any other gradle option. |
| } |
| } |
| } |
| </pre> |
| </li> |
| <li>Fixed the handling of enums and public instance fields in the packaging of the |
| <code>mockable-android.jar</code> file. |
| </li> |
| <li>Fixed library project task dependencies so test classes recompile after changes. |
| </li> |
| </ul> |
| <li>Added the <code>testProguardFile</code> property to apply |
| <a href="{@docRoot}tools/help/proguard.html">ProGuard</a> files when minifying a test APK. |
| </li> |
| <li>Added the <code>timeOut</code> property to the <code>adbOptions</code> code block |
| for setting the maximum recording time for |
| <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge</a> screen recording. |
| </li> |
| <li>Added support for 280 dpi resources. |
| </li> |
| <li>Improved performance during project evaluation. |
| </li> |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.1.3</a> <em>(March 2015)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 or higher.</li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Fixed issue with duplicated dependencies on a test app that triggered a ProGuard failure. </li> |
| <li>Fixed Comparator implementation which did not comply with the JDK Comparator contract and |
| generated a JDK 7 error.</li> |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.1.2</a> <em>(February 2015)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 or higher.</li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Normalized path when creating a mockable JAR for unit testing. </li> |
| <li>Fixed the <code>archivesBaseName</code> setting in the <code>build.gradle</code> file. </li> |
| <li>Fixed the unresolved placeholder failure in manifest merger when building a library |
| test application.</li> |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.1.1</a> <em>(February 2015)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 or higher.</li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Modified build variants so only variants that package a |
| <a href="{@docRoot}training/wearables/apps/index.html">Wear</a> app trigger Wear-specific |
| build tasks. </li> |
| <li>Changed dependency related issues to fail at build time rather than at debug time. |
| This behavior allows you to run diagnostic diagnostic tasks (such as 'dependencies') to help |
| resolve the conflict. </li> |
| <li>Fixed the <code>android.getBootClasspath()</code> method to return a value. </li> |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| |
| |
| |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.1.0</a> <em>(February 2015)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 or higher.</li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Added new unit test support</li> |
| <ul> |
| <li>Enabled |
| <a href="{@docRoot}training/activity-testing/activity-unit-testing.html">unit tests</a> to |
| run on the local JVM against a special version of the <code>android.jar</code> file that is |
| compatible with popular mocking frameworks, for example Mockito. </li> |
| <li>Added new test tasks <code>testDebug</code>, <code>testRelease</code>, and |
| <code>testMyFlavorDebug</code> when using product flavors. </li> |
| <li>Added new source folders recognized as unit tests: <code>src/test/java/</code>, |
| <code>src/testDebug/java/</code>, <code>src/testMyFlavor/java/</code>. |
| <li>Added new configurations in the <code>build.gradle</code> file for declaring test-only |
| dependencies, for example, <code>testCompile 'junit:junit:4.11'</code>, |
| <code>testMyFlavorCompile 'some:library:1.0'</code>. |
| <p class="note"><strong>Note:</strong> Test-only dependencies are not currently compatible |
| with Jack (Java Android Compiler Kit). </p> |
| </li> |
| <li>Added the <code>android.testOptions.unitTests.returnDefaultValues</code> option to |
| control the behaviour of the mockable android.jar. </li> |
| </ul> |
| <li>Replaced <code>Test</code> in test task names with <code>AndroidTest</code>. |
| For example, the <code>assembleDebugTest</code> task is now |
| <code>assembleDebugAndroidTest</code> task. Unit test tasks still have <code>UnitTest</code> |
| in the task name, for example <code>assembleDebugUnitTest</code>. </li> |
| <li>Modified <a href="{@docRoot}tools/help/proguard.html">ProGuard</a> configuration files to |
| no longer apply to the test APK. If minification is enabled, ProGuard processes the test APK |
| and applies only the mapping file that is generated when minifying the main APK. </li> |
| <li>Updated dependency management</li> |
| <ul> |
| <li>Fixed issues using <code>provided</code> and <code>package</code> scopes. |
| <p class="note"><strong>Note:</strong> These scopes are incompatible with AAR |
| (Android ARchive) packages and will cause a build with AAR packages to fail.</p> |
| </li> |
| <li>Modified dependency resolution to compare the dependencies of an app under test and the |
| test app. If an artifact with the same version is found for both apps, it's not included with |
| the test app and is packaged only with the app under test. If an artifact with a different |
| version is found for both apps, the build fails.</li> |
| </ul> |
| |
| <li>Added support for <code>anyDpi</code> |
| <a href="{@docRoot}guide/topics/resources/providing-resources.html"> resource qualifier</a> |
| in resource merger. </li> |
| <li>Improved evaluation and IDE sync speeds for projects with a large number of |
| Android <a href="{@docRoot}sdk/installing/create-project.html#CreatingAModule"> modules</a>. </li> |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.0.1</a> <em>(January 2015)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 up to 2.3.x. |
| <p class="note"><strong>Note:</strong> This version of the Android Plugin for Gradle is |
| not compatible with Gradle 2.4 and higher. </p> |
| </li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Fixed issue with Gradle build failure when accessing the |
| <code>extractReleaseAnnotations</code> module. |
| (<a href="http://b.android.com/81638">Issue 81638</a>).</li> |
| <li>Fixed issue with <code>Disable</code> passing the |
| <code>--no-optimize</code> setting to the Dalvik Executable (dex) bytecode. |
| (<a href="http://b.android.com/82662">Issue 82662</a>).</li> |
| <li>Fixed manifest merger issues when importing libraries with a |
| <code>targetSdkVersion</code> less than 16.</li> |
| <li>Fixed density ordering issue when using Android Studio with JDK 8.</li> |
| </ul> |
| </dd> |
| </div> |
| </div> |
| |
| <div class="toggle-content closed"> |
| <p><a href="#" onclick="return toggleContent(this)"> |
| <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" |
| alt=""/>Android Plugin for Gradle, Revision 1.0.0</a> <em>(December 2014)</em> |
| </p> |
| |
| <div class="toggle-content-toggleme"> |
| |
| <dl> |
| <dt>Dependencies:</dt> |
| |
| <dd> |
| <ul> |
| <li>Gradle 2.2.1 up to 2.3.x. |
| <p class="note"><strong>Note:</strong> This version of the Android Plugin for Gradle is |
| not compatible with Gradle 2.4 and higher. </p> |
| </li> |
| <li>Build Tools 21.1.1 or higher.</li> |
| </ul> |
| </dd> |
| |
| <dt>General Notes:</dt> |
| <dd> |
| <ul> |
| <li>Initial plugin release.</li> |
| </ul> |
| </dd> |
| </div> |
| </div> |