React Native Android 啓動異常

問題發現時間:2018年12月11日上午. 當準備運行React Native項目的android版本時, 報出一個錯誤. Could not find any matches for com.android.tools.build:gradle:2.2.+ as no versions of com.android.tools.build:gradle are available.

完整錯誤信息以下:node

Could not find any matches for com.android.tools.build:gradle:2.2.+
as no versions of com.android.tools.build:gradle are available.
Searched in the following locations:
https://jcenter.bintray.com/com/android/tools/build/gradle/maven-metadata.xml
https://jcenter.bintray.com/com/android/tools/build/gradle/
Required by: project: react-native-image-picker
複製代碼

此時須要儘快更新線上版本, 因而就開始尋找問題所在. 由於開發人員比較多, 因此最開始的時候懷疑是由於某個開發人員不當心升級了某個東西不兼容致使的. 因而開始檢查 git 代碼日誌. 看了一下果真是有人提交了東西, 可是貌似和項目沒有太大關係. react

因而只能換一個方向繼續尋找答案. android

忽然一想, 這個問題既然出如今 react-native-image-picker 包中, 應該在 github 上就有相關的問題說明吧, 試試看咯. git

果真, 問題是存在的. 看起來和個人問題是同樣的. issue 裏面不乏熱心的朝陽羣衆, 果真已經發現並解決了問題. 解決方案是進入到 node_modules 中, 找到 react-native-image-picker 包, 並把包中的 android 目錄下的 build.gradle 文件中的

classpath 'com.android.tools.build:gradle:2.2.+'
複製代碼

改爲github

classpath 'com.android.tools.build:gradle:2.2.3'
複製代碼

而後試了一下, 發現, 對, 是能夠, 可是, 我特麼要跟其餘人解釋我爲何要改這個裏面的玩意, 並且特麼的萬一有人不聽, 或者看不到, 到時候還要找我怎麼辦. 並且, 每次更新代碼, 刪除了 node_modules 或者來了新人我是否是還要再說一遍? 不行, 這麼蠢的事情絕對不能作. react-native

我必需要找一個萬全之策.
果真, 功夫不負有心人, 終於讓我找到了問題更好的解決方案. 根據目前的推測, 這個問題是來自於 jcenter, 可能少了某些東西, 或者就是偉大的城牆又厚了一點, 致使如今下載不穩定. 我感受說不定過幾天就行了, 可是目前問題出如今這裏, 仍是須要及時解決.

目前最新的解決方案以下, 在項目的 android 目錄下的 build.gradle 中, 文末添加以下代碼bash

subprojects { project ->
    def name = project.name
    if (name.contains('react-native-image-picker')) {
        buildscript {
            repositories {
                maven { url "https://dl.bintray.com/android/android-tools/"  }
            }
        }
    }
}
複製代碼

這個解決方案解決了團隊開發中, 其餘人須要修改文件的弊端, 目前也能完美的解決這個問題. 固然了, 目前我遇到的問題出如今 react-native-image-picker 包中, 其餘人的項目可能就在別的包中, 相相似的修改判斷或者添加更多的判斷均可以. maven

爲了寫這篇文章, 我錯過了雙 12 的 22:00 搶購, 1 元秒殺辣醬的機會.....心痛啊. gradle

爲了安慰我, 點個贊再走唄. ui

我的博客地址: React Native Android 啓動異常

相關文章
相關標籤/搜索