问题标签 [react-native-hermes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
829 浏览

react-native - 使用爱马仕构建应用程序时出错:'..' 不被识别为内部或外部命令

  • 在 Windows 10 上构建 react-native 应用程序。

  • 错误为第 165 行打印 node_modules\react-native\react.gradle

'..' 不是内部或外部命令、可运行程序或批处理文件

第 165 行是下面的第 5 行,从 开始exec

下面是 android/app/build.gradle 中 hermescommand 的定义:

据我了解,它指向以下文件:

任何的想法?

更新了 android/app/build.gradle 中的定义(按照下面的答案):

更改后的构建输出现在如下:

0 投票
2 回答
928 浏览

react-native - React-native/hermes 构建错误。没有这样的文件或目录:index.android.bundle.packager.map

描述

在将 hermesEnabled 设置为 true 的情况下在构建期间获取以下消息

('...' 代表删除的文本):

(完整的错误日志在这里

(引用的文件存在,至少在构建失败之后)。

环境

  • 在 Windows 10 上构建
  • React Native 版本:0.62.2

我试图做的

0 投票
1 回答
619 浏览

react-native - Which version of Hermes is working with RN 0.63.4

I've been trying to install a different version but my app keeps on crashing and when I install the latest version I get this error after a successful build:

0 投票
0 回答
341 浏览

gradle - 由于 hermes-debug.aar 参考,gradle bundleDebugAar 步骤失败

我正在维护一个棕地 react-native 应用程序,并且正在将 react-native 版本从 0.59.9 迁移到 0.63.4。我完成了更改日志和升级助手中定义的步骤,并且可以在模拟器上运行该应用程序,但是当我尝试构建它时,我在bundleDebugAar步骤中收到此错误:

摇篮版本:

这是我的 build.gradle.kts:

如果有人可以提供帮助,我会很高兴。

谢谢。

0 投票
1 回答
1825 浏览

android - 使用 Realm 与 Hermes (android) 反应原生:启动时崩溃

我一直在用 React-Native 构建一个应用程序。它最初是一个 0.60 的项目,在开发过程中我已经对其进行了多次升级,而不是在 0.63.4 上。

我注意到,在 Android 上运行发布版本时,应用程序感觉非常缓慢。感觉就像它正在吃掉手机的所有内存。当我在 Android Studio 中运行它并附加一个分析器时,一切似乎都很正常(+- 15% CPU 使用率,128mb 内存使用率)。

我尝试将 Hermes 添加到我的应用程序中,看看它是否会产生任何影响,但是一旦我将enableHermes参数设置为 true、clean & build,我的应用程序会在启动后立即崩溃且没有任何错误消息(在成功构建后)。

然后我去了 React-Native 的文档,那里有一个警告说每个 Hermes 版本都针对一个特定的 RN 版本。好吧,我想。React 0.63.x 有 Hermes 版本 0.5.3。每当我去我的 yarn.lock 和 sethermes-engine "0.5.3"时,它说它找不到它并询问我要安装哪个版本。

我很困惑。

问题 什么版本的 Hermes 适合 React-Native 0.63.4,以及如何适当地添加它以防止我现在遇到的无错误消息崩溃?

更新 通过 Android Studio 运行我的应用程序时,我在运行日志中看到它在打开之后和崩溃之前给出了这条消息:

这表明加载我在我的应用程序中使用的领域依赖项有问题?当我再次将 enableHermes 设置回 false 时,我没有收到此消息,并且一切似乎都运行良好(但性能很差)。

有没有人在使用 Hermes 时无法加载库的经验?

任何指导将不胜感激。

0 投票
1 回答
89 浏览

react-native - React Native 中的 Hermes 引擎是否需要一个缩小的文件作为输入?

目前(至少从 0.64-rc.3 开始),React Native 首先在源上运行 Metro Bundler / Uglify,然后将缩小的 jsbundle 传递给 hermesc。我注意到,在我的至少 2 个项目中,禁用 Metro 中的 Uglify 步骤极大地加快了 Hermes 编译步骤。

问题是:Hermes 是否需要缩小源?

直观地说,这根本不重要,因为 Uglify 不进行任何死代码剥离或其他 AST 优化。但在我的理解中,我可能遗漏了一些重要的细节。

0 投票
3 回答
575 浏览

android - React-native Hermes 生产构建失败

react@17.0.1
react-native@0.63.4

没有 Hermes 的构建工作正常。

使用 Hermes 进行开发构建工作正常。

如果我注释掉所有代码并仅使用<Text>Works</Text>.

如果我放回所有依赖项:Redux、React-navigation、react-native-paper 等 - 构建过程会卡在 34%:

其余日志遵循相同的模式:

react-native run-android --variant=release不会发出警告,但它与生产构建相同:

据我了解,这意味着问题是由我的 npm 依赖项之一引起的。有没有一种简单的方法可以解决这个问题,而无需手动逐个查看每个依赖项?

我已经解决了有关 StackOverflow 和 react-native Github 问题的所有相关问题。

0 投票
0 回答
1442 浏览

android - 如何在更新的 react-native 项目中启用 Hermes 引擎?

我正在开发一个 react-native 项目,该项目最初使用的是旧的 react-native 版本。更新项目以使用最新的 react-native 版本,在其他方面非常成功。但是,我无法为 android 启用 Hermes 引擎。

我已经按照这里的官方步骤:使用爱马仕。为了确认 Hermes 是否启用,我清理并重建了 android 项目,在调试模式下运行应用程序并使用以下代码:

Flipper v0.80.0 也找不到 Hermes 应用。

安卓/build.gradle

android/app/build.gradle

包.json

proguard-rules.pro

0 投票
0 回答
193 浏览

react-native - React 本机 Hermes 采样使应用程序崩溃

我正在尝试对我们的 react native 应用程序进行一些采样,我启用了采样,但是一旦我禁用它而不是显示文件位置的 toast,应用程序立即崩溃,我从 logcat 获得以下日志:

我检查了爱马仕是否已启用并且已启用。任何想法为什么这可能会崩溃?

0 投票
0 回答
191 浏览

react-native - Chrome Devtools 未将文件与 Hermes 调试器链接

我最近在我的移动应用程序上启用了 Hermes 引擎,但在使用 Chrome devtools 进行调试时遇到了一些问题。

我在 Devtools 中打开了一个工作区,但调试器不喜欢某些文件,我无法设置断点。

我可以看到某些文件的图标中有一个绿点(然后我可以为这些文件设置断点)

但在我的示例中,search.js 没有链接。供参考 :

  • 我的 index.js 仅包含对 search.js 的导出
  • devtools 使用 chrome://inspect 打开

调试器链接文件

index.js

我做错了什么吗?

感谢您的帮助