写在前面的小结:
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 过程才执行成功