Android Studio中替換aar包不生效
阿新 • • 發佈:2019-02-06
1. 前言
最近遇到一個奇怪的問題。因為第三方的SDK要更新,是一個aar包,所以我就跟以往一樣,直接複製貼上替換掉,然後Synchronize(快捷鍵:Ctrl+Alt+Y) → Clean Project → Rebuild Project。可是我發現,新包的API我調用不了,Android Studio提示沒有這個方法。然後我就重新按照上面的流程再走一遍,還是不行。嘗試了很多次,依舊不行。查了資料,說是可能是快取的問題,按照推薦的方法嘗試了一下就可以了。下面我就詳細介紹一下解決方案。
2. 解決方案
1)複製新的aar包,替換掉舊的aar包
2)在ExternalLibrary中找出對應的aar包,右鍵選擇Analyze → Code Cleanup
3)清除Android的依賴快取,刪除C盤使用者目錄下的 .android\build-cache 中的所有檔案和 .gradle\caches\modules-2\files-2.1 下對應的檔案(檔名和aar包的名字一樣)
4)最後再做幾個操作:Synchronize(快捷鍵:Ctrl+Alt+Y) → Clean Project → Rebuild Project
5)如果還是不行,可以把 1)至 4)再試一次,一般一次就可以了
6)如果上面的幾個步驟還是不行的話,可以考慮在app主模組中的build.gradle檔案中加上
有可能是第三方的SDK是在Java 7環境下編譯打包的,而我們自己的開發環境不是Java 7,這種情況就有可能造成新的aar包無法編譯成功,新的API自然無法拿到。android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } }