我将本机项目从0.59.4升级到0.60.5,一切正常。我尝试在没有Hermes的情况下进行发布构建,并且一切正常,但是当我在android/app/build.gradle中启用Hermes选项并尝试进行发布时,出现如下错误:

如何解决此问题并为我的项目启用Hermes?

最佳答案

首先,尝试清洁node_modules并通过yarn再次安装。

此问题已在this PR中修复。

您还可以通过将android/app/build.gradle更改为以下内容来修复该问题:

project.ext.react = [
    ...
    hermesCommand: "../../node_modules/hermesvm/%OS-BIN%/hermes",
    ...
]

更新

首先通过以下方式添加新的爱马仕:
yarn add --dev [email protected]
然后在android/app/build.gradle中:

project.ext.react = [
    entryFile: "index.js",
    enableHermes: true,  // clean and rebuild if changing
    hermesCommand: "../../node_modules/hermes-engine/%OS-BIN%/hermes",
]

并更改此:
def hermesPath = "../../node_modules/hermesvm/android/";
对此:
def hermesPath = "../../node_modules/hermes-engine/android/";
然后将node_module/react-native/react.gradle替换为this file

如果您使用Proguard / R8,请将其添加到android/app/proguard-rules.pro:
-keep class com.facebook.hermes.unicode.* { *; }
然后通过gradlew clean清理,最后:
gradlew assembleRelease

关于javascript - 爱马仕在本地版本0.60.5的发布版本中存在错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57544334/

10-09 22:23