Can't accept license agreement Android SDK Platform 24
Asked Answered
G

33

124

I'm getting the following error when trying to install an android platform on a Cordova project. I've been following this guide: https://cordova.apache.org/docs/en/latest/guide/cli/

Error occurs when executing the following: $ cordova platform add android --save

A problem occurred configuring root project 'android'. You have not accepted the license agreements of the following SDK components: [Android SDK Platform 24].

I've searched all over for ways to accept the license agreement of Android SDK Platform 24, but no real luck.

Glary answered 2/11, 2016 at 15:6 Comment(3)
for windows, Open SDK Manager with Administrator access. Deselect all, Find SDK Platform 24, check that, install. There you can accept the license.Defendant
for me the problem was having installed android-sdk from multiple places (brew, brew cask and android-studio) and not calling the appropriate sdkmanager --licenses commandIsogloss
Possible duplicate of Automatically accept all SDK licencesPopish
U
172

You can also just execute

$ANDROID_HOME/tools/bin/sdkmanager --licenses

Or for Windows execute

%ANDROID_HOME%/tools/bin/sdkmanager --licenses

-- OR --

C:\Users{your-username}\AppData\Local\Android\sdk\tools\bin\sdkmanager --licenses

(credit for windows command to @puneet-kumar)

Unipersonal answered 17/7, 2017 at 8:54 Comment(8)
On Mac, the sdk is in /Library/Android/Riproaring
Worked great for android 26 and 27 as well. Had the same issue but it happened when my cordova updated gradle from 4.0 to 4.1Montagnard
@PuneetKumar this command is not working for me. i have sdkmanager.bat file in tools/bin folderTrinhtrini
in linux -- bash: /tools/bin/sdkmanager: No such file or directorySurgeonfish
Do you have a way of executing that non-interactively?Casework
None of the command line stuff worked for me on Windows, but going to Tools -> SDK and downloading another SDK prompts you to accept licenses.Steppe
yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses should be noninteractive.Unfriended
In case you installed the SDK via your package manager (like me on Arch), $ANDROID_HOME might be owned by root. My quick workaround was to run sudo …/sdkmanager --licenses, instead of chown'ing the whole folder.Spurry
V
166

I'm not exactly sure how cordova works, but once the licenses are accepted it creates a file. You could create that file manually. It is described on this question, but here's the commands to create the required license file.

Linux:

mkdir "$ANDROID_HOME/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"

Windows:

mkdir "%ANDROID_HOME%\licenses"
echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"
Voltmeter answered 2/11, 2016 at 15:13 Comment(13)
Hey Mike, from what directory what I execute those commands? Thanks!Glary
Working directory shouldn't matter, as long as the $ANDROID_SDK environment variable is defined. This may also be $ANDROID_HOME. One of those should be defined; It is the location of the android SDK. You can type 'printenv' and search through the defined variables to find it. Or just 'echo $ANDROID_HOME' to see if it's set. This is assuming linux... windows you would reference the environment variables by %ANDROID_SDK% instead of $ANDROID_SDK.Voltmeter
Along with the error Cordova will echo the path to ANDROID_HOME (in case you can't find it)! If ANDROID_HOME is not set you can set it manually like this set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk" and the execute the above commands.Intine
Using Android Studio and installing Android version 24 fixed this issue for me.Nodose
Despite sdk build tools 24 installed. my issue was not resolved on mac machine. Solved this by manually creating licences folder and file android-sdk-license as explained aboveNegrete
I also tried installing from the SDK manager and it did not resolve the issue. Mike's solution did.Filiano
Works great. One thing I noticed is that I apparently have 2 different versions of the SDK on my machine, so when I'd accept the license of one, my ANDROID_HOME was the other. So this fixes it, but the problem is a bit deeper and needs to be fixed, too.Pigeonwing
Looks like another UID is needed for platform and build-tools: d56f5187479451eabf01fb78af6dfcb131a6481e. 8933bad161af4178b1185d1a37fbf41ea5269c55 still works for Google Repository and Android Support Repository.Homeostasis
I've tried everything, but for me it is still not working.Strongminded
I get permission denied (even with sudo). If I try to execute the command with sudo su, then it says >file or directory not found.Pronate
Strange, I suppose you don't have write permission to the directory. Try "sudo chmod -R 777 %ANDROID_HOME%\licenses"Voltmeter
@Voltmeter its showing me: mkdir: cannot create directory ‘/licenses’: Permission deniedSurgeonfish
open cmd as administratorStoltzfus
F
58

I had this problem on Mac OS X 10.12.1 with Cordova 6.4.0 and Android Studio 2.2.3.

When I installed Android Studio it installed Platform 25, but not 24. To install 24:

  • Open Android Studio.
  • Open Android Studio Menu > Preferences.
  • Appearance & Behavior > System Settings > Android SDK
  • Tick the box for Android 7.0 (Nougat) | 24
  • Click ok and follow the instructions.
Fuss answered 23/12, 2016 at 2:3 Comment(3)
Note: don't forget to adjust android version to SDK platform missingRumelia
I did this, but I probably could've saved a bit of time by clicking "Show Package Details" and selecting only the SDK, rather than installing Google APIs and Source as well.Melisamelisande
Weeks has passed since my last build. re-building my app again I experienced the same issue above but solves it after doing this solution.Massive
C
31

The simplest way to solve this issue is to accept the licenses using the following command:

Windows OS:

C:\Users\{your-username}\AppData\Local\Android\sdk\tools\bin\sdkmanager --licenses

You will be presented with disclaimers. In order to continue your development efforts, you need to answer 'y' to all disclaimers.

Coplanar answered 4/11, 2017 at 23:15 Comment(1)
Man I wish this solution worked. Command runs fine but doesn't fix the error.Stowaway
T
27

I had exactly the same problem. Then i installed "Android 7.0 (API 24) > SDK Platform" and it worked.

enter image description here

Talyah answered 1/12, 2016 at 6:38 Comment(0)
G
27

Go to Android\sdk\tools\bin

None of the above solutions worked for me and finally this single line accepted all android licences.

yes | sdkmanager --licenses && sdkmanager --update
Glycosuria answered 3/8, 2017 at 4:15 Comment(2)
If windows users are getting an error. Try sdkmanager --licenses && sdkmanager --update and accept the licenses manually.Outgroup
For macOs user go to /Users/USERNAME/Library/Android/sdk/tools/bin and yes | ./sdkmanager --licenses. and ./sdkmanager --help to know more.Lehmann
P
17

In my case I don't use the Android studio (I am using eclipse). I did the following step: Solved just by running the command

android-sdks/tools/bin$ ./sdkmanager --update

Which created a licenses directory and added a file called android-sdk-license inside it.

Then you can run (licenses option is not available unless you did the step above)

android-sdks/tools/bin$ ./sdkmanager --licenses

and accept the license (however, in my case I didn't need to do that)

Pease answered 16/6, 2017 at 23:23 Comment(1)
I can confirm that this answer works perfectly with the standalone Android SDK Manager, thanks.Acklin
I
13

I had the issue. You do not need to copy or to create any folder, just be careful of your SDK path. It must be the same of the environnement variable (ANDROID_HOME), which wasn't the same for me. I don't know why.

sdk location

Implosive answered 22/12, 2016 at 9:10 Comment(0)
S
9

I installed android sdk build-tools 24(it's current version 24.0.3) through SDK manager. Path to open SDK manager is shown in img file attached. This solved my problem SDK Manager

Stich answered 20/11, 2016 at 7:14 Comment(3)
I don't see an attached image, but this worked for me too. There's a button in Android Studio for SDK Manager, and then you can open a standalone SDK manager which will let you pretty easily download all the android 24 stuffKelleykelli
Again I faced same issue when installing using cordova build in another pc with windows 7 os. This time I had build tools 24 already installed. So followed steps mentioned by Feyyaz below. That is installing Android 7.0 (API 24) and worked. So I feel latest cordova greater than 6 version needs API 24 with build tool 24 or higher version. But I didn't found any documentation for this on their website.Stich
on MacOS and Linux the SDK manager is at $ANDROID_HOME/tools/androidSilsbye
S
7

I had the Android SDK by installing the Android Studio and got this error too. There's a simple solution from the user guide.

  1. On a machine with Android Studio installed, click Tools > Android > SDK Manager. At the top of the window, note the Android SDK Location.

  2. Navigate to that directory and locate the licenses/ directory inside it.

    (If you do not see a licenses/ directory, return to Android Studio and update your SDK tools, making sure to accept the license agreements. When you return to the Android SDK home directory, you should now see the directory.)

  3. Copy the entire licenses/ directory and paste it into the Android SDK home directory on the machine where you wish to build your projects.

Sternson answered 11/12, 2016 at 16:57 Comment(0)
H
7

This error can come if the system is not picking up the ANDROID_HOME environmental variable from the proper path. Make sure you have installed the Android SDK and have set the ANDROID_HOME variable properly to the appropriate path as in the below image:

ANDROID_HOME_PATH

If the ANDROID_HOME variable is not defined, the system tries to pick the path from a default path(this might not be the path where the Android SDK is defined, leading to this issue).

Holdall answered 8/1, 2017 at 12:54 Comment(0)
M
6

Prerequisites

Answer

  • Go to C:\Users\{user}\AppData\Local\Android\sdk\tools\bin (Your android SDK Tools folder)

  • Run sdkmanager --licenses

  • It'll ask you to accept whatever the agreements remaining to be accepted. you'll just have to type "y" and enter.

  • Will solve the issue

Mussulman answered 16/7, 2017 at 1:37 Comment(3)
Tthis is also great if you have a build server that has to auto download sdk's.Foret
I Tried that and I get Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCli. Ideas?Pronate
This might be helpful #40718987. you can try run './SdkManagerCli' inside /sdklib/tools folder.Mussulman
E
5

I am using Mac and I resolved it using this command:

$ which sdkmanager
/usr/local/bin/sdkmanager
$ /usr/local/bin/sdkmanager --licenses
Warning: File /Users/user/.android/repositories.cfg could not be loaded.
6 of 6 SDK package licenses not accepted.
Review licenses that have not been accepted (y/N)? y

Then I had a list of 6 licenses to accept and its resolved after that.

Exalted answered 13/3, 2018 at 20:35 Comment(0)
G
4

It is because by default at the time of this writing , Ionic CLI tool is defaulted to

<preference name="android-targetSdkVersion" value="LATEST_SDK_VERSION"/> 

That is the reason why it complains that you did not accept license agreement , but in reality you did not install the SDK packages for that API Level yet alone accept the license.

So what you need to do is either

  1. Change Your target SDK version
  2. Install latest SDK API level from SDK Manager

Changing your SDK version

You can do it manually and even verify it by running

ionic cordova platform add android 

the file can be found at your-awesome-app/config.xml open it and add this line , since its hidden as stated above

<preference name="android-targetSdkVersion" value="24"/>

If you are not sure which API LEVEL Number you are targeting open SDK Manager and look at the API levels (Numbers) available on your machine

Installing Latest SDK Package

You can add the current SDK Packages which the CLI is showing , Which in your case it is 24

Run SDK MANAGER as Admin

Run SDK Manager as Admin

Install the SDK API Packages which you are targeting

Thats where the SDK API level are written

Gidgetgie answered 2/6, 2017 at 8:39 Comment(1)
Adding targetSdkVersion to config.xml file fixed my problem. Thank you :)Allness
F
4

In my case (Dockerfile script to build an Android CI container - https://github.com/menny/docker_android), I had to do these steps:

mkdir ~/.android && touch ~/.android/repositories.cfg
yes | sdkmanager --licenses
sdkmanager "build-tools;26.0.0"
sdkmanager "platform-tools" "tools"
sdkmanager "platforms;android-26" "platforms;android-25" "platforms;android-24"
.....
sdkmanager --update
yes | sdkmanager --licenses

Two notes:

  1. Had to create an empty repositories.cfg file or sdkmanager would die.
  2. Had to perform the fetching/installing of packages in different calls, since there is no progress indication.
Fresher answered 18/6, 2017 at 17:34 Comment(0)
T
4

You can also follow the "official" way. Run "sdkmanager --licenses" within tools/bin folder of Android SDK installation and accept all licenses. Done!

c:\android-sdk\tools\bin>sdkmanager --licenses

For macOS or Linux it's the same command.

Talented answered 9/9, 2018 at 17:31 Comment(0)
F
3

It needs a latest stable sdk-platform installed. I installed SDK-Platform from API 25. It fixed my problem.See Screenshot below

Flabellate answered 8/7, 2017 at 10:38 Comment(0)
D
3

I had to update the android sdk

android update sdk --no-ui

at some point it will ask you for license agreement, press y. After that you need to remove the angular platform.

Deviant answered 14/8, 2017 at 14:42 Comment(0)
B
3
  1. Go to Android SDK location

C:\Users\username\AppData\Local\Android\sdk\tools\bin

  1. Run command sdkmanager --licenses

  2. Accept the licence for SDK

Bragi answered 2/3, 2018 at 10:35 Comment(1)
The same info has been posted multiple times already. How does yours improve on the existing answers?Overcharge
E
2

This issue is surfacing when already an old version of SDK Manager is in the machine from where the approach of Android build is Changed which requires "android studio". I faced this in Visual Studio that was repeatedly halted with Error Message, "You have not accepted the License for version 25". The solution for this is "Install the Android Studio" and then "go to Environment Variables" and set the ANDROID_HOME to "C:\Users\\AppData\Local\Android\Sdk" (This path can be picked from Android Studio, Menu >> Tools >> SDK Manager. Also use the same in "path" of Environment Variables. This way, the new SDK manager is mapped for pickup by Visual Studio Build for Cordova Application.

This just took my 2 days effort second time

Wish others don't waste their time in this mess.

Equanimity answered 24/12, 2017 at 1:57 Comment(0)
H
1

Changing the target build might work as referenced here

If you want to specify the SDK version you can do so by adding the following line to your config.xml in the root of your ionic / cordova project

<preference name="android-targetSdkVersion" value="23"/>
Hypostyle answered 30/5, 2017 at 14:8 Comment(0)
P
1

you need to manually re-install sdk this help me: https://forum.ionicframework.com/t/you-have-not-accepted-the-license-agreements-of-the-following-sdk-component/69570/6

"android update sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository"

Pinhead answered 1/6, 2017 at 16:7 Comment(0)
D
1

Hope this will work for someone out there
I was facing the same issue! I had 2 sdks, named as sdk and sdk1. It was default linked to sdk but the working one was sdk1. So I went to Environment Varaible and added ANDROID_HOME and path of the sdk1, i.e. in my case was C:\Users\tripa_000\AppData\Local\Android\sdk1 , and it solved my problem!

Devaughn answered 21/9, 2017 at 11:58 Comment(0)
E
0

For me I was Building the Ionic using "ionic build android" command and I was getting the same problem! The solution was simply

  • To install the required sdk
  • Run the same command in CMD must be as administrater
Edger answered 20/3, 2017 at 13:44 Comment(0)
S
0

I just ran into this issue, and what solved it for me on windows, you are using command line, and you recently installed the android sdk, you must restart Command Prompt or Power Shell after you install the android sdk.

Sheena answered 23/3, 2017 at 2:12 Comment(0)
T
0

Mike's answer works.But need to put the generated license under C:\Users\user\AppData\Local\Android\sdk\licenses.

Tour answered 16/6, 2017 at 10:0 Comment(0)
C
0

its mean miss match Android SDK version of cordova with the version you installed. For an example cordova support Android SDK 24 but you don't have Android sdk 24. it may be reverse.

Carolincarolina answered 10/7, 2017 at 19:55 Comment(0)
R
0

This will update your android SDK and accept the license in the same time (ex for Android 25):

android update sdk --no-ui --filter build-tools-25.0.0,android-25,extra-android-m2repository

Raymond answered 5/9, 2017 at 12:13 Comment(0)
F
0

The problem for me was that my ANDROID_HOME variable was being set to another installation I forgot existed. If this is your problem, delete the old installation.

Fasces answered 9/9, 2017 at 17:5 Comment(0)
E
0

install Android 7 - Platform 24 Full in android sdk manager

just it

Emaciation answered 23/11, 2017 at 14:14 Comment(0)
B
0

If you want to avoid creating the licence folder manually, and in case your sdk is not in the "Users/User" you can go to android studio => Configure => SDK Manager and install any component, i installed the google usb driver from the sdk tools, it automatically generated the license in the correct location.

Biota answered 25/9, 2018 at 20:48 Comment(0)
D
0

For those who still have this issue, make sur the Android API of the target version is installed. Check it from the SDK Manager.

Then from the tools/bin folder, you can run sdkmanager --licenses

Debate answered 18/9, 2022 at 1:46 Comment(0)
B
0

Macbook with an M1 chip
Sonoma 14.4.1

I tried to install Android Studio Iguana 2023.2.1 Patch 2, which as far as I could tell was the latest version, and the installation wizard presented me with a license agreement, and after I clicked on Accept, nothing happened: the wizard wouldn't let me continue.

It turns out, there is actually more than one license agreement, which you have to Accept in order to continue with the installation. On the left hand side of the license agreement is a menu, and if you click on the second major heading in the menu, once again you will be given the option to Accept a license agreement. After you Accept the second license agreement, the wizard will let you continue.

I found the explanation of how to get past the license agreement in this video:

https://www.youtube.com/watch?v=8ILww0tUSxw

Befit answered 19/4 at 19:33 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.