Reputation: 1278
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.
Upvotes: 124
Views: 191978
Reputation: 2053
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
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
Install the SDK API Packages which you are targeting
How did I know this? I did it this morning and that's how I solved it and now am playing Sticky Bubble on Android to relax a bit.
Happy Deploying!
Upvotes: 4
Reputation: 48599
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
Upvotes: 0
Reputation: 165
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
Upvotes: 0
Reputation: 737
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.
Upvotes: 13
Reputation: 959
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
Upvotes: 6
Reputation: 3949
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)
Upvotes: 172
Reputation: 487
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
Upvotes: 27
Reputation: 2302
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.
Upvotes: 0
Reputation: 245
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.
Upvotes: 4
Reputation: 9880
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.
Upvotes: 5
Reputation: 141
C:\Users\username\AppData\Local\Android\sdk\tools\bin
Run command sdkmanager --licenses
Accept the licence for SDK
Upvotes: 3
Reputation: 81
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.
Upvotes: 2
Reputation: 807
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.
Upvotes: 31
Reputation: 371
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!
Upvotes: 1
Reputation: 13799
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.
Upvotes: 0
Reputation: 81
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
Upvotes: 0
Reputation: 6060
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.
Upvotes: 3
Reputation: 743
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.
Upvotes: 0
Reputation: 3809
It needs a latest stable sdk-platform installed. I installed SDK-Platform from API 25. It fixed my problem.
Upvotes: 3
Reputation: 473
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:
repositories.cfg
file or sdkmanager
would die.Upvotes: 4
Reputation: 171
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)
Upvotes: 17
Reputation: 8213
Mike's answer works.But need to put the generated license under C:\Users\user\AppData\Local\Android\sdk\licenses.
Upvotes: 0
Reputation: 121
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"
Upvotes: 1
Reputation: 405
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"/>
Upvotes: 1
Reputation: 2417
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.
Upvotes: 0
Reputation: 1468
For me I was Building the Ionic using "ionic build android" command and I was getting the same problem! The solution was simply
Upvotes: 0
Reputation: 77
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:
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).
Upvotes: 7
Reputation: 4165
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:
Android Studio Menu > Preferences
.Appearance & Behavior > System Settings > Android SDK
Android 7.0 (Nougat) | 24
Upvotes: 58
Reputation: 2413
I had the Android SDK by installing the Android Studio and got this error too. There's a simple solution from the user guide.
On a machine with Android Studio installed, click Tools > Android > SDK Manager
. At the top of the window, note the Android SDK Location.
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.)
Copy the entire licenses/
directory and paste it into the Android SDK home directory
on the machine where you wish to build your projects.
Upvotes: 7