admin管理员组

文章数量:1636810

Android Studio 3.0为了加快构建速度,使用了新的编译指令,原来的很多指令被弃用了。

Android Studio 2.xAndroid Studio 3.x
apkruntimeOnly
providedcompileOnly
compileapi
无对应值implementation
debugCompiledebugImplementation
releaseCompilereleaseImplementation
androidTestCompileandroidTestImplementation

一、 implementation与api的区别

这两者主要区别在于对module的可见性,而且可以加快编译速度

api:
A api B,B api C 

A不仅可以引用B module的接口和类,而且还能直接引用C module的接口和类。

implementation:
A implementation B,B implementation C

这时A只可以引用B中的接口和类,不可以引用C中的接口和类。C 对 A 是不可见的!

二、compileOnly 和 api 区别

compileOnly 只提供编译支持,但是不会写入apk;
api不仅提供编译支持,而且会打入apk包体。

根据实际情况合理运用compileOnly和api指令,可以避免v7、v4等包的版本冲突和重复打包导致apk文件体积增大。

本文标签: 命令区别GradleimplementAPI