爱马仕在本地版本0.60.5的发布版本中存在错误

时间:2019-08-18 11:59:08

标签: javascript reactjs react-native

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

a busy cat

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

1 个答案:

答案 0 :(得分:3)

首先,尝试清洁node_modules并通过yarn重新安装。

此问题已在this PR中得到解决。

您也可以通过将android/app/build.gradle更改为:

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

更新

首先通过以下方式添加新的爱马仕

yarn add --dev hermes-engine@0.1.1

然后在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