web-dev-qa-db-ja.com

Ionic Android build:Java.lang.IllegalStateException:buildToolsVersionが指定されていません

今日以来、どういうわけか私のionicプロジェクトは何らかの理由でビルドできなくなりました。すでにプラットフォームを削除して再度追加しようとしましたが、うまくいきませんでした。 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を設定しようとしましたが、成功しませんでした。誰も以前に同じ問題を抱えていましたか?

15
Lukas

私はそれを理解しました、問題は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">...
21
Lukas

私はこの問題に直面していました。問題は、Android_HOMEパスがAndroid St​​udioのフォルダーを指していることでした。 Android SDKフォルダを指すように変更し、問題を解決しました。

  1. Android_HOMEを確認します。

echo $ Android_HOME

  1. Android SDKフォルダーを指す必要があります。

export Android_HOME = "your-Android-sdk-folder"

同じ問題がありました。次のように修正しました:-

Open Androidスタジオ設定。

Config> SDK Manager> Android SDK> SDK Toolsに移動して、Android SDK Build-Toolsをインストールします。

Android_HOME変数を確認してください。私はMacにいるので、「/ Users/user_name/Library/Android/sdk /」を指します

正しく設定されていない場合は、次のように設定してください。

export Android_HOME = "/ Users/user_name/Library/Android/sdk /"

ここでもう一度ビルドすると、正常に動作するはずです。

PS:Getting Android sdk Android Studioは、sdkをインストールするよりも強くお勧めしますこの方法では、不必要なトラブルが発生することはありません。

3
Mav55

この問題は、build.gradleおよび/またはbuild-extras.gradleをUnix(LF)の行末で保存することで解決しました。Android-versionCodeは、Android SDKのbuildversionとは関係ありません。 。

1
pkmelee337