首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react- Native -sensors错误:传感器的本机模块不可用。react-native链接是否成功运行?

react- Native -sensors错误:传感器的本机模块不可用。react-native链接是否成功运行?
EN

Stack Overflow用户
提问于 2020-10-20 09:03:19
回答 1查看 250关注 0票数 0

感谢任何帮助,得到错误消息“错误:传感器的本机模块不可用。react-native link是否成功运行?”运行npx react-native start时

npx react-native run-android给出这个错误:> Task :app:processDebugManifest在安装react-native-sensors之后失败。

安装步骤:

npx react-原生初始化proj8

cd proj8

npm install react-native-sensors -save

npx react-本机链接react-native-sensors

最后一条命令报告成功,但当我完成Android手动过程时,一些部分没有完成,如下所示:

代码语言:javascript
复制
import com.sensors.RNSensorsPackage;

是在android/app/src/main/java/.../MainApplication.java

new RNSensorsPackage()不在那里,我添加了如下内容:

代码语言:javascript
复制
@Override
       protected List<ReactPackage> getPackages() {
       @SuppressWarnings("UnnecessaryLocalVariable")
       List<ReactPackage> packages = new PackageList(this).getPackages();
       // Packages that cannot be autolinked yet can be added manually here, for example:
       // packages.add(new MyReactNativePackage());
       packages.add(new RNSensorsPackage());
       return packages;
}
代码语言:javascript
复制
include ':react-native-sensors'
project(':react-native-sensors').projectDir = new File(rootProject.projectDir,  '../node_modules/react-native-sensors/android')

都在android/settings.gradle中吗?

代码语言:javascript
复制
dependencies {
    implementation project(':react-native-sensors')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    //noinspection GradleDynamicVersion
    implementation "com.facebook.react:react-native:+"  // From node_modules

我不得不添加实现项目(‘:react-native-sensors’)

我认为我的代码还不重要,但是App.js:

代码语言:javascript
复制
import React, {useState, useEffect, useRef} from 'react';
import { StyleSheet,ScrollView,SafeAreaView,Platform, View,Text } from 'react-native';

export default function App() {
    var Rndr = 
        <Text>asdf</Text>
    return Rndr
}

package.json:

代码语言:javascript
复制
{
  "name": "proj8",
  "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": {
    "react": "16.13.1",
    "react-native": "0.63.3",
    "react-native-sensors": "^7.0.1"
  },
  "devDependencies": {
    "@babel/core": "^7.8.4",
    "@babel/runtime": "^7.8.4",
    "@react-native-community/eslint-config": "^1.1.0",
    "babel-jest": "^25.1.0",
    "eslint": "^6.5.1",
    "jest": "^25.1.0",
    "metro-react-native-babel-preset": "^0.59.0",
    "react-test-renderer": "16.13.1"
  },
  "jest": {
    "preset": "react-native"
  }
}
EN

回答 1

Stack Overflow用户

发布于 2020-11-21 04:02:23

我遇到了同样的问题。这是因为react-native-sensors的minsdk版本是17,而react-native的默认minsdk版本是16,这很容易解决。

只需转到android/build.gradle

  • Change minSdkVersion to android/build.gradle

  • Change 17

在此之前

代码语言:javascript
复制
 ext {
    buildToolsVersion = "29.0.2"
    minSdkVersion = 16
    compileSdkVersion = 29
    targetSdkVersion = 29
}

之后

代码语言:javascript
复制
 ext {
    buildToolsVersion = "29.0.2"
    minSdkVersion = 19
    compileSdkVersion = 29
    targetSdkVersion = 29
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64437070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档