迁移 Gradle 项目到1.0.0 版本
Android 的 Gradle 插件有了迅猛的发展,作为进化的特征,API 和构建文件的描述语言也经过了一些不兼容的更改。如果你正在试图加载用旧版本的 Gradle 插件构建的项目,它可能无法通过 1.0.0 版本正确构建。
本文档描述了大部分常见的变动,以帮助您迁移到 1.0.0。从1.0.0 及以后的版本起,我们将尽力不进行不兼容的更改。如果我们做到了,我们将打算编写 IDE 支持,以帮助自动迁移项目。
更新插件和 Gradle 版本号
构建系统知道要使...
分类:
移动开发 时间:
2015-01-16 10:09:17
阅读次数:
221
本文档主要介绍新的清单合并工具。
这个新的合并工具是gradle android 插件的 0.10 版中引入的。截至 0.11 版本,该 gradle 插件默认情况下都是使用此合并工具。
如果想恢复使用旧的清单合并工具,可以在你的 build.gradle 中添加以下配置:
android {
useOldManifestMerger true
}
Manifest 文件排序
一般情况下,有三种类型的清单文件需要合并成一个最终的应用程序清单,这里按照优先级顺序列出:
Product flavo...
分类:
移动开发 时间:
2015-01-13 10:40:20
阅读次数:
311
本章讲的是使用Gradle进行Android构建的一些高级构建定制的知识。比如配置java编译选项,aapt编译选项,操作任务等等。
高级构建定制
构建选项
Java 编译选项
android {
compileOptions {
sourceCompatibility = "1.6"
targetCompatibility = "1.6"
}
}
默认值为“1.6”。这个配置会影响所有编译 Java 源代码的任务。
aapt 选项
android...
分类:
移动开发 时间:
2015-01-05 09:30:51
阅读次数:
263
测试
构建一个测试应用程序已经集成到应用程序项目中了。所以已经没有必要再去创建一个单独的测试项目。
基础知识和配置
正如前面所提及,在main sourceSet旁边的是androidTest sourceSet,默认情况下,它位于src /androidTest/
从这里的 sourceSet 构建出来的是一个测试的apk,它可以部署到设备上,使用 Android 的测试框架去测试应用程序。它可以包含单元测试、 instrumentation 测试和后来的 uiautomator 测试。这个
Sour...
分类:
移动开发 时间:
2015-01-04 09:58:26
阅读次数:
289
本文译自Android官方技术文档《Gradle Plugin User Guide》,原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide。
测试
构建一个测试应用程序已经集成到应用程序项目中了。所以已经没有必要再去创建一个单独的测试项目。
基础知识和配置
正如前面所提及,在main sourceSet旁边的是androidTest sourceSet,默认情况下,它位于src /androidTest/
从这里的 so...
分类:
移动开发 时间:
2014-12-19 09:17:20
阅读次数:
216
依赖、 Android Library和多项目设置
Gradle 项目可以对其他组件具有依赖关系。这些组件可以是外部的二进制包,或其他的 Gradle 项目。
二进制包的依赖
本地包
要配置一个外部库 jar 包的依赖,您需要在compile配置中添加一个依赖关系。
dependencies {
compile files('libs/foo.jar')
}
android {
...
}
注意:dependencies DSL 元素是标准的 Gradle API 的一部分,不属...
分类:
移动开发 时间:
2014-12-16 10:07:52
阅读次数:
378
简介
本文档是 Gradle 插件 0.9 版本的文档。在 1.0 之前,我们所介绍的早期版本可能由于不兼容问题会有所不同。
新构建系统的目标
新的构建系统的目标是:
可以很容易地重用代码和资源
可以很容易地创建应用程序的几个变种,无论是多APK分发还是不同定制版的应用程序
可以很容易地配置、 扩展和自定义构建过程
好的 IDE 集成
为什么是 Gradle ?
Gradle 是一个先进的构建系统和构建工具,它允许通过插件创建自定义的构建逻辑...
分类:
移动开发 时间:
2014-12-15 17:23:33
阅读次数:
626
Gradle上的Android构建流程,一张大图。...
分类:
移动开发 时间:
2014-12-05 09:16:42
阅读次数:
213
ApplicationId 与 PackageName
所有的 Android 应用程序都有一个包名。包名是设备上的这个应用程序的唯一标识,也是在谷歌Play商店上的唯一标识。这意味着,一旦你已发布的程序使用了这个包名, 你就永远都无法改变它;否则会导致你的应用程序被当作是一个全新的应用程序,你之前的应用程序的用户将不会看到作为更新的安装包。
在此前Android Gradle 构建系统中,您的应用程序的包名由你的manifest文件的根元素里的package属性决定:...
分类:
移动开发 时间:
2014-12-04 10:19:57
阅读次数:
177
简介
拆分机制比起使用 flavors,能让应用程序更有效地构建一些形式的多个apk。
多 apk 只支持以下类型
屏幕密度
ABI
使用新的拆分机制,构建同一个应用程序的hdpi版本和mdpi版本,能够共享很多的任务 (如 javac,dx,proguard)。此外,它会被认为是一个单一的variant,并且同一个测试程序将会被用来测试每??个多APK。
当在variant 上运行install或connectedCheck 任务时,Gradle 会自动匹配把正确的 APK 输出到每一个连接的设备中。...
分类:
移动开发 时间:
2014-12-03 09:21:35
阅读次数:
214