web-dev-qa-db-fra.com

Ionic Android build: Java.lang.IllegalStateException: buildToolsVersion n'est pas spécifié)

Depuis aujourd'hui, mon projet ionic n'est plus en mesure de construire pour une raison quelconque. J'ai déjà essayé de supprimer la plate-forme et de l'ajouter à nouveau, mais cela n'a pas fonctionné. J'ai maintenant presque passé trois la nôtre avec la mise à niveau, la rétrogradation et la réinstallation de cordova et ionic mais pour une raison quelconque, j'obtiens toujours l'erreur suivante lorsque j'essaie de créer la version Android version:

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.

J'ai déjà essayé de définir la buildToolsVersion dans le config.xml mais sans succès. Quelqu'un a-t-il déjà eu le même problème?

15
Lukas

Je l'ai compris, le problème était dû à une entrée config.xml mal configurée:

<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}">...

Que nous utilisons pour notre configuration Jenkins. Malheureusement, le message d'erreur était assez déroutant.

Mettre à jour la version corrigée:

<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

J'étais confronté à ce problème. Le problème était que mon chemin Android_HOME pointait vers Android Studio. Je l'ai changé pour pointer vers mon dossier Android SDK et le problème a été résolu).

  1. Vérifiez votre Android_HOME:

echo $ Android_HOME

  1. Il doit pointer vers le dossier Android SDK:

export Android_HOME = "votre-dossier-Android-sdk"

J'ai eu le même problème. Je l'ai corrigé comme suit: -

Ouvrez Android configuration studio.

Allez dans config> SDK Manager> SDK Android> SDK Tools et installez Android SDK Build-Tools.

Vérifiez la variable Android_HOME. Je suis sur mac, donc il pointe vers "/ Users/nom_utilisateur/Library/Android/sdk /"

S'il n'est pas réglé correctement, définissez-le comme suit: -

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

Maintenant, reconstruisez-le et cela devrait fonctionner correctement.

PS: Obtenir Android sdk en installant Android Studio est fortement recommandé que d'installer le sdk vous éviterez ainsi des problèmes inutiles.

3
Mav55

J'ai résolu ce problème en enregistrant le build.gradle et/ou le build-extras.gradle avec les terminaisons de ligne Unix (LF). Votre Android-versionCode ne devrait avoir rien à voir avec la version de build de votre Android sdk ...

1
pkmelee337