培训机构网站开发,网站开发肇庆培训,晋江网站建设公司,虹口网站制作Andorid Studio高版本和低版本的build.gradle配置逻辑有些差异
安卓项目中相关编译文件的介绍
gradle-wrapper.properites#xff1a;配置Gradle Wrapper gradle.properties#xff1a;配置Gradle的编译参数。具体配置见Gradle官方文档:com.android.build.gradle | Andro…Andorid Studio高版本和低版本的build.gradle配置逻辑有些差异
安卓项目中相关编译文件的介绍
gradle-wrapper.properites配置Gradle Wrapper gradle.properties配置Gradle的编译参数。具体配置见Gradle官方文档:com.android.build.gradle | Android Developers settings.gradle配置Gradle的多项目管理 local.properties一般用来存放该Android项目的私有属性配置比如Android项目的SDK路径项目build.gradle配置项目的整体属性比如指定使用的代码仓库、依赖的Gradle插件版本等等 模块build.gradle配置当前Module的编译参数 下面介绍下开发中经常用到的项目build.gradle和模块build.gradle
项目的build.gradle
新建一个Android项目它的项目build.gradle的内容如下 app的build.gradle Gradle的Android插件类型
plugins { id com.android.application } 如
参考地址AS笔记AndroidStudio中ButterKnife配置和使用_电竞丶小松哥的博客-CSDN博客
其实是从 Gradle 官方的插件仓库 https://plugins.gradle.org/m2/ 下载
引入的插件类型老版本的写法apply plugin: com.android.application
说明当前模块是一个应用程序模块Gradle的Android插件有多个类型分别为
应用程序插件**插件id为com.android.application会生成一个APK。 库插件插件id为com.android.library会生成一个AAR提供给其他应用程序模块用。 测试插件插件id为com.android.test用于测试其他的模块。 feature插件插件id为com.android.feature创建Android Instant App时需要用到的插件。 Instant App插件插件id为com.android.instantapp是Android Instant App的入口。
Android块参数
compileSdkVersion配置编译该模块的SDK版本 buildToolsVersionAndroid构建工具的版本 2.2.1. defaultConfig块 Android块中的defaultConfig块用于默认配置常用的配置如下所示。
buildTypes块
buildTypes块用于配置构建不同类型的APK。 当我们新建一个项目时在Android块已经默认配置了 buildTypes块 在AS的Terminal中执行gradlew.bat build命令会在该模块的build/outputs/apk目录中生成release和debug的APK虽然只配置了release 但release和debug是默认配置即使我们不配置也会生成。也可以修改默认的release和debug甚至可以自定义构建类型比如 这时会在build/outputs/apk目录中生成release、debug、privitedebug的APK,buildTypes块还可以配置很多属性常用的配置如下所示。 signingConfigs块
用于配置签名设置一般用来配置release模式 signingConfigs { release { storeFile file(../signfiles/keystore.jks) storePassword android keyAlias androidreleasekey keyPassword android } debug { storeFile file(../signfiles/keystore.jks) storePassword android keyAlias androidreleasekey keyPassword android } }
其他配置块
android块中除了前面讲的defaultConfig块、buildTypes块、signingConfigs块还有其他的配置块这里列举一些: dependencies块
dependencies 块用于配置该module构建过程中所依赖的所有库。Gradle插件3.4版本新增了api和implementation来代替compile配置依赖其中api和此前的 compile是一样的。dependencies和api主要以下的区别 implementation:可以让module在编译时隐藏自己使用的依赖但是在运行时这个依赖对所有模块是可见的。而api与compile一样无法隐藏自己使用的依赖。 如果使用api一个module发生变化这条依赖链上所有的module都需要重新编译而使用implemention只有直接依赖这个module需要重新编译。