RN从0.60开始,Android平台移植到了androidx。 如果不想用androidx,安装rn必须指定版本为0.59。 对应的 react版本为16.8.3 参考:https://github.com/react-native-community/discussions-and-proposals/issues/129 已经添加了Network Security Config,但是还是报错。 这是因为adb连接电脑的端口不对。 修改端口 参考:https://reactnative.cn/docs/running-on-device/#1-enable-app-transport-security java.lang.UnsatisfiedLinkError: couldn’t find DSO to load: libhermes.so 集成RN到已有项目,运行时出现。 这是因为在React Native 0.60之后,新增了Facebook自研的js引擎Hermes。没有在项目的build.gradle中配置Hermes的仓库,所以找不到so文件。使用RN创建新项目时,RN会自动为我们生成标准的build.gradle。 修改android根目录的build.gradle 修改app目录的build.gradle 点击sync now,再次运行项目,就不会报错了。 参考:https://github.com/facebook/react-native/issues/25986
版本问题
$ yarn add react-native@0.59.10
$ yarn add react@16.8.3
常见问题
问题1
Unable to load script. Make sure you're either running a Metro server (run 'react-native start') or that your bundle 'index.android.bundle' is packaged correctly for release.
adb reverse tcp:8081 tcp:8081
问题2
出现场景
E/AndroidRuntime: FATAL EXCEPTION: create_react_context Process: com.ado.example, PID: 25851 java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.so at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:738) at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:591) at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:529) at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:484) at com.facebook.hermes.reactexecutor.HermesExecutor.(HermesExecutor.java:20) at com.facebook.hermes.reactexecutor.HermesExecutorFactory.create(HermesExecutorFactory.java:27) at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:949) at java.lang.Thread.run(Thread.java:818)
原因
解决方式
... allprojects { repositories { mavenLocal() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" } maven { // Android JSC is installed from npm url("$rootDir/../node_modules/jsc-android/dist") } google() } } ...
//最外层加上 project.ext.react = [ enableHermes: false, // clean and rebuild if changing ] def jscFlavor = 'org.webkit:android-jsc:+' def enableHermes = project.ext.react.get("enableHermes", false); android{ ..... } dependencies{ ..... //在这里添加依赖配置 if (enableHermes) { def hermesPath = "../../node_modules/hermes-engine/android/"; debugImplementation files(hermesPath + "hermes-debug.aar") releaseImplementation files(hermesPath + "hermes-release.aar") } else { implementation jscFlavor } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算