android 依賴只編譯不打包到apk中

2021-08-26 17:38:23 字數 1364 閱讀 6134

總結

具體每個什麼意思,大家谷歌一下就知道了,這裡不在陳述

implementation和api是取代之前的compile的,其中api和compile是一樣的效果,implementation有所不同,通過implementation依賴的庫只能自己庫本身訪問,舉個例子,a依賴b,b依賴c,如果b依賴c是使用的implementation依賴,那麼在a中是訪問不到c中的方法的,如果需要訪問,請使用api或compile依賴

在實際開發中有些依賴在debug的時候需要參與編譯並使用,而打包的時候不想打包到apk中

可以看到facebook的包名,然後庫的大小為200多k,實際開發中打包的時候基本是不需要的,所以能少200k就少點吧

在gradle裡面同時使用releasecompileonly和debugcompile即可

在**中需要進行debug模式判斷,只有debug模式才會初始化stetho或者只有在debug模式才會使用stetho

if (buildconfig.debug)
在okhttp裡面新增***

通過打包前後對比發現能減少很多k,呵呵能小點就小點,畢竟這只是乙個測試庫,以後還有更多的測試庫都可以用這個方法

如果單純的用debugcompile一種依賴方式不能解決這個問題,因為在debug模式需要用到庫,那**中就會出現相應的導包和初始化**,**可以用debug標誌位進行判斷,但是導包語句就沒辦法通過編譯了,所以在結合releasecompileonly就可以解決打包apk的時候報錯問題了,只要編譯器的時候沒有錯誤就沒問題了,因為stetho的初始化在release版本不會執行,整體就是這樣,思路很簡單就是根據不同的依賴型別和不同的編譯模式來進行選擇性的新增依賴.

當然這幾種依賴也是有優先順序的,目前來看同乙個依賴如果用compile,releasecompileonly,debugcompile同時修飾乙個依賴的話,最後以compile為主,大概就是這樣,更深的沒有研究,有什麼問題希望打家一起**.

Android讀取打包到assets目錄下的檔案

例如訪問本地的乙個index.html檔案 目前nodejs在android平台上使用第三方模組遇到這樣的問題。第三方模組也是和nodejs一起打包的,nodejs需要讀取第三方模組。目前先採用2 中提到的方案,即先解壓到sdcard中再讀取。1 android資源管理框架 asset manage...

android專案打包發布到jitpack

用了這麼久的android studio 很多時候都是引入別人的引用,今天自己要把自己的資源庫發布了,弄了半天才成功,記錄下方便自己以後查閱!新建專案,新建module 在專案的build.gradle 中加入jitpack外掛程式 buildscript 在module的build.gradle中...

編譯boost到Android平台

在 tools build src新建檔案 user config.jam 檔案內容如下 import os androidndkroot d android dev android ndk r10c using gcc android androidndkroot toolchains arm l...