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

The Android Gradle plugin has been in rapid development, and as features evolved the APIs and the build file description language went through several incompatible changes. If you are trying to load a project that was built with an older version of the Gradle plugin, it may not build correctly with 1.0.0.
This document describes the most common changes to help you migrate to 1.0.0. From version 1.0.0 and going forward, we will strive much harder to not make incompatible changes, and if we do, we plan to write IDE support to help migrate the projects automatically.

Update Plugin and Gradle Version Numbers

The build system knows which specific version of the Gradle plugin to use, and the version of Gradle to use, because they are listed explicitly in your project files. When you use Android Studio 1.0 and you open an older project, it will offer to automatically find and update these version numbers. You can also make these edits manually.
The Android Gradle plugin version is typically listed in the top level build.gradlefile in the project, and can be updated as follows:
dependencies { - classpath 'com.android.tools.build:gradle:0.8.+' + classpath 'com.android.tools.build:gradle:1.0.0' }
The version of Gradle to use for your project should also be updated to 2.2.1 or later. You can do that by editing the file gradle/wrapper/gradle-wrapper.properties: zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-all.zip +distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip
Again, Android Studio should offer to perform this edit automatically when you open up an older project:

Migrating from 0.9.xto 1.0.0

runProguard

The most common issue that affects users is the runProguardproperty changing names to minifyEnabled. If you run into the build error Gradle DSL method not found: 'runProguard()' then this is the cause of your build error.
This crops up a lot because that property was inserted into all projects created by Android Studio prior to version 0.14.0.
To update your project, edit your build.gradle file as follows: } release { - runProguardtrue + minifyEnabledtrue proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'

There are some additional other properties that were renamed as well, in both build types and product flavors.

ApplicationId in Library Projects

You cannot use applicationId to customize the package of alibraryproject. The package name has to be fixed in library projects (and specified as packageName in the manifest). The Gradle plugin did not enforce this restriction earlier.

Renamed Properties in BuildTypes

runProguard => minifyEnabled zipAlign => zipAlignEnabled jniDebugBuild => jniDebuggable renderscriptDebug => renderscriptDebuggable

Renamed Properties in ProductFlavors

flavorGroups => flavorDimensions packageName => applicationId testPackageName => testApplicationId renderscriptSupportMode => renderscriptSupportModeEnabled ProductFlavor.renderscriptNdkMode => renderscriptNdkModeEnabled

Other Name changes

InstrumentTestwas renamed to androidTest.

Migrating From 0.8.x to 0.9.x


Version 0.9 of the Gradle plugin for Android made a few incompatible changes that require changes to your project. This page documents how to update your project. Note that this is not a complete list of changes in the 0.9 version of the plugin; it simply covers the changes that require updates to your source files. For a full list of changes, see the user guide .
Instrumentation Tests If you have instrumentation tests (or other types of tests) in your project, note that we changed the name and folder from instrumentation tests to android tests to reflect the fact that this facility is not just for instrumentation tests but for plain JUnit tests (running on a device) and eventually also UI automator tests.
To update your project
  • Rename yourinstrumentTestfolders toandroidTest, e.g.git mv app/src/instrumentTest app/src/androidTest.
    Alternatively you can tell gradle to keep using the old folder byrelocating your sourcesets.
  • Update any test dependencies frominstrumentTestCompile toandroidTestCompile:
    dependencies {
    - instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.3.1'
    + androidTestCompile 'com.jayway.android.robotium:robotium-solo:4.3.1'
    }

Libraries

The DSL for the library projects is now the same as for the application projects. This means you can create more build types, and create flavors.
  • You can create/configure more build types, in thebuildTypes { ... }container.
  • You can create product flavors using theproductFlavors { ... }container.
  • You can create signingConfigs using thesigningConfigs { ... }container.
For example if you have in your library:
android { debug { } release { }
debugSigningConfig { }
}

You would replace it with:
android { buildTypes { debug { } release { } }
signingConfigs {
debug { }
}

}


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

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. linux下安装 tomcat 和配置防火墙开放808
  2. CENTOS 修改MYSQL文件到内存盘
  3. linux查看磁盘使用情况命令
  4. Linux安装开发环境,必须配置的环节(Fedora1
  5. Linux操作以及c编程规范 、附带个问题
  6. Linux 的文件类型
  7. 第2章 计算机工作原理
  8. Linux中断(interrupt)子系统之三:中断流控处
  9. 我应该在哪里添加Yocto位烤任务来创建工
  10. linux常用的有关网络操作的命令: