武漢網(wǎng)站建設(shè) 網(wǎng)站制作市場營銷的策劃方案
目錄
錯誤信息解析
解決方案
1. 檢查依賴版本
2. 檢查 Maven 倉庫配置
3. 強制刷新 Gradle 緩存
4. 檢查網(wǎng)絡(luò)連接
5. 手動下載依賴
總結(jié)
相關(guān)推薦
? ? ? ? 最近,我在編譯一個 Android 老項目時遇到了一個問題,錯誤信息顯示無法找到 com.gyf.immersionbar:immersionbar:3.0.0
這個依賴。經(jīng)過一些排查和調(diào)試,我找到了幾種解決方法,今天就來分享一下如何解決這個問題。
錯誤信息解析
FAILURE: Build completed with 14 failures.1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:checkCommonDebugAarMetadata'.
> Could not resolve all files for configuration ':app:commonDebugRuntimeClasspath'.> Could not find com.gyf.immersionbar:immersionbar:3.0.0.Searched in the following locations:- https://dl.google.com/dl/android/maven2/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom- https://jcenter.bintray.com/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom- https://repo.maven.apache.org/maven2/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom- https://jitpack.io/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pomRequired by:project :app> Could not find com.tencent:mmkv:1.0.19.Searched in the following locations:- https://dl.google.com/dl/android/maven2/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom- https://jcenter.bintray.com/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom- https://repo.maven.apache.org/maven2/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom- https://jitpack.io/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pomRequired by:project :app > com.gitee.zhang-yanqiang:easypermission:v2.0.12* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================
????????從錯誤信息中可以看出,Gradle 無法在常見的 Maven 倉庫中找到指定版本的 immersionbar
依賴庫。具體的錯誤是它無法解析 com.gyf.immersionbar:immersionbar:3.0.0
,說明該依賴在指定的倉庫中不存在,或者配置出現(xiàn)了問題。
解決方案
1. 檢查依賴版本
????????首先,我們需要確保 immersionbar
庫的版本號是正確的。在很多時候,問題可能是因為指定的版本號不存在,或者該版本的庫被移除了。檢查一下 build.gradle
文件中的依賴部分,確保版本號正確。
????????例如,可以嘗試使用稍新的版本,或者回退到較為穩(wěn)定的版本:
dependencies { implementation 'com.gyf.immersionbar:immersionbar:3.0.1'
}
????????如果 3.0.0
版本存在問題,嘗試更新為 3.0.1
或其他穩(wěn)定版本,其他SDK可能能解決這個問題(該庫換了引用地址,單純的改版本無效)。
2. 檢查 Maven 倉庫配置
????????另一個可能導致問題的原因是倉庫配置不正確。確保你的項目的 build.gradle
文件(通常是項目級 build.gradle
)中配置了正確的倉庫地址。默認情況下,Android Studio 會使用 Google 的 Maven 倉庫和 Maven Central,但如果沒有正確配置,可能導致無法下載依賴。
????????確保 repositories
塊包括以下內(nèi)容:
allprojects {repositories {google()mavenCentral()maven { url 'https://jitpack.io' } // Jitpack 是常見的 Android 庫托管平臺}
}
? ? ? ? 高級AGP在項目級 settings.gradle。
pluginManagement {repositories {google()mavenCentral()gradlePluginPortal()}}
dependencyResolutionManagement {repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories {google()mavenCentral()maven { url 'https://jitpack.io' }}
}
????????添加 maven { url 'https://jitpack.io' }
可以解決一些第三方庫的下載問題,特別是當它們托管在 Jitpack 上時。
3. 強制刷新 Gradle 緩存
????????有時候 Gradle 會緩存舊的依賴信息,導致無法找到最新版本的庫。為了避免緩存問題,可以通過以下命令強制 Gradle 刷新緩存并重新構(gòu)建項目。
????????Android Studio -->Build-->Clean Project。
????????Android Studio -->Build-->Rebuild Project。
? ? ? ? 清除緩存,重新編譯,分別嘗試一下。
????????此外,你也可以在 Android Studio 中選擇 File -> Invalidate Caches / Restart,然后選擇 Invalidate and Restart,這樣會清除緩存并重新啟動 IDE。
4. 檢查網(wǎng)絡(luò)連接
????????如果你所在的網(wǎng)絡(luò)環(huán)境對 Maven 倉庫的訪問有所限制,可能會導致依賴下載失敗。例如,如果你在國內(nèi),訪問外部 Maven 倉庫(如 Maven Central 或 Jitpack)可能會受到一些限制。
????????在這種情況下,可以嘗試使用國內(nèi)的 Maven 鏡像,或者配置 HTTP 代理來確保可以順利訪問依賴庫。
5. 手動下載依賴
????????如果以上方法都不起作用,作為最后的手段,你可以手動下載 immersionbar
的 JAR 文件,然后將其放入項目的 libs
目錄中。
????????首先,從其他源下載 immersionbar
的 JAR 文件,然后將 JAR 文件放入 libs
目錄下,最后在 build.gradle
文件中引用:
dependencies { implementation files('libs/immersionbar-3.0.0.jar')
}
總結(jié)
? ? ? ? 作者是因為 immersionbar 換了路徑,因此更換i mmersionbar 路徑,重新引用 mmkv 解決當前問題:
dependencies { implementation 'com.geyifeng.immersionbar:immersionbar:3.2.2'implementation 'com.tencent:mmkv:1.3.9'
}
????????當你在 Android Studio 中遇到類似的構(gòu)建問題時,通常是由于依賴版本、倉庫配置或者網(wǎng)絡(luò)連接問題導致的。通過逐步排查版本號、倉庫配置、Gradle 緩存等問題,大多數(shù)依賴問題都可以得到解決。如果以上步驟仍無法解決問題,可以嘗試手動下載依賴并添加到項目中。
相關(guān)推薦
Android Studio中的 Image Asset Studio(圖標生成工具)-CSDN博客文章瀏覽閱讀1.7w次,點贊20次,收藏44次。Android Studio 包含一個名為 Image Asset Studio 的工具,它可以幫我們把自定義圖像、系統(tǒng)圖標素材、文本字符串自動生成適配系統(tǒng)的應用圖標。_android studio image assethttps://shuaici.blog.csdn.net/article/details/119670733高效開發(fā)-Android Studio自動補全-CSDN博客文章瀏覽閱讀3.4k次,點贊5次,收藏13次。判斷是否為空:變量.null+Enter。注意:只要 if (expr == null) 出現(xiàn)就可以 enter(回車) 了。其他相同。判斷是否非空:變量.notnull+Enter。變量.nn+Enter(簡單版)。本身for循環(huán)。變量for循環(huán)。變量倒序for循環(huán)。_android 自動補齊類型強制轉(zhuǎn)化
https://shuaici.blog.csdn.net/article/details/121095525