Ionic Android 构建:java.lang.IllegalStateException:未指定 buildToolsVersion

2024-01-10

从今天起,不知何故,我的离子项目由于某种原因不再能够构建。我已经尝试删除该平台并再次添加,但没有成功。我现在几乎花了三个时间来升级、降级和重新安装 cordova 和 ionic,但由于某种原因,当我尝试构建 Android 版本时,我总是收到以下错误:

Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
    java.lang.IllegalStateException: buildToolsVersion is not specified.
            at com.google.common.base.Preconditions.checkState(Preconditions.java:176)
            at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:599)
            at com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:566)
            at com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:563)
            at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55)
            at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47)
            at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:562)
            at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:559)
            at org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:109)
            at org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:98)
            at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)
            at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
            at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
            at com.sun.proxy.$Proxy12.afterEvaluate(Unknown Source)
            at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:79)
            at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:65)
            at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:504)
            at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:83)
            at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
            at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
            at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:129)
            at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
            at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
            at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
            at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
            at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
            at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
            at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
            at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
            at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
            at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
            at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
            at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
            at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
            at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
            at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
            at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
            at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
            at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
            at org.gradle.util.Swapper.swap(Swapper.java:38)
            at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
            at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
            at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
            at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
            at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
            at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
            at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
            at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
            at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
            at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
            at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46)
            at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
            at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)

    FAILURE: Build failed with an exception.

我已经尝试在 config.xml 中设置 buildToolsVersion 但没有成功。以前有人遇到过同样的问题吗?


我发现,问题是由于 config.xml 条目配置错误造成的:

<widget xmlns="http://www.w3.org/ns/widgets"
        xmlns:cdv="http://cordova.apache.org/ns/1.0"
        id="ch.papers.test"
        version="1.0.{BUILD_NUMBER}"
        android-versionCode="{BUILD_NUMBER}">...

我们将其用于 Jenkins 配置。不幸的是,错误消息非常混乱。

更新修正版本:

<widget xmlns="http://www.w3.org/ns/widgets"
        xmlns:cdv="http://cordova.apache.org/ns/1.0"
        id="ch.papers.test"
        version="1.0.0"
        android-versionCode="1">...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ionic Android 构建:java.lang.IllegalStateException:未指定 buildToolsVersion 的相关文章

随机推荐

  • SignalR - 如何在集线器中执行异步任务?

    我正在尝试使用 C 5 async await 功能创建 SignalR 应用程序 但每当运行代码时 它都会抛出 System InvalidOperationException 这是重现该问题的最简单的代码 public class Sa
  • Python ctypes 和可变性

    我注意到将 Python 对象传递给本机代码ctypes可以打破可变性预期 例如 如果我有一个 C 函数 如下所示 int print and mutate char str str 0 X return printf s n str 我这
  • AutoMapper - 使用相同的源和目标对象类型进行映射

    我使用 Automapper 获取两个相同类型的对象并映射已更改的任何新值 我尝试使用下面的代码 但它不断抛出错误 我什至不确定这是否可以通过 Automapper 来实现 例如 Mapper CreateMap
  • Web 开发人员应该了解 IE7 和 IE8 之间的主要区别是什么?

    我刚刚下载了 IE8 它取代了我的 IE7 但这没关系 因为 IE8 有一个 兼容性视图 旨在呈现像 IE7 一样的页面 不确定 JavaScript 我想知道互联网上是否列出了开发人员应该了解的版本之间的所有主要差异 我在谷歌上搜索了一下
  • 尝试安装 pg gem 时找不到 'libpq-fe.h 标头

    我正在使用 Ruby on Rails 3 1 预版本 我喜欢使用 PostgreSQL 但问题是安装pg宝石 它给了我以下错误 gem install pg Building native extensions This could ta
  • Visual Studio 项目为空?

    有没有办法在 Visual Studio 2008 或 2010 中拥有一个空项目 我的意思不是空的解决方案 而是解决方案中的空项目 基本上我有一个包含多个项目的解决方案 并且我想添加一个项目来跟踪一些静态文件 这些静态文件是解决方案的一部
  • 如何获取 Azure SendGrid api 密钥?

    我已按照以下说明进行操作如何使用 SendGrid 和 Azure 发送电子邮件 https learn microsoft com en us azure app service web sendgrid dotnet how to se
  • CXF 2.2.12:如何关闭客户端的架构验证

    我想关闭 JAXB 绑定消息的模式验证 我正在处理客户端 CXF 代码 WSDL 第一代 我尝试过使用
  • 2018 年用 C++ 处理 Unicode 的正确方法是什么?

    我尝试过搜索 stackoverflow 来找到这个问题的答案 但我发现的问题和答案都在10岁由于变化和可能的进展 我似乎无法就该主题达成共识 我知道除了 stl 之外还有几个库应该处理 unicode http userguide icu
  • 防止 bitbucket-pipelines.yml 更新时触发 bitbucket 管道

    我是位桶管道的新手 我已经添加到我的节点项目bitbucket pipelines yml在管道中 我有一个步骤是构建容器并将其推送到 ECR 另一个步骤是部署 现在 每次我对 bitbucket pipelines yml 进行更改时 它
  • 特别是在 Android Q Pixel 3 和 3 XL 设备上的 BufferQueueProducer 问题。模拟器工作正常

    我正在使用表面纹理视图来显示视频 这些视频显示在轮播中 轮播本质上是一个视图寻呼机 我已经尝试过释放表面上的表面视图被破坏 但没有帮助 重写 fun onSurfaceTextureDestroyed surface SurfaceText
  • 如何从java字符串中删除无效的unicode字符

    我正在使用CoreNLP 神经网络依存解析器 http nlp stanford edu software lex parser shtml Download解析一些社交媒体内容 不幸的是 该文件包含的字符 根据文件格式信息 http ww
  • 如何在 Swift 3 中使 UITableView 清晰(透明)

    我该怎么做这个UITableView在 Swift 3 中它的单元格是清晰的 我已经浏览了之前的线程 但仍然得到白色背景 正如您从我的代码中看到的 我尝试了提到的各种方法 override func viewDidLoad self com
  • ValueError:样本大于从图中选择样本的总体

    我正在尝试从图中随机选择 n 个样本 为此 我使用 random sample 函数创建一个名为 X 的列表 如下所示 X random sample range graph ecount numPosSamples 问题是 当 numPo
  • 更改powershell命令颜色

    如何更改 powershell 中的命令颜色 目前它是黄色的 当我使用嵌套在 Intellij 中的 powershell 时 我无法读取白色背景上的黄色命令 关于 LotPings 的回答 我解决了我的问题 powershell 中的以下
  • 在项目反应器中包装阻塞 I/O

    我有一个 spring webflux API 它在服务层需要从使用 JDBC 的现有存储库中读取 在阅读了有关该主题的一些内容后 我希望将阻塞数据库调用的执行与其余非阻塞异步代码分开 我定义了一个专用的jdbcScheduler Bean
  • 从 S3 存储桶中的文件夹中删除文件

    我有一个 AWS S3 存储桶test bucket with a data文件夹 数据文件夹将包含多个文件 我可以删除 S3 存储桶中的文件 但我想要的是删除其中的文件data文件夹 而不删除该文件夹 我尝试了以下方法 aws s3 rm
  • 尝试调用 ShellExecute 来运行 Mysql 和 sql 脚本

    我一直在尝试在 Delphi 应用程序中使用 ShellExecute 打开 Mysql 并运行脚本 ShellExecute Handle open PWideChar InpCommandProgram text PWideChar c
  • Asp.Net MVC - 所有控制器的通用数据

    设置 使用 Asp Net MVC 2 RC 实体框架 SQL Server VS2008 我和我的朋友正在开发一个项目 该项目将有不同的领域指向它 我们希望从请求中获取域 网站 并使用它来驱动数据 该网站数据需要成为所有控制器的一部分 前
  • Ionic Android 构建:java.lang.IllegalStateException:未指定 buildToolsVersion

    从今天起 不知何故 我的离子项目由于某种原因不再能够构建 我已经尝试删除该平台并再次添加 但没有成功 我现在几乎花了三个时间来升级 降级和重新安装 cordova 和 ionic 但由于某种原因 当我尝试构建 Android 版本时 我总是