Gradle知识
Gradle是Android Studio标配的构建系统。
Android Gradle插件中文指南
任务入门
- 想要知道在一个项目中有哪些任务可被使用,在Terminal面板中输入以下指令,就可以打印出所有的可用任务;(或者是双击执行Gradle面板中的app --> Tasks --> help --> tasks这一项)
./gradlew tasks
- 运行check任务会生成一份Lint报告,Lint报告会包含所有的警告和错误,以及一份详细的说明和一个相关文档的链接。该报告位于/app/build/reports/目录下,名称为lint-results.html。
- 当进行生产版本的打包时,Lint将会检查那些导致应用崩溃的致命问题。一旦发现有问题,Lint就会终止构建,并在命令行界面打印错误信息。Lint也会在app/build/reports/目录下生成一份lint-results-release-fatal.html文件。
常用技巧
减少APK大小
- ProGuard
ProGuard是一个Java工具,其不仅可以缩减APK文件大小,还可以在编译期优化、混淆和预校验你的代码。其通过你应用的所有代码路径,来找到未被使用的代码,并将其删除。ProGuard还会重命名你的类和字段。
android{
buildTypes{
release{
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
当minifyEnabled被设置为true以后,在构建过程中,proguardRelease task会被执行,并调用ProGuard。
在
- 缩减资源
当给App打包时,Gradle和Gradle的Android插件可以在构建期间删除所有未使用的资源。如果你有旧的资源忘记删除了,那么这个功能非常有用。
当导入一个拥有很多资源的依赖库,但是你只使用了其中的一小部分时,可以通过激活缩减资源来解决这个问题。
缩减资源的方式有两种:自动、手动;
自动缩减
就是设置 shrinkResources属性。如果设置改属性为true,则Android构建工具将自动判定哪些资源没有被使用,并将它们排除在APK外;使用该功能,必须同时启动ProGuard。因为缩减资源的工作方式是:直到代码引用这些资源被删除之前,Android构建工具不能指出哪些资源没有被用到。
//可以在Terminal中输入以下指令查看安装包缩小了多少;
./gradlew shrinkReleaseResources
手动缩减
加速构建
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
------------------last line for now-------------------