Android SDK Platform 26 license error in Ionic


#1

I’m trying to run my Ionic 3 project on my Android device with ionic cordova run android --device --stacktrace, but, I’ve the following output:

Checking the license for package Android SDK Platform 26 in
C:\Android\android-sdk\licenses Warning: License for package Android
SDK Platform 26 not accepted.

FAILURE: Build failed with an exception.

  • What went wrong: A problem occurred configuring root project ‘android’.

You have not accepted the license agreements of the following SDK components: [Android SDK Platform 26]. Before building your project,
you need to accept the license agreements and complete the
installation of the missing components using the Android Studio SDK
Manager. Alternatively, to learn how to transfer the license
agreements from one workstation to another, go to
http://d.android.com/r/studio-ui/export-licenses.html

Reading other questions, people suggested using the Android Studio SDK manager and installing the latest versions, because then I would be asked about the licenses and would have to accept them, so I installed Android 8.0 (Oreo) and Android API 27 which are the last available updates, however, at no time was I asked about any license and the error persisted. My device is connected to the PC (Windows 10) via the USB cable and the programmer mode is enabled along with USB debugging. What can I do to resolve this?

My SDK manager:

My SDK manager

I already ran the command sdkmanager --licenses in the C:\Android\sdk\tools\bin and C:\Users\User\AppData\Local\Android\sdk\tools\bin folders and all the missing licenses were accepted, but the error continues.

My cordova-android version in package.json: "cordova-android": "~6.3.0" and in config.xml: <engine name="android" spec="~6.3.0" /> (already tried with 6.3.0 and 6.2.0 without success)

Following the error:

Checking the license for package Android SDK Platform 26 in
C:\Android\android-sdk\licenses Warning: License for package Android
SDK Platform 26 not accepted.

But I don’t have the licenses folder in C:\Android\android-sdk, just in C:\Android\sdk. How I do for Ionic check for the folder where the licenses really are?

ionic info:

cli packages: (C:\Users\User\AppData\Roaming\npm\node_modules)

    @ionic/cli-utils  : 1.19.0
    ionic (Ionic CLI) : 3.19.0

global packages:

    cordova (Cordova CLI) : 7.1.0

local packages:

    @ionic/app-scripts : 3.1.0
    Cordova Platforms  : none
    Ionic Framework    : ionic-angular 3.9.2

System:

    Node : v6.11.2
    npm  : 3.10.10
    OS   : Windows 10

Environment Variables:

    ANDROID_HOME : C:\Android\android-sdk

Misc:

    backend : pro

#2

Why are there no Cordova platforms being listed here?


#3

I don’t know. I’ve Android, iOS and Browser in the platforms folder, and there are in package.json:

"cordova-android": "~6.3.0",
"cordova-browser": "~5.0.1",
"cordova-ios": "~4.5.4"

#4

Solved! Reading the information on the page http://tools.android.com/tech-docs/new-build-system/license:

If you have accepted the license agreements on one workstation, but
wish to build your projects on a different one, you can export your
licenses by copying the accepted licenses folder from the Android Sdk
Home folder

So I just went to C:\Android\sdk and copied the licenses folder to the C:\Android\android-sdk folder which was where Ionic was searching for the licenses.


#5

Great. Just a nitpick: Ionic doesn’t care about Android licences, that is Cordova.