react+react-native混合App开发--从拉取项目到报错处理:No value has been specified for this provider

写在前面的小结:

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 过程才执行成功

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值