方法或属性 expo-file-system.downloadAsync 在 android 上不可用,您确定已正确链接所有本机依赖项吗?

Posted

技术标签:

【中文标题】方法或属性 expo-file-system.downloadAsync 在 android 上不可用,您确定已正确链接所有本机依赖项吗?【英文标题】:The method or property expo-file-system.downloadAsync is not available on android, are you sure you've linked all the native dependencies properly? 【发布时间】:2020-05-12 00:56:29 【问题描述】:

我是 react-native 的新手。 我正在尝试添加博览会图标,当项目在设备上运行时出现此错误:

Screenshot with logs


  "name": "TrackYourFitness",
  "version": "0.0.1",
  "private": true,
  "scripts": 
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  ,
  "dependencies": 
    "expo": "^36.0.2",
    "react": "16.9.0",
    "react-native": "0.61.5"
  ,
  "devDependencies": 
    "@babel/core": "^7.8.3",
    "@babel/runtime": "^7.8.3",
    "@react-native-community/eslint-config": "^0.0.6",
    "babel-eslint": "^10.0.3",
    "babel-jest": "^25.1.0",
    "eslint": "^6.8.0",
    "eslint-plugin-flowtype": "^4.6.0",
    "jest": "^25.1.0",
    "metro-react-native-babel-preset": "^0.58.0",
    "react-test-renderer": "16.9.0"
  ,
  "jest": 
    "preset": "react-native"
  

我尝试了 yarn react-native link,但没有成功。

我该如何解决?提前致谢!

【问题讨论】:

你有解决办法吗? 我也有同样的问题... 【参考方案1】:

根据您的错误消息,您正在尝试从包expo-file-system 调用方法downloadAsync

您的package.json 中缺少此包。

要安装它:运行以下命令:

expo install expo-file-system

但我认为这与您的问题无关,因为您在谈论图标。 Icons 包已经包含在 Expo 中,所以它可以工作。

供参考:https://docs.expo.io/versions/latest/guides/icons/

【讨论】:

【参考方案2】:

运行

npm install react-native-unimodules
npx pod-install //for ios

基于 IOS 和 Android 对您的 android 文件进行了更改 见链接 https://docs.expo.io/bare/installing-unimodules/

重新启动 react-native...

npm start
npx react-native run-android

编码愉快!!!

【讨论】:

我遇到了和上面一样的错误,你这里的解决方案是行不通的,因为已经安装了,我不知道怎么办,react-native-paper图标不会出现

以上是关于方法或属性 expo-file-system.downloadAsync 在 android 上不可用,您确定已正确链接所有本机依赖项吗?的主要内容,如果未能解决你的问题,请参考以下文章

IE浏览器运行脚本显示“对象不支持此属性或方法”

使用JS出现对象不支持此属性或方法

jquery 对象不支持on属性或方法

使用只读属性或方法?

JS与IE8兼容问题 对象不支持此属性或方法

“对象不支持此属性或方法”试了很多方法,换了浏览器还是解决不了