参考https://github.com/wkh237/react-native-fetch-blob/issues/51 自己做了一下总结:

这个报错位置在react-native-fetch-blob下fs.js:

DocumentDir :  RNFetchBlob.DocumentDir 

首先看一下最外层package.json下是否有“react-native-fetch-blob”该依赖包

如果没有

就执行下面命令行:

$ npm install --save react-native-fetch-blob@0.10.5

如果react-native-fetch-blob版本较低,移除原有包
$ rnpm uninstall react-native-fetch-blob
重新按上面安装
react-native版本< 0.29 
$ rnpm link
react-native版本 0.29.2+
$ react-native link

执行$ rnpm link或rnpm uninstall时可能提示:

参考 https://github.com/rnpm/rnpm 执行命令行:

$ npm install rnpm -g

再执行$ rnpm link或rnpm uninstall

如果出现以下提示:

可参考react-native-fetch-blob\README.md文件:

react-native版本< 0.29

$ RNFB_ANDROID_PERMISSIONS=true rnpm link

react-native版本 0.29.2+
$ RNFB_ANDROID_PERMISSIONS=true react-native link
自动添加权限(亲测RNFB_ANDROID_PERMISSIONS不是内部或外部命令,未解决)。或者用以下手动添加:

对于5.0及以下的设备,你必须手动添加以下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
对Android 6.0 (API level 23),请求权限参照
https://facebook.github.io/react-native/docs/permissionsandroid.html

如果使用`Android Download Manager`需添加

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
</intent-filter>

连接成功后,在terminal会出现下面提示

在settings.gradle中添加

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

如果node_modules在工作空间根目录,../省略

在build.gradle

 dependencies {
compile project(':react-native-fetch-blob') }

在MainApplication或Activity添加包

import com.RNFetchBlob.RNFetchBlobPackage;

```
高版本下
 @Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new RNFetchBlobPackage(),
new MainReactPackage()
);
}

低版本下

 mReactRootView = new ReactRootView(this);
mReactInstanceManager = ReactInstanceManager.builder()
.addPackage(new RNFetchBlobPackage())
.build();
mReactRootView.startReactApplication(mReactInstanceManager, "Task", null);
setContentView(mReactRootView);

最近在项目中遇到:react-native-cached-image下react-native-fetch-blob报错

报错位置

采用rn版本如下:

"react": "^16.0.0-alpha.12",
"react-native": "^0.45.1",
修改react-native-cached-image如下版本后正常
"react-native-cached-image": "^1.2.5"

本文为博主原创文章,请尊重版权,未经博主允许不得转载,转载请注明出处:http://www.cnblogs.com/details-666/p/react-native-fetch-blob.html
执行下面命令或直接运行app
$ react-native run-android

最新文章

  1. [转]Unicode utf8等编码类型的原理
  2. php实现设计模式之 观察者模式
  3. Win10升级后回退后无法检测新版本的修复办法
  4. ElasticSearch与Spring Boot集成问题
  5. CSS overflow 属性
  6. Selenium 获取隐藏元素的内容
  7. DOCTYPE, HTML和XHTML, Strict DTD和Transitional DTD, Quirks Mode和Standard Mode
  8. JSON.parse: expected property name or &#39;}&#39;
  9. TCP UDP 协议的选择
  10. MySQL 指定数据库字符集的 3 种方法。
  11. 用实例给新手讲解RSA加密算法
  12. 剑指offer替换空格
  13. taskctl 软件集群安装部署
  14. python 3---if判断成绩练习
  15. 获取C#中方法的执行时间及其代码注入
  16. C# WPF 中WebBrowser拖动来移动窗口,改变窗口位置
  17. Oracle 11g AWR 系列五:如何生成 AWR 报告?
  18. 4、JVM-虚拟机性能监控与故障处理工具
  19. 使用html+css+js实现倒计时,开启你痛苦的倒计时吧
  20. telnet 工具

热门文章

  1. java Http消息传递之POST和GET两种方法--通过实用工具类来获取服务器资源
  2. python基础教程第二版 第一章
  3. ubuntu实用命令--软件管理
  4. sublime Text 3常用Html/Css基础插件安装
  5. 安卓OKhttp请求封装
  6. path sum i
  7. Android学习资料整理
  8. 谷歌统计使用代码部署和事件API使用
  9. Xcode8.3.2制作静态库
  10. hdu1421 搬寝室 DP