Android 的 6 種依賴

轉(zhuǎn)載:http://blog.csdn.net/sanjay_f/article/details/50164425

Android Studio 版本更新至 3.0,更新中,連帶著com.android.tools.build:gradle 工具也升級到了3.0.0,在3.0.0中使用了最新的 Gralde 4.0 里程碑版本作為 gradle 的編譯版本,該版本 gradle 編譯速度有所加速,更加欣喜的是,完全支持 Java8。當(dāng)然,對于Kotlin的支持,在這個版本也有所體現(xiàn),Kotlin 插件默認是安裝的。
所以在 Gradle 3.0 以后 依賴的寫法也發(fā)生了改變:compile 指令被標(biāo)注為過時方法,而新增了兩個依賴指令,一個是 implementapi,這兩個都可以進行依賴添加。

  • api

完全等同于compile指令,沒區(qū)別,你將所有的compile改成api,完全沒有錯。

  • implement

這個指令的特點就是,對于使用了該命令編譯的依賴,對該項目有依賴的項目將無法訪問到使用該命令編譯的依賴中的任何程序,也就是將該依賴隱藏在內(nèi)部,而不對外部公開。

----- 以上部分為更新內(nèi)容 -----

  • Compile

這個最常見,再github看到的那些都是這樣的形式
compile是對所有的build type以及favlors都會參與編譯并且打包到最終的apk文件中。

  • Provided

Provided是對所有的build type以及favlors只在編譯時使用,類似eclipse中的external-libs,只參與編譯,不打包到最終apk。(使用 provided 的依賴不能被依賴傳遞)

  • APK

只會打包到apk文件中,而不參與編譯,所以不能再代碼中直接調(diào)用jar中的類或方法,否則在編譯時會報錯

  • Test compile

Test compile 僅僅是針對單元測試代碼的編譯編譯以及最終打包測試apk時有效,而對正常的debug或者release apk包不起作用。

  • Debug compile

Debug compile 僅僅針對debug模式的編譯和最終的debug apk打包。

  • Release compile

Release compile 僅僅針對Release 模式的編譯和最終的Release apk打包。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容