blob: 792cac0c1a5699d883cbdc6a0d9272b65f3c53ed [file] [log] [blame]
- Requires Gradle 1.9
- You can now have a variant specific source folder if you have flavors.
Only for app (not library or test). Name is src/flavorDebug/... or src/flavor1Flavor2Debug/
(note the camelcase naming, with lower case for first letter).
Its components (res, manifest, etc...) have higher priority than components from build type
or flavors.
There is also a "flavor combination" source folder available when more than one
flavor dimension is used.
For instance src/flavor1Flavor2/
Note that this is for all combinations of *all* dimensions.
- Build config improvements and DSL changes.
The previous DSL proprety:
buildConfigLine "<value>"
has changed to
buildConfigField "<type>", "<name>", "<value>"
This allows override a field (see 'basic' sample)
Also, BuildConfig now automatically contains constants for
PACKAGE_NAME, VERSION_CODE, VERSION_NAME, BUILD_TYPE, FLAVOR as well as FLAVOR_<group>, FLAVOR_<group>, etc... if there are several flavor dimensions.
- Switch to ProGuard 4.10
- Added ability to test proguarded (obfuscated) apps.
- New option on product Flavor (and defaultConfig) allow filtering of resources through the -c option of aapt
You can pass single or multiple values through the DSL. All values from the default config and flavors
get combined and passed to aapt.
resConfig "en"
resConfig "nodpi","hdpi"
- Jar files are now pre-dexed for faster dexing.
- First pass at NDK integration
- API to add new generated source folders:
variant.addJavaSourceFoldersToModel(sourceFolder1, sourceFolders2,...)
This adds the source folder to the model (for IDE support).
Another API:
variant.registerJavaGeneratingTask(task, sourceFolder1, sourceFolders2,...)
This automatically adds the dependency on the task, sets up the JavaCompile task inputs and propagates
the folders to the model for IDE integration.
- API to add extra artifacts on variants. This will allow to register Java or Android artifacts, for instance
for alternative test artifacts.
- Fixed ClassNotFoundException:MergingException introduced in 0.6.2
- Lint now picks up the SDK home from sdk.dir in
- Error message shown when using an unsupported version of Gradle now explains how to update the Gradle wrapper
- Merged resource files no longer place their source markers into the R file as comments
- Project path can contain '--' (two dashes)
- Internal changes to improve integration with Android Studio
- Fixed issues with lint task found in 0.6.0
- Enabled support for Gradle 1.8
- Gradle 1.8 is now the minimum supported version
- Default encoding for compiling Java code is UTF-8
- Users can now specify the encoding to use to compile Java code
- Fixed Gradle 1.8-specific bugs
- Importing projects with missing dependencies was broken
- Compiling projects with AIDL files was broken
- Proguard support for libraries.
Note the current DSL property 'proguardFiles' for library now sets the proguard rule file used when proguarding the library code.
The new property 'consumerProguardFiles' is used to package a rule file inside an aar.
- Improved IDE support, including loading project with broken dependencies and anchor task to generate Java code
- New hook tasks: preBuild and prebuild<VariantName>
- First lint integration. This is a work in progress and therefore the lint task is not added to the check task.
- Enable compatibility with 1.8
- Enabled support for 1.7
- Fix issue preventing to use Build Tools 18.0.1
- access to the variants container don't force creating the task.
This means android.[application|Library|Test]Variants will be empty
during the evaluation phase. To use it, use .all instead of .each
- Only package a library's own resources in its aar.
- Fix incremental issues in the resource merger.
- Misc bug fixes.
- Fixed incremental compilation issue with declare-styleable
- Fixed a crashing bug in PrepareDependenciesTask
- Better error reporting for cmd line tools, especially
if run in parallel in spawned threads
- Fixed an issue due to windows path in merged resource files.
- Fixed issue in the dependency checker.
- IDE Model is changed and is not compatible with earlier version! A new IDE
will required.
- Fixed IDE model to contain the output file even if it's customized
through the DSL. Also fixed the DSL to get/set the output file on the
variant object so that it's not necessary to use variant.packageApplication
or variant.zipAlign
- Fixed dependency resolution so that we resolved the combination of (default config,
build types, flavor(s)) together instead of separately.
- Fixed dependency for tests of library project to properly include all the dependencies
of the library itself.
- Fixed case where two dependencies have the same leaf name.
- Fixed issue where proguard rules file cannot be applied on flavors.
- Enabled crunching for all png files, not just .9.png
- Fixed dealing with non resource files in res/ and assets/
- Fixed crash when doing incremental aidl compilation due to broken method name (ah the joy of Groovy...)
- Cleaned older R classes when the app package name has changed.
* Fixed incremental support for resource merging.
* Fixed issue where all pngs would be processed in parallel with no limit
on the number of thread used, leading to failure to run aapt.
* Fixed ignoreAsset support in aaptOptions
* Added more logging on failure to merge manifests.
* Added flavor names to the TestServer API.
* Renamed 'package' scope to 'apk'
- variants are 'debugApk', 'releaseApk', 'flavor1Apk', etc...
- Now properly supported at build to allow package-only dependencies.
* Only Jar dependencies can be package-only. Library projects must be added to the compile scope.
* Fixed [application|library|test]Variants API (always returned empty on 0.4)
* Fixed issue in Proguard where it would complain about duplicate Manifests.
* System requirements:
- Gradle 1.6+
- Android Build Tools 16.0.2+
* Rename deviceCheck into connectedDevice
* API for 3rd party Device Providers and Test Servers to run and deploy tests. API is @Beta
* Support for ProGuard 4.9
- enable with BuildType.runProguard
- add proguard config files with BuiltType.proguardFile or ProductFlavor.proguardFile
- default proguard files accessible through android.getDefaultProguardFile(name) with name
being 'proguard-android.txt' or 'proguard-android-optimize.txt'
* Implements Gradle 1.6 custom model for IDE Tooling support
* Fixes:
- Fix support for subfolders in assets/
- Fix cases where Android Libraries have local Jars dependencies
- Fix renaming of package through DSL to ensure resources are compiled in the new namespace
- Fix DSL to add getSourceSets on the "android" extension.
- DSL to query variants has changed to applicationVariants and libraryVariants (depending on the plugin)
Also both plugin have testVariants (tests are not included in the default collection).
* System requirements:
- Gradle 1.3+ (tested on 1.3/1.4)
- Android Platform Tools 16.0.2+
* New Features:
- Renderscript support.
- Support for multi resource folders. See 'multires' sample.
* PNG crunch is now done incrementally and in parallel.
- Support for multi asset folders.
- Support for asset folders in Library Projects.
- Support for versionName suffix provided by the BuildType.
- Testing
* Default sourceset for tests now src/instrumentTest (instrumentTest<Name> for flavors)
* Instrumentation tests now:
- started from "deviceCheck" instead of "check"
- run on all connected devices in parallel.
- break the build if any test fails.
- generate an HTML report for each flavor/project, but also aggregated.
* New plugin 'android-reporting' to aggregate android test results across projects. See 'flavorlib' sample.
- Improved DSL:
* replaced with android.compileSdkVersion to make it less confusing with targetSdkVersion
* signing information now a SigningConfig object reusable across BuildType and ProductFlavor
* ability to relocate a full sourceSet. See 'migrated' sample.
* API to manipulate Build Variants.
* Fixes:
- Default Java compile target set to 1.6.
- Fix generation of R classes in case libraries share same package name as the app project.
* Fixed support for windows.
* Added support for customized sourceset. (
* Added support for dependency per configuration.
* Fixed support for dependency on local jar files.
* New samples "migrated" and "flavorlib"
0.1: initial release