寫在前面的小結:
1、一般拉取的項目導入之後,都會出現很多問題,最首要且常見的問題是 gradle版本、build-tools版本、SDK版本
的問題
所以,在導入項目之後,首先要做的就是修改這些版本:修改項目版本和本地版本一致,或者下載項目中的版本
2、遇到問題可以去看看官方說明,不要一味的百度、看文章,React Native 中文網還是可以的,會指明一些需要注意的坑
下面是正文,但是不是所有內容都是必看的,4.1和4.2可以跳過
文章目錄
1、拉取項目
從gitlab中拉取項目
git clone http://xxx // clone後面是你的GitLab中項目鏈接
2、安裝依賴項
熟悉的人肯定知道,這一項必不可少。但是我就是因爲漏了這一項,直接進行了第3步,導致項目build時候報錯:/node_modules/react-native-unimodules/gradle.groovy is not exist
npm install
3、打開項目
打開Android studio,將react-native項目導入,注意選擇到項目下的android目錄
4、重場戲:版本處理
使用Android studio打開項目之後,會自動進行build,build成功之後就可以運行項目了。但是在build時,出現了一些問題:No value has been specified for this provider.
到這裏,看上去感覺很明顯不是gradle版本、SDK版本、build-tools版本的問題,但是實際上真的是
網上百度了很多,看到了好幾個解決方案,嘗試之後找到一個可行的(其實,我當時並不知道官方有說明,後來纔看到,浪費了很多時間和精力)
下面把我的整個探索寫出來,並給出標註,請自選查看
4.1 【失敗】嘗試一:clean project
但是build失敗了
我的Android SDK版本是30,導入項目的是28,但是這是向下兼容的,應該沒有問題
【來自問題解決之後的補充說明】
注意這句話,很重要,就是這個讓我忽略了版本問題。因爲項目是在我安裝Android studio前一週創建的,因此我的版本最新,如果向下兼容,也是沒有問題的,而且覺得就是一週之差,應該不會有什麼差別
4.2 【無效】嘗試二:修改gradle版本
AS在導入項目過程中會檢查項目中所需的
gradle版本 sdk版本
等本地是否有,沒有的話就會從官網下載,衆所周知要想從谷歌官網下載東西是十分困難的,所以需要修改成本地有的(當然,需要你先下載到本地)
1、修改:項目名\android\build.gradle
buildToolsVersion = "30" // 修改爲本地SDK的版本
2、修改:項目名\android\gradle\wrapper\gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip // gradle-x-x-x-all.zip版本修改爲本地有的
3、重啓Android studio
會自動去下載剛纔修改之後的版本,第一次下載失敗:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle.
,可能是網絡問題
重新下載,網絡可以了
報錯:Minimum supported Gradle version is 5.4.1. Current version is 5.2.1.Please fix the project's Gradle settings.
支持的最低梯度版本是5.4.1。當前版本是5.2.1。請修復項目的漸變設置
點擊Fix修復,網絡問題,下載不來,還是恢復使用5.6.3版本
4、恢復gradle-wrapper.properties中的修改,保留build.gradle中的修改
到此,修改內容僅保留了修改1:項目名\android\build.gradle
buildscript {
ext {
// buildToolsVersion = "28.0.3"
buildToolsVersion = "30" // 修改爲本地SDK的版本
minSdkVersion = 21
// compileSdkVersion = 28
// targetSdkVersion = 28
compileSdkVersion = 30
targetSdkVersion = 30
}
}
4.3 【成功】嘗試三:安裝 Android SDK Build Tools 28.0.3
1、接上一步,重啓Android studio,遇到報錯:點擊install
2、重新build:安裝完成自動build
幾經波折,終於見到了一直想看到的結果:build success
3、啓動App
等了很久,過程有點焦灼,生怕有報錯,看到結果終於放心了
到此,導入外來項目的問題已經解決
5、回顧:定位問題
在 React Navtive中文網 看到以下內容
回顧整個處理問題的過程,最終正確觸及的地方也正是上面說的部分:Build-Tools 28.0.3 版本
一直一來,用的都是安裝Android studio時安裝的 Build-Tools 30 版本,直到後來下載了 28.0.3 版本,build 過程才執行成功