android7.0 强制doze,New Build System

Release notes:

2.3.0-alpha1The user cache for dex files is now enabled by default, which should speed up builds

Configuration times for very large projects should be significantly faster

For Instant Run, the "startup delay" (where large apps stall for a few seconds at startup) should be gone

Instant Run is using "APK Splits" when targeting Android N which is a bit more reliable than the classloader tricks it uses to target older platforms

2.2.0 (2016/9/19)

Manifest Merger : do not merge same dependencies multiple times.

New packager bug fixes :ZFile: don't fail when data descriptor doesn't match CDH

Extract gzipped assets in the asset merger.

InstantRun, fixed case when changed manifest is not detected.

2.2.0-beta2 (2016/8/19)

InstantRun : added more logging, bugs fixed :do not instrument native methods.

N support

New packager fixes

2.2.0-beta1 (2016/8/8)

Upgrade required Gradle to 2.14.1

Fixes to reduce memory consumption during a Gradle Sync.

More Jack integration features, incremental mode.

InstantRun fixes related to IDE showing "No code changes"

2.2.0-alpha4 (2016/6/23)

Fixed instant-run regressions introduced in previous alpha builds related to code refactoring.

Turned off new packager by default due to some signing issues.

versionNameSuffix can now be specified for product flavors.

DexOptions now has anadditionalParametersproperty for specifying custom flags for dx.

ProGuard files returned bygetDefaultProguardFileare distributed with the plugin now, the ones in$ANDROID_HOMEare no longer used.

SDK auto-download: Gradle will attempt to download missing SDK packages that a project depends on.

Added support for annotation processors. By default, annotation processors on your classpath, such as any compile dependency, will be automatically applied. You can also specify an annotation processor in your build and pass arguments by using the following DSL in your module-levelbuild.gradlefile:android {defaultConfig {

javaCompileOptions {

annotationProcessorOptions {

className 'com.example.MyProcessor'

// Arguments are optional.

arguments = [ foo : 'bar' ]

}

}

}

}

2.1.0 (2016/4/26)

Fixed instant-run issue related to added dependencies and having other changes dropped.

2.1.0-rc1 (2016/4/22)

Turned on incremental Java compilation by default.

Turned on in process dexing by default if gradle daemon has enough memory allocated.

2.0.0-rc2/rc3 (2016/4/4)

Fix forhttps://code.google.com/p/android/issues/detail?id=203824

Instant RunChanged default slave count for dexing to 4

2.0.0-rc1 (2016/3/30)

Instant RunDex each dependency independently rather than combining them in a single dependencies.jar

2.0.0-beta7/2.1.0-alpha3 (2016/3/19)

N Preview (2.1.0-alpha3 only)Support for JDK8 using Jack on Windows.

Instant RunChanged slices allocation to be more deterministic (based on package name).

Fix for bug 202502 : Only top level activities can be restarted.

Automatically turnon pre-dexing

Turn on Jumbo mode automatically in instant-run mode.

Changed slices allocation to be more deterministic (based on package name).Support For Atomic*FieldUpdater

2.1.0-alpha1 (2016/2/16)

Support for N.

2.0.0-beta5 (2016/2/16)

Instant RunDisabled incremental javac compilation by default as it was not reliably recompiling R classes when needed.

2.0.0-beta4 (2016/2/11)

Instant RunSecond attempts at fixing performance regression when building applications with large dependencies.

Second unrelated fix for issue when application was restarted, coldswap would not use the latest code.

New shrinker will now keep Application class when used with InstantRun.

Always for re-dexing when doing a coldswap to ensure latest code changes are pushed.

Add InstantRun verifier logic for native libraries.

Add "Provided" dependencies to InstantRun transforms.

Added DSL flag to disable incremental java compilation :

compileOptions {incremental=true | false}

Fix Dalvik verifier error when calling super method with short or byte parameter types.

Added a maxDexProcess to control how many slave dx process can be spawned concurrently :

dexOptions {maxDexProcess=2

}

Disable incremental java compilation when retro-lambda is used.

2.0.0-beta3 (2016/2/10) : never released

2.0.0-beta2 (2016/2/5)

Instant RunFixed performance regression when building applications with large dependencies.

Fixed issue when application was restarted, coldswap would not use the latest code.

Fixed issue when InstantRun would not clean its state after a coldswap resulting in 'no code change" messages.

Disabled InstantRun with legacy multidex (<21).

Disable incremental java compilation when "android-apt" plugin is present.

2.0.0-beta1 (2016/2/4) : never released

2.0.0-alpha9 (2016/1/30)

Instant RunSwitched Lollipop and Marshmallow to use native multidex as split apk had installation errors with dex2oat.

Disable dexInProcess by default unless

android {dexOptions {

dexInProcess = true

}}

2.0.0-alpha8 (2016/1/28)

Instant RunSwitch Lollipop and Marshmallow to use Split apks

Disable Coldswap on Dalvik

Fix for deleted classes that could generate a FileNotFoundException

2.0.0-alpha7 (2016/1/23)

Instant RunHandle compilation issues : if the build failed during the Java Compilation phase, InstantRun was forgetting some artifacts already built like resources.

Added more logging to JarMerger to track some duplicate file exception.

Disable hotswap when new class is added.

Enabled dexInProcess by default

2.0.0-alpha6 (2016/1/15)

Instant RunFix alpha5 reported issues :

- cannot build when importing play-services.

- zip exception with wrong size entries on some platforms.

- make sure we don't add the same artifacts to the built list leading to wrong deployment list.Fix alpha5 reported issues

Enable new shrinker with Instant Run.

2.0.0-alpha5 (2016/1/14)

Instant RunImplemented cold start (when code change cannot be applied with hot swap)

- on pre-lollipop releases with Dalvik, restart.dex are produces each time a cold start is necessary

- on lollipop, leverage multi dexes to slice applications in multiple dexes and rebuild/redeliver minimum set

of dexes necessary.

- on marshmallow, leverage split APK to deliver multi dexes.

Cold start solution is therefore depending on the target platform you are deploying to, please be sure to

clearly document the target platform when filing issues.

in process Dexing on by default.

Enhanced interactions with the IDE, should reduce a lot the number of rebuild.

Can be enabled by settingbuildTypes.debug.useProguard false

Doesn't obfuscate, only removes unused code

It's supposed to be faster, for iterative development but cannot be used while InstantRun is active yet.

Resource ShrinkerA number of bugs in the resource shrinker were fixed, and it now logs all of its operations into resources.txt in the same folder as the proguard log files

Incremental Java compilation

Enabled by default, but can be disabled by using./gradlew -Pandroid.incrementalJavaCompile=false

Needs gradle 2.10 to work

2.0.0-alpha3 (2015/12/10)

Instant Run fixesover consumption of dex id can lead to prematurely reach over 65K limit while dexing

Dexing in processCan be enabled by settingandroid.dexOptions.dexInProcess = true

APK signing uses SHA256 if minSDK is >= 18

APKs can now be signed with DSA and ECDSA keys

AAPT/libpng warning about unrecognized sRGB profile is now logged on INFO level, so it's not visible by default.

Fixed an issue with duplicate AAR dependencies in test and main configurations (http://b.android.com/192497)

1.5.0-beta1 (2015/11/02)

Integrated Data Binding plugin into android plugin, to enable it :

android {

dataBinding {

enabled = true

}

}

1.4.0-beta6 (2015/10/05)

Fixed incremental support for assets

Moved creation of SdkHandler to apply phase.

1.4.0-beta5 (2015/10/03)

Fixed pre-dex incremental support.

Fixed jacoco to ignore non class files.

1.4.0-beta4 (2015/10/01)New API to manipulate .class files before they are converted to Dex.Custom transforms can be created:extendscom.android.build.transform.api.Transform, from artifactcom.android.tools.build:transform-api:1.4.0-beta4,and implements one ofAsInputTransform

CombinedTransform

ForkTransform

NoOpTransform

We’re looking for feedback on the API.

Beta4 changes:Transform is now an abstract class

There’s no getType anymore, instead implement the right interface

Transforms can now be applied to libraries

transform method now receives a Context object to get access to some information about the task.

1.4.0-beta3 (2015/09/24)

Multi-dex support now available for test projects.

Test now automatically depend oncom.android.support:multidex-instrumentation

New API to manipulate .class files before they are converted to Dex.

Transform can apply to the current project, sub projects, and/or external libraries

Transforms are added viaandroid.registerTransform(Transform). No need to deal with wiring tasks together.

We’re looking for feedback on the API.

The Dex task is not available through the variant API anymore….

The API is still there but will throw an exception indicating how to fix this.

Some of the pipeline changes create issues with the currently released Android Studio (up to 1.4.0)

External libraries imports will not be resolved correctly.

1.4.0-beta2 (2015/09/15)

When asynchronous tasks are invoked from the Gradle build and a failure is experienced in the slave process, properly fail the gradle build with the underlying error cause.

Fixed issue with using jni code in experimental library plugin.

Allow platform version to be set separately from compileSdkVersion in experimental plugin.

Allow ABI specific configurations in a variant that contains multiple ABI.

Fix a regression in 1.4.0-beta1 where the build would fail claiming that a resource overlay had removed a resource needed by a library if an app or android library depended on multiple android libraries which depend on different versions of the same android library.

Allow a comma-separated list of serials in ANDROID_SERIAL when installing or running tests

Fix installation failure on L+ devices when the APK name contains a space.

Fix various issues related to AAPT error output.

Incremental Jacoco instrumentation should provide faster incremental builds. The Jacoco instrumenter is invoked directly by the android plugin. In order to force a newer version of the Jacoco instrumenter it should be added as a build script dependency.

Vector drawable support for generating PNGs at build time.

PNGs are generated for every vector drawable found in a resource directory that does not specify an API version (or specifies a version lower than 21).

This only happens if minSdk is below 21.

Densities to use can be set using the new "generatedDensities" property in defaultConfig or per-flavor.

Multiple modules (e.g. app and lib) now share the same mockable android.jar (for unit testing) which is generated only once. Delete $rootDir/build to regenerate it.

Multi-dex support now available for test projects.

Test now automatically depend oncom.android.support:multidex-instrumentation

New API to manipulate .class files before they are converted to Dex.

Custom transforms can be created (implementscom.android.build.transform.api.Transform, from artifactcom.android.tools.build:transform-api:1.4.0-beta2)

Transform can apply to the current project, sub projects, and/or external libraries.

Transforms are added viaandroid.registerTransform(Transform). No need to deal with wiring tasks together.

We’re looking for feedback on the API.

More info: http://tools.android.com/tech-docs/new-build-system/transform-api

The Dex task is not available through the variant API anymore….

The API is still there but will throw an exception indicating how to fix this.

1.4.0-beta(2015/08/24)

Instead of processing java resources during the packaging of the APK,moved this upfront before the obfuscation tasks. This will allowthe obfuscation tasks to have a chance to adapt the java resourcesfollowing packages obfuscation

made java resources extraction from libraries incremental tasks.

Fixed issue with using jni code in experimental library plugin.

Allow platform version to be set separately from compileSdkVersion in experimental plugin.

Prevent a consumer of a library removing a resource from that library, which would lead to a runtime NoSuchFieldError.

Allow a comma-separated list of serials in ANDROID_SERIAL when installing or running tests

Fix installation failure on L+ devices when the APK name contains a space.

Fix various issues related to AAPT error output.

Vector drawable support for generating PNGs at build time.

PNGs are generated for every vector drawable found in a resource directory that does not specify an API version (or specifies a version lower than 21).

This only happens if minSdk is below 21.

Densities to use can be set using the new "generatedDensities" property in defaultConfig or per-flavor.

Multiple modules (e.g. app and lib) now share the same mockable android.jar (for unit testing) which is generated only once. Delete $rootDir/build to regenerate it.

1.3.1(2015/08/11)

fixed issue when ZipAlign task would not consume previous' task output when it the file name is customized.

fixed packaging of Renderscript with NDK

Keep the createDebugCoverageReport task name.

Fix customized archiveBaseName handling : see http://b.android.com/182016

1.3.0(2015/07/30)

added experimental-plugin with ndk support.

see http://tools.android.com/tech-docs/new-build-system/gradle-experimental

When building aar, do not provide automatic @{applicationId} placeholderin manifest merger.

Introduce support for incremental compilation support with Jill and Jack.

By default, "LICENSE" and "LICENSE.txt" are excluded when creating an APK.

This can be changed from the DSL:android {packagingOptions.excludes = []}

NewsourceSetstask for inspecting the set of all available source sets.

Unit tests recognize multi-flavor and per-variant source folders (e.g.testDemoDebug). Android tests recognized multi-flavor source folders.

Unit testing improvements

Run javac on main and test sources, even if useJack is true.

Correctly recognize per-build-type dependencies.

Added support for controlling the thread pool size for android tasks on the command line or in the gradle.properties file. The following example sets this to 4:

./gradlew -Pcom.android.build.threadPoolSize=4

It's now possible to specify instrumentation test runner arguments inbuild.gradle (in defaultConfig or per flavor):

android {

defaultConfig {testInstrumentationRunnerArguments size: "medium"

}

}

This can also be done on the command line:

./gradlew cC-Pandroid.testInstrumentationRunnerArguments.size=medium

1.2.2(2015/04/28)

More fixes to the dependency management to speed things up.

1.2.1(2015/04/27)

Added support for 280dpi resources.

1.2.0(2015/04/26)

More fixes to the dependency management to speed things up.

Added Enable flag to splits configuration for language.

Upgraded Proguard to 5.1

DSL: new code block for configuring the test tasks, see Unit testing support.

Unit testing:

Java-style resources are put on the classpath.

Final modifier is stripped from public instance fields in the platform jar.

Test-only ProGuard files. When running instrumentation tests (i.e. connectedCheck) againsta minified variant, the test APK needs to be processed by ProGuard to

rename references to codein the main APK. Flags for this ProGuard run (mostly for silencing warnings) can now be specifiedlike this:

android.buildType.minified.testProguardFile "test-proguard-rules.pro"

1.2.0-beta1(2015/03/25)

Mainly a bug fixing release with very few new features.

Better support for unit tests (libraries can now have unit tests, etc...)

Added timeOut option to adbOptions to set the timeout when installing APKs on devices.

Performance improvements during project evaluation.

1.1.3(2015/03/06)

Fixed issue with duplicated dependencies on test app that triggered a Proguard failure with duplicate inclusion exception.

Fix Comparator implementation which did not comply with JDK Comparator contract, was flagged by JDK7 as an error.

1.1.2(2015/02/26)

Path is normalized when creating mockable jar for unit testing.

Fixed an issue where "archivesBaseName" setting in build.gradle was ignored.

Unresolved placeholder failure in manifest merger when building library test application.

1.1.1 (2015/02/24)

Only variants that package a Wear app will now trigger building them.

Dependency related issues now fail at build time rather than at debug time. This is to allow running diagnostic tasks (such as 'dependencies') to help resolve the conflict.

Calling android.getBootClasspath() is now possible again.

1.1.0 (2015/02/17)

Unit testing support. Unit testing code is run on the local JVM, against aspecial version of android.jar that is compatible with popular mockingframeworks (e.g. Mockito).

New tasks: test, testDebug/testRelease, testMyFlavorDebug (when using flavors).

New source folders recognized as unit tests:src/test/java, src/testDebug/java, src/testMyFlavor/java etc.

New configurations for adding test-only dependencies, e.g.testCompile 'junit:junit:4.11'testMyFlavorCompile 'some:library:1.0'

Not compatible with Jack at the moment.

New option, android.testOptions.unitTests.returnDefaultValues to control the behaviour of the "mockable" android.jar.

Task names that used to contain 'Test', e.g. 'assembleDebugTest' now use'AndroidTest', e.g. 'assembleDebugAndroidTest'. This is to distinguish themfrom the unit test tasks, e.g. 'assembleDebugUnitTest'.

ProGuard configuration files are no longer applied to the test APK. Ifminification is enabled, the test APK will be processed by ProGuard only to applythe mapping file generated when minifying the main APK.

Fixes and changes to the dependency management:

Properly handle 'provided' and 'package' scopes to do what they should be doing.

'provided' and 'package' cannot be used with Android Libraries, and will generate an error

sync tested and test dependency trees:

if the same version of an artifact is present in both, it'll get skipped in the test app.

if the version is different it'll generate a build error. Gradle provides mechanism to resolve this.

Added support for anyDpi resource qualifier in the resource merger.

Projects with large number of Android Modules will see evaluation and IDE sync speed improvements (YMMV)

1.0.1(2014/1/9)

Fix 81638 : Fix PermGen issue when running extractAnnotations.

Fix small manifest merger issues when importing libraries with targetSdkVersion < 16

Fix density ordering when running with JDK8.

Fix 82662 : Disable passing --no-optimize to dx.

1.0.0-rc4 (2014/12/04)

Handle local jars in tests of multidex-enabled library projects

Fix path normalization (for unzipped aars) when path is only 1 char long

Fix Jack/Jill memory setting through dexOptions.javaMaxHeapSize

1.0.0-rc3 (2014/12/03)

Better handling of destination paths to unarchive AARs based on groupId/artifactId/version that contain characters not valid in folder names.

1.0.0-rc2(2014/12/03)

Enhanced manifest merger logging by specifying library coordinates.

Allow manifest placeholder to be of any type as long as toString() is implemented.

Fixed issue where a library with a low targetSdk would add permissions due to a declared permission in a different manifest.

Better fix for issue where embedding a micro app could add new permissions to the main app manifest.

Added check for conflict between density splits and resConfig property.

test applications are now not using multi-dexing, unless they test a library project.

Fixed lint issues 80872, 80834, 60416, 80837

1.0.0-rc1(2014/11/24)

(OK this is the real RC1)

Fixed issue in resources shrinking

Fixed issue in publishNonDefault

Install task on 21+ devices now does a reinstall again.

Density split using aapt 21+ now use --preferred-density allowing for missing density version of some bitmaps.

hasProperty() will now work again on read-only wrapper returned by the variant API.

Setting applicationId(Suffix) in a Library project will now properly fail.

Fixed issue where embedding a micro app could add new permissions to the main app manifest.

0.14.4(2014/11/19)

This should be considered 1.0-RC (sort of, see above)

Fixed proguardFiles DSL issue.

Fixed compatibility with Studio 0.9.x

Compatible with Gradle 2.1, 2.2 and 2.2.1

0.14.3 (2014/11/18)

Variant Specific BuildConfigField/resValue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值