国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

深踩Android Studio 緩存的坑及解決方法

2019-12-12 01:06:42
字體:
供稿:網(wǎng)友

本文記錄的是今天在群里提到的昨天所踩的一個坑,有關 AndroidStudio 緩存的。

先說一下背景。

我負責的一個項目,對一個圖表庫有外部依賴。這個圖表庫是我在維護的,由于新功能在開發(fā)中,所以我就使用了 SNAPSHOT 版本發(fā)布到 OJO(oss.jfrog.org) 上。我在項目中剛更新了依賴,忽然想到還少幾個 API,于是發(fā)布了 SNAPSHOT 版本。

故事就這樣開始了。

這時候回到 AndroidStudio 再去 Sync Project with Gradle Files 肯定是拉不下來的。眾所周知,Gradle 的緩存策略中,對于 SNAPSHOT 版本默認的緩存周期是 24 小時,也就是從我上次更新之后,24小時內(nèi)都會使用上次的緩存。

不周知的也沒關系,我在這里補充說明一下,在 Gradle 用戶指南的依賴管理一章中,有提到 Gradle 對于動態(tài)版本和變化模塊的緩存時間默認是 24 小時。

何為動態(tài)版本?你見過的像 3.+ 這種就是動態(tài)版本,它會取檢查到的最高的版本號。又比如 latest.integration ,它也是動態(tài)版本。

而變化模塊,就是像 0.2-SNAPSHOT 這種后面帶 SNAPSHOT 的版本了。

這兩者的區(qū)別就是,前者盡管你代碼中的版本號寫法不變,但實際上它仍然是去取倉庫的最新版本。而后者它在倉庫中的版本號還是一樣,仍然是 xxx-SNAPSHOT ,但實際上這個版本所對應的內(nèi)容已經(jīng)變了。

這里再多說幾句,緩存周期也是可以修改的,在 Gradle 用戶指南中同樣有詳細說明,就是添加如下配置:

configurations.all {  resolutionStrategy.cacheDynamicVersionsFor 10, 'minutes' // 動態(tài)版本  resolutionStrategy.cacheChangingModulesFor 10, 'minutes' // 變化模塊}

只是這里我一開始就貪省事,在更新依賴懶得去改。

既然如此,那怎么辦?把 ~/.gradle/caches 整個給干掉?

不不不,那樣太小題大做。其實這個問題我早已遭遇過,并且對于“漢化”過一遍 Gradle 用戶指南的我來說太簡單了。命令行下執(zhí)行:

./gradlew aTD --refresh-dependencies

這里

主站蜘蛛池模板: 石嘴山市| 灵宝市| 靖宇县| 滁州市| 海南省| 右玉县| 康定县| 邢台市| 梧州市| 永宁县| 瓦房店市| 西宁市| 曲沃县| 资兴市| 三门县| 青阳县| 鄂托克前旗| 阳朔县| 柳河县| 昌吉市| 文昌市| 临洮县| 昌邑市| 财经| 绍兴县| 乌什县| 吉林省| 天台县| 睢宁县| 衡山县| 余姚市| 丹棱县| 营山县| 定安县| 四平市| 姚安县| 兴和县| 东兰县| 鄂温| 黑山县| 精河县|