前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。
👉点击跳转到教程
前言:
compile,implementation和api的区别和其作用
compile和api会进行传递依赖,比如A依赖B,B依赖C,那么A会依赖C。依赖有什么用呢?那么就是A能使用C中的类。
implementation:不会进行传递依赖
如图所示:
重要:当我们使用了传递依赖compile,0级项目依赖了1级项目,1级项目依赖了2级项目,2级项目代码的改动,会导致0级项目重新编译。
如果使用implementation project(":library1")
不进行传递依赖,2级项目代码的改动,不会导致0级项目编译,这样项目打包的总时间会变快。
好处:这样会使频繁改变2级项目的时候,总的打包时间不会增加很多。
api:跟compile作用是一样的 新版的gradle插件,把compile改成api,增加了不会传递依赖的选项implementation
Android项目中总会有这样一个文件gradlew,如图所示
这个脚本的作用是设置Java虚拟机的运行参数,并启动Gradle Wrapper主类来执行Gradle项目构建任务。
如果你已经有被wrap的gradle,那么就使用已经有的,如果没有就下载下来进行使用。gradlew 就是gradlewrapper的意思,就是可以通过wrapper去使用gradle。
好处:项目变小了,只需要指定需要版本的gradle,不需要将gradle放进项目里面,如果其他人要使用该项目,只需要使用使用其他人电脑上面的gradle即可,如果没有下载下来使用。
gradle-wrapper.properties:是一个配置文件,告诉gradle应该往哪儿放,去哪儿找,去哪儿下载。 这个只是配置文件,真正的gradle-wrapper是gradlew