3
votes

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

Update:

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
10
Update your node js, ionic,npm,android/ios version..Madpop
@igor what is the version of the cordova-androidThe Blue Shirt Developer
Following the instructions in this question solved the problem for me.Phonolog
@Igor Go to your $ANDROID_HOME/tools/bin in command prompt and try executing the command - "./sdkmanager --licenses". Then accept All licenses listed there.Gandhi
@Webruster "cordova-android": "~6.3.0"Igor

10 Answers

22
votes

In SDK folder you have to run under command prompt.

...\sdk\tools\bin

Enter this command

sdkmanager "platforms;android-26"
5
votes

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.

Thanks to all who have somehow tried to help.

1
votes

Check your cordova-android version . Try to run with the cordova-android version 6.2.3 .

if the above solution doesn't work follow this process.

  1. Download android studio SDK Manager

  2. Download the SDK for version 26.

    https://developer.android.com/studio/intro/update.html

Update

based on your Update you are adding the version in your package.json as follows

"cordova-android": "~6.3.0" so change this to following format as follows "cordova-android": "6.3.0" Reference to the Issue

Note if the above format doesn't work for the 6.3.0 , try the same with the 6.2.0 as follows "cordova-android": "6.2.0"

0
votes

In my case, using Visual Studio + Cordova, this case was solved by copying "licenses" folder from your %ANDROID_HOME% folder to "C:\ProgramData\Microsoft\AndroidSDK\25", VS took licenses from there.

0
votes

Go to the android sdk folder, copy the licenses folder from there, and paste the folder to the path below:

C:\Users\intel\AppData\Local\Android\Sdk
0
votes

After I installed version which was asked for licenses - it started to work! You can do this in Android Studio > SDK Manager

0
votes

@Paresh Gami's answer helped resolve mine. Just a side note for Mac OSX user..

the full path is /Users/useraccount/Library/Android/sdk/tools/bin/

where useraccount is your current system user.

0
votes

os : windows 7 (64 bit)

you can accept SDK lic agreement using blow command :

goto the "C:\Users{user_name}\AppData\Local\Android\sdk\tools\bin"

Execute command : sdkmanager "platforms;android-xx"

node : xx is the version

0
votes

I did tried above mention tricks, what works for me on Mac OS is below

$ANDROID_HOME/tools/bin/sdkmanager "build-tools;26.0.1" "platforms;android-26"
0
votes

In latest SDK you can find sdkmanager file under this location

/Users/pareshgami/Library/Android/sdk/cmdline-tools/latest/bin/

after that we need to run same command

sdkmanager "platforms;android-26"