【问题标题】:Not able to make release APK React Native Android app无法发布 APK React Native Android 应用
【发布时间】:2018-08-10 05:06:59
【问题描述】:

我想在 React Native 中发布 android 应用程序,所以当我生成构建时,我收到如下错误消息,例如

错误:任务 ':app:bundleReleaseJsAndAssets' 执行失败。

启动进程'command 'node''时出现问题

另见附件

知道如何解决这个问题吗?你的所有建议都很有价值

【问题讨论】:

  • 你能告诉我你是用react-native init还是create-react-native init创建的项目?因为如果您通过create-react-native init 创建项目,您可以轻松生成已发布的 apk。
  • badarshahzad : 我从react-native init创建项目

标签: android android-gradle-plugin build.gradle release


【解决方案1】:

花了2天我解决了,请按照以下步骤操作:-

1) 停止运行 Gradle

 $ cd RectNatoveProjectName & cd android  (Open your project and go to android folder)  
 $ ./gradlew --stop (Run this command to stop old running Gradle service )

2) 更新android app build gradle

project.ext.react = [
        nodeExecutableAndArgs : ["/usr/local/bin/node"]
];

3) 获取节点详情

$ which node 

>(结果类似于“/usr/username/.nvm/versions/node/v10.7.0/bin/node”)

4) 链接节点(非常重要的一步复制上述步骤 3 中的结果)

- ln -s /usr/username/.nvm/versions/node/v10.7.0/bin/node /usr/local/bin/node

5) 如果 Step - 4 返回文件存在 - 然后去文件夹 /usr/local/bin/ 并删除“节点”文件并再次执行步骤-4。

6) 如果第 4 步成功运行,则此节点问题将得到解决。

【讨论】:

  • 我按照步骤 1、2 和 3 指定节点位置并解决节点配置问题。
【解决方案2】:

它可以有以下可能的解决方案:
1] 您需要更改 build.gradle(即 android/app/build.gradle)文件中的节点可执行路径,如下所示:

project.ext.react = [
        nodeExecutableAndArgs : ["/usr/local/bin/node"]
];

或者
2] 您需要关闭 Android Studio 并需要从项目根目录运行以下命令:

cd android
./gradlew assembleRelease

或者
3] 您只需运行“./gradlew --stop”命令,然后运行“./gradlew assembleRelease”命令

【讨论】:

  • 我尝试了上面的第一个解决方案,但我得到了其他错误/Volumes/DATA/Projects/ReactNative/RN_CollabaJob/android/app/build/intermediates/res/merged/release/drawable-hdpi/ node_modules_reactnavigation_src_views_assets_backicon.png 错误:错误:未编译的 PNG 文件作为参数传递。必须先编译成 .flat 文件..
  • 当我在终端尝试第二个解决方案时,我得到 -bash: gradlew: command not found
  • @HarshalKalavadiya,之前共享的命令是针对 Windows 操作系统的。那时我不知道您正在使用的操作系统。顺便说一句,对于第二种解决方案,请使用 ./gradlew assembleRelease。我已经更新了答案。请检查相同。
【解决方案3】:

在文件末尾的app/build.gradle 中添加以下代码。

 afterEvaluate{
    android.applicationVariants.all { variant ->
        variant.ext.bundleJsAndAssets.enabled = false
     }
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2018-05-16
    相关资源
    最近更新 更多