【问题标题】:Task 'bundleReleaseJsAndAssets' not found in root project在根项目中找不到任务“bundleReleaseJsAndAssets”
【发布时间】:2019-06-27 23:29:42
【问题描述】:

我无法使用 Jenkins 中的 React Native 项目成功构建。我收到此错误:

14:41:59 FAILURE:构建失败并出现异常。 14:41:59 14:41:59 * 出了什么问题:14:41:59 任务执行失败 ':app:bundleDevReleaseJsAndAssets'。 14:41:59 > 处理'命令 'node'' 以非零退出值结束 1 14:41:59

我确实在这里找到了答案:

React-Native assembleRelease fails for task ':app:bundleReleaseJsAndAssets'

问题是何时构建,第二步:

./gradlew assembleRelease -x bundleReleaseJsAndAssets

我收到此错误:

FAILURE: Build failed with an exception.

* What went wrong:
Task 'bundleReleaseJsAndAssets' not found in root project 'engage-application.mobile'.

* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

运行gradlew tasks 对我没有任何见解:

✗ gradle tasks

> Task :tasks

------------------------------------------------------------
Tasks runnable from root project
------------------------------------------------------------

Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.

Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'engage-application.mobile'.
components - Displays the components produced by root project 'engage-application.mobile'. [incubating]
dependencies - Displays all dependencies declared in root project 'engage-application.mobile'.
dependencyInsight - Displays the insight into a specific dependency in root project 'engage-application.mobile'.
dependentComponents - Displays the dependent components of components in root project 'engage-application.mobile'. [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'engage-application.mobile'. [incubating]
projects - Displays the sub-projects of root project 'engage-application.mobile'.
properties - Displays the properties of root project 'engage-application.mobile'.
tasks - Displays the tasks runnable from root project 'engage-application.mobile'.

To see all tasks and more detail, run gradle tasks --all

To see more detail about a task, run gradle help --task <task>

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

另外,请注意我必须运行 gradle tasks

关于 SO 的几篇相关文章要么是 3 到 5 年的历史,要么涉及到

的版本
buildscript {
    ext {
        buildToolsVersion = "27.0.3"
        minSdkVersion = 16
        compileSdkVersion = 27
        targetSdkVersion = 26
        supportLibVersion = "27.1.1"
    }

build.gradle 内部不适合我的 RN 版本:

System:
  OS: macOS High Sierra 10.13.6
  CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
  Memory: 609.73 MB / 16.00 GB
  Shell: 5.3 - /bin/zsh
Binaries:
  Node: 11.10.1 - /usr/local/bin/node
  Yarn: 1.10.1 - /usr/local/bin/yarn
  npm: 6.7.0 - /usr/local/bin/npm
  Watchman: 4.7.0 - /usr/local/bin/watchman
SDKs:
  iOS SDK:
    Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
  Android SDK:
    API Levels: 23, 25, 26, 27, 28
    Build Tools: 23.0.1, 26.0.2, 27.0.3, 28.0.3
    System Images: android-28 | Google Play Intel x86 Atom
IDEs:
  Android Studio: 3.4 AI-183.5429.30.34.5452501
  Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmPackages:
  react: 16.6.3 => 16.6.3
  react-native: 0.57.8 => 0.57.8
npmGlobalPackages:
  react-native-cli: 2.0.1
  react-native-git-upgrade: 0.2.7

我最近升级到版本 0.57.8 并遵循本指南: https://reactnative.thenativebits.com/courses/upgrading-react-native/upgrade-to-react-native-0.57/

有人向我解释说我需要跑步:

✗ ./gradlew assembleRelease -x bundleDevReleaseJsAndAssets

我做到了,但我继续收到错误。

FAILURE: Build failed with an exception.

* What went wrong:
Task 'bundleDevReleaseJsAndAssets' not found in root project 'engage-application.mobile'.

* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

如果我尝试按照 Kartik Shah 的步骤进行操作: React-Native assembleRelease fails for task ':app:bundleReleaseJsAndAssets'

我收到此错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-sentry:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 7s
208 actionable tasks: 195 executed, 13 up-to-date

三天前我遇到了这个问题,我认为升级后会解决:

https://github.com/getsentry/react-native-sentry/issues/610

所以我升级了React Native Sentry,现在得到的错误如下:

The TaskInternal.executer property has been deprecated and is scheduled to be removed in Gradle 5.0. There are better ways to re-use task logic, see https://docs.gradle.org/4.4/userguide/custom_tasks.html#sec:reusing_task_logic.
        at sentry_c79fxbhuascug468f001tukcq$_run_closure1$_closure6.doCall(/Users/danale/Projects/engage-application.mobile/node_modules/react-native-sentry/sentry.gradle:19)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
error: resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found.
error: resource android:style/TextAppearance.Material.Widget.Button.Colored not found.
/Users/danale/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/478ea8d2caa80bc12b39e3960167e1f6/res/values/values.xml:251:5-69: AAPT: error: resource android:attr/fontStyle not found.

/Users/danale/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/478ea8d2caa80bc12b39e3960167e1f6/res/values/values.xml:251:5-69: AAPT: error: resource android:attr/font not found.

/Users/danale/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/478ea8d2caa80bc12b39e3960167e1f6/res/values/values.xml:251:5-69: AAPT: error: resource android:attr/fontWeight not found.

error: failed linking references.

似乎有问题的代码就在这里:

def bundleTasks = tasks.findAll { task -> task.name.startsWith("bundle") && task.name.endsWith("JsAndAssets") && !task.name.contains("Debug")}
    bundleTasks.each { bundleTask ->
        def shouldCleanUp
        def sourcemapOutput
        def bundleOutput
        def props = bundleTask.getProperties()
        def reactRoot = props.get("workingDir")

有人对 React Native Sentry 有任何解决方法或经验吗?

【问题讨论】:

    标签: reactjs react-native android-gradle-plugin


    【解决方案1】:

    我看到的唯一区别是您的原始错误是针对任务 bundleDevReleaseJsAndAssets 而不是在您链接的其他帖子中失败的 bundleReleaseJsAndAssets 任务。所以可能尝试运行它:

    ./gradlew assembleRelease -x bundleDevReleaseJsAndAssets
    

    基本上,您是在告诉它排除一项可能不属于您的项目的任务。您必须指定正确的。

    【讨论】:

    • Sophon,即使我运行bundleDevReleaseJsAndAssets,我仍然会收到该错误。我会在上面添加。
    【解决方案2】:

    以下作品解决了我的问题。

    android/app/build.gradle

    确保下面提到的添加或不添加。

    申请自:“../../node_modules/react-native/react.gradle”

    申请 来自:“../../node_modules/react-native-code-push/android/codepush.grad

    乐“

    确保您已启用:

    android{ defaultConfig{

    multiDexEnabled true } }

    实现'androidx.multidex:multidex:2.0.1'

    从android文件夹中删除.gradle文件夹

    运行:

    react-native run-android

    【讨论】:

      猜你喜欢
      • 2015-10-05
      • 2017-08-17
      • 2020-08-20
      • 1970-01-01
      • 2020-01-26
      • 2022-01-17
      • 2015-06-25
      • 1970-01-01
      相关资源
      最近更新 更多