最近项目即将上线,但是遇到了一个问题,安装之后第一次打开时,在有的Android手机上崩溃,之后再次运行就好了,好多Android机型都遇到这种情况,定位问题,发现是之前加载的第三方开源控件:react-native-update(热更新)导致的,为了软件的稳定性,不得不把刚刚没集成多久的热更新删除掉。

一. RN部分

输入:npm uninstall react-native-update

注:这里的react-native-update是你要删除的组件名,我这里统一用这个来演示。

但是你会发现,在RN项目目录下的package.json文件中,这个组件的依赖依旧存在。

删除掉在RN的package.json文件中的依赖

输入:npm uninstall --save

如果是组件作为devDependencies,需要加上-D,

如果是从optionalDependencies中删除,还需要加上-o的参数,

我为了保险能删干净,直接输入一下命令,见第四部:

输入:npm uninstall -s -D -O

然后进入node_modules文件夹内,你会很高兴的发现终于你的这个组件包不在了。

二. Android部分

然后编译运行在 android 上,发现,各种编译失败,所以还需要在native中删除相应的依赖。

进入项目下的android目录下,然后打开setting.gradle,删除下面两行依赖:

include ':react-native-update'

project(':react-native-update').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-update/android')

然后进入 android/app 目录下,打开build.gradle,删除dependencies代码块内的一行依赖:

compile project(':react-native-update')

打开android/app/src/main/java/com/包名/MainApplication.java,找到 RN 调用的原生方法

new ReactUpdatePackage()

有的第三方不需要,属于RN调用原生那块代码

删除这行代码。

去 MainApplication 文件中删除相关引入包。

三. RN代码部分

如果你在RN项目中已经用了这个组件,在你调用的js文件中还要删除相关代码。

四. ios部分

注:这部分我没有用到,主要是为了文章完成性,直接从参考文章拷过来的。

打开xcode,找到AppDelegate.m,然后删除以下导入的代码:

#import // import

同时还要删除下面代码块内的导入代码:具体需要参考开源组件的说明:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

... [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; // allow

...

}

对于react-native-video来说就是上面代码快中红色标记的那行代码,删之。

此时编译ios,你会发现报了10多个错误,头大了,下面再继续删除:打开xcode,进入左侧主目录的Libraies中,右键删除这个库:RCTVideo.xcodeproj

Paste_Image.png

点击左侧你的第一个根目录(我的是first),接着点击右侧的Build Phases,打开下面的Link Binary With Libraties,找到你的依赖:我这里是libRCTVideo.a, 点击选中,最后点击下面的‘-’删除

Paste_Image.png

点击build Phases同一行中的Build Setting,找到Header Search Paths,点击左侧小箭头展开,然后双击右侧的第一行目录,找到你的组件路径,点击下面的,减号删除你的组件的路径,如下所示:

Paste_Image.png

最后在xcode中编译,成功。

java去掉rn,React Native删除第三方开源组件的依赖包相关推荐

  1. 一款由React Native编写的开源App--Gank

    一款由React Native编写的开源App–Gank iOS 效果图: Android 效果图: 更多gif图在文章末尾github链接处. 用到的第三方依赖库 redux react-redux ...

  2. [RN] React Native 键盘管理 在Android TextInput遮盖,上移等问题解决办法

    [RN] React Native 键盘管理 在Android TextInput遮盖,上移等问题解决办法 参考文章: (1)[RN] React Native 键盘管理 在Android TextI ...

  3. [RN] React Native 实现图片预览

    [RN] React Native 实现图片预览 效果预览: 代码如下: 'use strict'; import React, {Component} from 'react'; import {I ...

  4. RN(React Native)

    RN是React的原生组件库 网址:React Native 中文网 · 使用React来编写原生应用的框架 一.ReactNative开发环境的搭建 在本机搭建RN项目开发运行环境 -- 3GB+ ...

  5. React Native常用第三方汇总

    React Native 项目常用第三方组件汇总:  react-native-animatable 动画  react-navigation  github : https://reactnavig ...

  6. (笔记) RN React Native 热更新(react-native-code-push) AppCenter

    苹果App允许使用热更新Apple's developer agreement, 为了不影响用户体验,规定必须使用静默更新. Google Play不能使用静默更新,必须弹框告知用户App有更新.中国 ...

  7. [RN] React Native 自定义 底部 弹出 选择框 实现

    React Native 自定义 底部选择框 实现 效果如图所示: 实现方法: 一.组件封装 CustomAlertDialog.js import React, {Component} from ' ...

  8. [RN] React Native 错误 Module does not exist in the module map

    React Native 错误 Module does not exist in the module map 代码如下: import Login from 'login' import Index ...

  9. [RN] React Native 调试技巧

    React Native 调试技巧 一. 安卓模拟器调出Dev Setting 命令 adb shell input keyevent 82 二.图片不出来时,先运行此命令,再重新 run react ...

最新文章

  1. python系列------计算机运算过程
  2. LeetCode Power of Two
  3. mysql 数据泵导入导出_【Oracle篇】约束和数据泵导入导出
  4. BZOJ3083: 遥远的国度(树链剖分)
  5. Elasticsearch如何做到数十亿数据查询毫秒级响应?
  6. 计算机屏幕偏白,电脑屏幕显示泛白怎么修正
  7. autocomplete自动补全,远程json数据
  8. PCL学习笔记02:在ROS下建立编译链接PCL模块
  9. 怎样编写和执行Js文件
  10. 如何用MEF实现Asp.Net MVC框架
  11. wp7检测网络是否可用以及网络开启简单代码段
  12. JSTL的一些使用规范,坑
  13. WPF里面制作圆角文本框
  14. LED驱动电路设计及原理分析
  15. netplan apply报错Error: Conflicting default route declarations for IPv4 (table: main, metric: default)
  16. PAT乙级题解——1093 字符串A+B (20分)
  17. 浅浅分析滤波器截止频率
  18. 【题解】曼哈顿模拟赛(洛谷)
  19. Qt实现 基于ffmpeg拉流播放视频
  20. 【论文笔记】AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions

热门文章

  1. php 开发微信h5,微信h5页面开发遇到那些坑
  2. c++后台管理系统_【获奖案例】第三届全国医院物联网大会“中国医院物联网应用十大优秀案例”安徽医科大学第一附属医院手术室行为管理系统...
  3. not optimal php,php环境配置 配置
  4. 当你看到曾经自己的代码时...
  5. 我们自嘲的“码农”身份被官方实锤了!
  6. 1499抢飞天茅台?可惜了,才26万的并发app就崩了!
  7. Spring Boot 注解大全,一键收藏!回城路上复习!
  8. html图片上下左右滑动,一个支持任意尺寸的图片上下左右滑动效果
  9. python 四边形分割
  10. 因为在此系统中禁止执行脚本解决