在開發中,我們經常使用compile,api,implementation引入庫,這三種是有區別的。
1 api和compile
api和compile關鍵字作用效果是一樣的,使用時可以互相替換。
實際上,api關鍵字是用來替代compile關鍵字的,因為compile關鍵字將來會被棄用。在高版本的gradle,使用compile關鍵字會報錯並提示使用api關鍵字代替。
2 implementation
在同一個module下,implementation和api(compile)的使用效果相同,但是在不同module下,就會有所區別了。
例如項目
moduleA的
gradle文件中引用兩個包
implementation 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
然后在appmodule中引用moduleA
compile project(':moduleA')
這時,在appmodule中可以訪問以compile方式引入的design包,而不可以訪問appcompat包里的類。