前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >笔记——Gradle入门(十三)

笔记——Gradle入门(十三)

作者头像
木溪bo
修改2019-08-07 17:51:29
6560
修改2019-08-07 17:51:29
举报

——》个人平时笔记,看到的同学欢迎指正错误,文中多处摘录于各大博主精华、书籍

1、在现在的Android开发工具Android Studio中有几个Gradle文件,什么是Gradle,Gradle简单的说就是新一代的自动化构建工具,它是一个独立的项目,跟 AS、Android 无关,它使用的是Groovy语言开发。

之前我们使用Eclipse开发时我们可以直接在 Eclipse 上进行编译、运行、签名、打包等一系列流程,而这背后的工作都是 ADT 的功劳,某种意义上 ADT 就是我们的构建工具。而自 Google 推出 Android Studio 以来,就宣布默认使用 Gradle 来作为构建工具,并且之后放弃更新 ADT ,从此 Gradle 走入 Android 开发者的视野,而且Gradle还具备管理能力。——参考:给 Android 初学者的 Gradle 知识普及

Groovy是一门jvm语言,它最终是要编译成class文件然后在jvm上执行,所以Java语言的特性Groovy都支持,我们完全可以混写Java和Groovy。——参考:任主席Gradle从入门到实战 - Groovy基础

微信截图_123.png
微信截图_123.png

2、安卓向前兼容:安卓系统向前兼容低版本的sdk

minSdkVersion <targetSdkVersion<= compileSdkVersion

  • app当前运行的Android版本API取决于安卓设备版本与targetSdkVersion版本比较

,如果安卓设备>=targetSdkVersion版本,则当前app运行的版本为targetSdkVersion;如果安卓设备<targetSdkVersion版本,则当前app运行版本为安卓设备系统版本。

  • compileSdkVersion: 他的环境也只是构建工具的构建环境,也就是编译环境,不代表你app应用运行时的环境,compileSDKVersion是不会被打包到APK文件中的。选择最新的API版本,在编译的时候检查代码的错误和警告,提示开发者修改和优化,V4,V7包,必须和compileSdkVersion的版本相匹配。尽量设置compileSdkVersion=targetSdkVersion,且是最新的API版本。
  • minSdkVersion:app能够运行的最小API版本。targetSdkVersion和minSdkVersion的版本是要打包到APK文件中的。
  • targetSdkVersion : targetSdkVersion 简单的说是给APP应用打包的版本,是Android 系统提供向前兼容低版本API的主要依据。因谷歌在28以后强制只能使用加密的https传输,最好是设置targetSdkVersion<=27或者采用设置网络安全忽略方法android:networkSecurityConfig="@xml/network_security_config"。
  • gradle-wrapper.properties:distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip,工程所依赖的gradle的版本信息。如果我们的工程中没有gradle,AndroidStudio会根据这个url去下载对应版本的gradle

3、implementation、api、compile区别:

  • api和compile关键字作用效果是一样的,使用时可以互相替换。实际上,api关键字是用来替代compile关键字的,因为compile关键字将来会被弃用。在高版本的gradle,使用compile关键字会报错并提示使用api关键字代替。
  • api或compile在moudle模式开发中,添加的依赖库对外是可见的。例如当使用api(compile)方法添加依赖A时,当A有对外接口改动时,所有(直接或间接)引用依赖了模块A的gradle都会重新编译,这就明显增加了编译时间,而使用了 implementation就很好的解决了这个问题。
  • implementation添加的依赖库是私有的,对外是不可见的,所有间接依赖于模块A的module都不能访问模块A中implementation所添加的依赖库。

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=32eky3gtsgsgk

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.12.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档