Search code examples
androidnode.jscordovanpm

cordova fails on running a project - No installed build tools found - compileSdkVersion is not specified


I created a new cordova project but it doesn't start. I followed the steps described bellow:

Creating the project:

PS D:\MyProjects> npm install -g cordova
PS D:\MyProjects> cordova create mycordova

Adding the platforms:

PS D:\MyProjects> cd mycordova
PS D:\MyProjects\mycordova> cordova platform add browser
PS D:\MyProjects\mycordova> cordova platform add android

Setting up the environment:

PS D:\MyProjects\mycordova> $env:JAVA_HOME="C:\Program Files\Java\jdk8"
PS D:\MyProjects\mycordova> $env:ANDROID_SDK_ROOT="C:\Program Files\Android\Android Studio"
PS D:\MyProjects\mycordova> $env:GRADLE="C:\Gradle\gradle-7.0"
PS D:\MyProjects\mycordova> $env:SDKTOOLS="C:\Users\robin\AppData\Local\Android\Sdk\tools"
PS D:\MyProjects\mycordova> $env:PLATFORMTOOLS="C:\Users\robin\AppData\Local\Android\Sdk\platform-tools"
PS D:\MyProjects\mycordova> set-item -path env:path -value ($env:JAVA_HOME + "\bin;" + $env:ANDROID_SDK_ROOT + "\bin;" + $env:GRADLE + "\bin;" + $env:SDKTOOLS + ";" + $env:SDKTOOLS + "\bin;" + $env:PLATFORMTOOLS + ";" + $env:path)

Verifying prerequisites:

PS D:\MyProjects\mycordova> cordova requirements

Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-30,android-29
Gradle: installed C:\Gradle\gradle-7.0\bin\gradle.BAT

Requirements check results for browser:

Running the project and the results:

PS D:\MyProjects\mycordova> cordova run android
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=C:\Program Files\Android\Android Studio (recommended setting)
ANDROID_HOME=undefined (DEPRECATED)
Using Android SDK: C:\Program Files\Android\Android Studio
Subproject Path: CordovaLib
Subproject Path: app

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* Where:
Script 'D:\MyProjects\mycordova\platforms\android\CordovaLib\cordova.gradle' line: 64

* What went wrong:
A problem occurred evaluating project ':app'.
> No installed build tools found. Install the Android build tools version 19.1.0 or higher.

* 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.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
A problem occurred configuring project ':app'.
> compileSdkVersion is not specified. Please add it to build.gradle

* 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 2s
Command failed with exit code 1: D:\MyProjects\mycordova\platforms\android\gradlew cdvBuildDebug -b D:\MyProjects\mycordova\platforms\android\build.gradle

NPM version is 6.14.2 and NODE version is 14.16.1. On Windows 10.

Can you help me discovering why the project doesn't start?


Solution

  • Found a solution changing from

    $env:ANDROID_SDK_ROOT="C:\Program Files\Android\Android Studio"
    

    to

    $env:ANDROID_SDK_ROOT="C:\Users\robin\AppData\Local\Android\Sdk"
    

    Adding

    $env:BUILDTOOLS="C:\Users\robin\AppData\Local\Android\Sdk\build-tools"
    

    and changing from

    set-item -path env:path -value ($env:JAVA_HOME + "\bin;" + $env:ANDROID_SDK_ROOT + "\bin;" + $env:GRADLE + "\bin;" + $env:SDKTOOLS + ";" + $env:SDKTOOLS + "\bin;" + $env:PLATFORMTOOLS + ";" + $env:path)
    

    to

    set-item -path env:path -value ($env:JAVA_HOME + "\bin;" + $env:GRADLE + "\bin;" + $env:SDKTOOLS + ";" + $env:SDKTOOLS + "\bin;" + $env:PLATFORMTOOLS + ";" + $env:BUILDTOOLS + ";" + $env:PATH)