Execution failed for task ‘:react-native-device-info:processReleaseResources‘.

博客讲述了在重启一个N年前的React Native项目时遇到的打包错误,问题根源在于react-native-device-info依赖的play-services-gcm与项目build.gradle版本不兼容。解决方案是更新react-native-device-info的build.gradle中play-services-gcm的版本到15.0.1,并介绍了如何引入和更新第三方库的方法。

前言:

  N年前的老项目重启,在打包的时候报错。

报错信息:

  打包命令:gradlew assembleRelease
在这里插入图片描述

分析:

  是因为RN-com.google.android.gms:play-services-gcm依赖包冲突或者不兼容的BUG。package.jsonreact-native-device-info的版本号是固定的,在yarn的过程中,react-native-device-info还是原先的版本,不存在更新的情况,可能是谷歌中的react-native-device-info依赖更新了,查看react-native-device-info依赖版本,所以更新后的谷歌依赖和项目中的build.gradle版本不兼容。
  package.json中插件的版本如下:

"react": "16.0.0-alpha.6",
"react-native": "0.44.0",
"react-native-device-info": "^0.10.2",

  react-native-device-infobuild.gradle文件:

dependencies {
    compile 'com.facebook.react:react-native:+'
    compile 'com.google.android.gms:play-services-gcm:+'
}

  项目中的build.gradle文件:
在这里插入图片描述
在这里插入图片描述

解决方法:

方法1:修改react-native-device-infobuild.gradle中插件的版本:

compile 'com.google.android.gms:play-services-gcm:15.0.1'

其他: 引入第三方库:

  命令:npm install [第三方库] --save,如:npm install react-native-device-info --save
  命令执行完成之后,在文件package.json中会有引入的项目。在node_modules文件夹中会有引用的组件的文件夹,如例子中的 react-native-device-info文件夹。
  我在运行这个命令的时候,报了一堆警告和错误,我是采用粗暴的方法,直接把项目下的node_modules文件夹删除,再在项目目录下运行yarn install命令。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值