【问题标题】:Problem "Could not get unknown property 'mergeResourcesProvider' for object of type com.android.build.gradle.internal.api.ApplicationVariantImpl."问题“无法为 com.android.build.gradle.internal.api.ApplicationVariantImpl 类型的对象获取未知属性 'mergeResourcesProvider'。”
【发布时间】:2019-04-03 08:43:24
【问题描述】:

我想通过命令 'react-native run-android' 构建 android 应用程序并得到 FAILURE

应用程序正在构建,但最后我在命令控制台中得到了这个

我已经重建了应用程序,重新启动了 PC 和 Android 设备,删除了 node_modulees 文件夹,但没有任何帮助。

D:\Projects\Android\Partymaker>react-native run-android info 正在启动 JS 服务器... info 在设备上构建和安装应用程序(cd android && gradlew.bat app:installDebug)... 启动一个 Gradle 守护进程,1 个不兼容的和 1 个停止的守护进程无法重用,使用 --status 了解详情

配置项目:app registerResGeneratingTask 已弃用,使用 registerGeneratedResFolders(FileCollection) registerResGeneratingTask 已弃用,请使用 registerGeneratedResFolders(FileCollection)

FAILURE:构建失败并出现异常。

  • 在哪里: 脚本 'D:\Projects\Android\Partymaker\node_modules\react-native\react.gradle' 行:95

  • 出了什么问题: 配置项目 ':app' 时出现问题。

    无法为 com.android.build.gradle.internal.api.ApplicationVariantImpl 类型的对象获取未知属性“mergeResourcesProvider”。

  • 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

  • 通过https://help.gradle.org获得更多帮助

此版本中使用了已弃用的 Gradle 功能,使其与 Gradle 5.0 不兼容。 使用“--warning-mode all”显示各个弃用警告。 见https://docs.gradle.org/4.10.2/userguide/command_line_interface.html#sec:command_line_warnings

在 2m 0s 内构建失败 错误 无法在设备上安装应用程序,请阅读上面的错误以了解详细信息。 确保您有一个正在运行的 Android 模拟器或连接的设备,并且有 设置您的 Android 开发环境: https://facebook.github.io/react-native/docs/getting-started.html error 命令失败:gradlew.bat app:installDebug

【问题讨论】:

  • 请发布您的package.json 文件内容
  • 什么版本的 RN?
  • RN 版本 - "react-native": "0.59.3"
  • link - package.json
  • android/build.gradle 中的此编辑将修复折旧警告...-task wrapper(type: Wrapper) {+wrapper {gradleVersion = '4.4' - distributionUrl = distributionUrl.replace("bin", "all")+ distributionType = Wrapper.DistributionType.ALL`}`

标签: javascript android react-native gradle daemon


【解决方案1】:

我遇到了同样的问题,我能够像这样解决它:

通过编辑 android/build.gradle 修复 gradle 弃用警告

- task wrapper(type: Wrapper) {
+ wrapper {
     gradleVersion = '4.4'
-    distributionUrl = distributionUrl.replace("bin", "all")
+    distributionType = Wrapper.DistributionType.ALL
  }

更新 android/build.gradle 中的类路径

buildscript {
  ...
  dependancies {
      classpath 'com.android.tools.build:gradle:3.3.0'
  }
}

更新android/gradle/wrapper/gradle-wrapper.properties的distributionUrl

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

重新安装 node_modules

rm -rf ./node_modules
yarn

我应该提一下,我还有一些自定义库中的其他构建错误,我还没有解决。但希望这可以帮助你。

【讨论】:

    【解决方案2】:

    这个问题是因为 react-native 版本不匹配 我假设你在博览会上然后你弹出来反应原生 尝试删除 node_modules 将 package.json 反应本机版本更改为 0.57.* 然后 react-native run-android

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 2020-01-02
      • 2020-04-15
      相关资源
      最近更新 更多