Related
Running flutter doctor gives me the "cmdline-tools component is missing" error, even though I installed Android SDK command-line tools in android studio, I also updated it and am sure it's the latest version. I've been searching for days for a solution to this and the only answer I can find anywhere is "Just install SDK Command-line tools in the Android studio SDK manager!" Which I clearly already did, and it still isn't working.
Images below to specify
The Flutter Doctor error
Showing I have Android SDK Command line installed
try updating your cmdline tools to latest version
sdkmanager.bat --update "cmdline-tools;latest"
type this command with in the cmdline-tools > bin path
or try
sdkmanager --update "cmdline-tools;latest"
this command in cmd
I am getting this error in jitpack, I've tried everything on the internet. Below is my error
Failed to install the following Android SDK packages as some licences have not been accepted.
platforms;android-26 Android SDK Platform 26
build-tools;28.0.3 Android SDK Build-Tools 28.0.3
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
And when i run ./sdkmanager --licenses
All SDK package licenses accepted.======] 100% Computing updates...
Using sudo with the above command gives
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 5 more
additional error log
File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.
I don't know why it's checking for licenses there when my sdk location is other
You need to accept the licences before building.
According to Android SDK docs you can use the following command depending on the sdkmanager location: Docs on --licenses option seems to be missing though.
yes | sdkmanager --licenses
GNU/Linux Distributions:
yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses
macOS:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
Windows:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
Flutter:
> flutter config --android-sdk 'path-of-android-sdk'(only for ubuntu user)
> flutter doctor --android-licenses
In Android Studio go to Tools -> SDK Manager.
Go to SDK Tools tab.
Select the Android SDK Command-line Tools (latest) and download by pressing Apply.
On Windows, you can find the sdkmanager.bat at
C:\Users\[your_user]\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
in Windows OS go to your sdkmanager path then execute
./sdkmanager.bat --licenses
You can find your sdkmanager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
OR
For those people not using android studio on window os. Go to your cmdline-tools\tool\bin and type cmd on the directory box to open the directory in your terminal. Then run sdkmanager --licenses
To find your actual android SDK path follow the red marked area of the below picture
If you are working with Flutter then this command would definitely work for you.
flutter doctor --android-licenses
Problem: SDK license not accepted
Step 1: Open SDK Manager
After opening the SDK manager, open the SDK tools tab as shown below
Step 2: Check the option Show Package Details
It'll list out all the versions of SDK tools
Step 3: Install the required SDK tool version
Check the specific version of SDK tools that is complaining (for me, it was 29.0.3 as shown above in the first screenshot) from the list, accept the agreement in the dialog that opens next and you're done.
MacOS Catalina
Step 1: Changing Android Studio Preference
Open-up your Android Studio
Press Command+, or go to top-left AppBar Android Studio > Preferences.
From Left Pane, select Appearance > System Settings > Android SDK
Select SDK Tools next to SDK Platforms and under Android SDK Location
Check mark Android SDK Command-line Tools (latest) and Press OK button.
Wait for installation to be finished
Step 2 (For Flutter Users):
Go to Terminal and run the following command
flutter doctor --android-licenses
Step 2 (For Android Users):
Go to the Terminal and run the following command
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
You can accept the license agreements of the stated SDKs by going to the SDK Manager (Settings > [Search for Android SDK]) then find the packages noted in the error message and find them there. Chances are, you'll find SDKs that are not fully installed and installing them will ask you to accept the license agreement.
use android-28 with build-tools at version 28.0.3; or build-tools at version 26.0.3.
or try this: yes | sudo sdkmanager --licenses
This works for me:
yes | ./sdkmanager "platforms;android-28"
yes | ./sdkmanager "build-tools;28.0.3"
yes | ./sdkmanager --licenses
For Android Studio Arctic Fox, it was solved for me by installing the Google Play Licensing Library.
Go to Preferences
Expand Appearance & Behavior
Then expand System Settings
Select Android SDK and go to SDK Tools tab
Install Google Play Licensing Library
If you are getting this error while using Flutter then please run the below command on command prompt.
flutter doctor --android-licenses
If you get below error after running the above command
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Then please do the below steps
Open android studio
Go to SDK manager
Click on SDK tools tab
Install Android SDK command line tool
Run flutter doctor --android-licenses again
In Android Studio go to: Tools > SDK Manager > SDK Tools
On the bottom right, check the "Show Package Details" box and download the version of sdk that you need:
Tried this on Android Studio and it worked for me:
Tools > SDK Manager (Make sure to check Show Packages below)
SDK Platforms > Show Packages > Android - 28
SDK Tools > Show Packages > 28.0.3
Appears to be a bug at the momment:
https://issuetracker.google.com/issues/123054726
Solution that worked for me:
Create a .travis.yml file in your project directory and copy these lines:
before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"
Reference:
https://github.com/square/RxIdler/pull/18/files
in Windows OS go to your sdkmanager path directory in cmd
You can find your sdkmanager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
then execute the followwing command:
sdkmanager --licenses
after that it will ask to accept license agreement several times then accept all by just typing y on cmd
This works for me in Windows 10:
C:
cd \Users\YOUR_USER\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
sdkmanager.bat --licenses
After, yes to all
On Mac OS 10.15.1, I got the same error even after accepted all the licenses by running sdkmanager --licenses It worked after I updated the ANDROID_HOME path configuration in the ~/.bash_profile to the following
export ANDROID_HOME=/Users/your_username/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/Library/Android/sdk/platform-tools
And reload the ~/.bash_profile
source ~/.bash_profile
I tried many solutions but didn't work for me.
The below solution works for me.
locate the sdkmanager file in android SDK.
In my case :
~/Android/Sdk/tools/bin
go to that path : cd ~/Android/Sdk/tools/bin
Accept licenses manually : ./sdkmanager --licenses
Enter Yes or y
If you are using flutter go with the following steps
1.open the command prompt
Then the following command
2.C:\Users\niroshan>flutter doctor
And you will see the issues as follows
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.22.2, on Microsoft Windows [Version 10.0.17763.1339], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
X Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (version 4.1.0)
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.50.1)
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
Actually what you have to run is the below command
C:\Users\niroshan>flutter doctor --android-licenses
https://www.youtube.com/watch?v=g789PvvW4qo really helped me. What had done is open SDK Manager and download any new SDK Platform (dont worry it wont affect your desired api level).
Because with downlaoding any SDK Platforms(API level), you should accept licences. That's the trick worked for me.
I had the same problem when trying to run an app on my android device in a different project where I was working with some old version of tomcat8 and had to set the JAVA_OPTS variable and value. So I removed this system variable for JAVA_OPTS, which had a Variable value set to -Xms1024m (Remove the JAVA_OPTS system variable, but you can also store it for future use if you need to revert to using your old projects that might need it).
Then run the SDK manager bat file in your sdk path:
PS C:\Users[your_pc_username]\AppData\Local\Android\Sdk\tools\bin> .\sdkmanager.bat --licenses
Accept all licenses (Y).
How I solve this problem (AndroidStudio 4.2)
Click in Build tab
Select Failed to install the following Android SDK packages ... (warning)
Click Install missing SDK package(s)
On Ubuntu it still didn't work using the answers suggested.
This is what worked for me:
cd full-path-to-bin folder, where sdkmanager is located.
yes | ./sdkmanager --licenses --sdk_root="full-path-to-bin"
In the option --help it shows we can pass common args to it, which finally accepted ALL licences:
Usage:
...
sdkmanager --licenses [<common args>]
...
Common Arguments:
--sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
To add to the answers, you can also change to the sdkmanager directory and in a sub shell and accept the licenses there
(
cd /home/user/android-sdk-linux/tools/bin
yes | ./sdkmanager --licenses
)
I just done File -> Invalidate caches and restart
Then install missing packages.
Worked for me.
On Windows:
Add USER Environment variables:
NOTE: Path should be appended
JAVA_HOME %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT %LocalAppData%\Android\Sdk
Path %LocalAppData%\Android\Sdk
Run the below command to accept licenses:
NOTE: Accept all licenses (say y)
%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
Now run your app:
(like below, or another command that failed for you):
cd \myapp\
react-native run-android
in my case I just installed a new version of android studio on a new laptop and cloned the old repository where
buildToolsVersion "30.0.2" at application level build.gradle.
I just upgraded to 30.0.3 which android studio recommended on its own and the problem went away
I moved my Sdks and Avds folder as it was using lots of memory in local disk c, but after that I got the above issue.
For me Invalidate Caches/Restart solve the issue
File->Invalidate Caches/Restart
In my case updating buildToolsVersion in app level build.gradle worked perfectly. If you don't know which to use you can create new project and copy buildToolsVersion from that into existing one.
A one liner solution with downgrade to java 8:
sudo apt-get install openjdk-8-jdk -y && export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 && flutter doctor --android-licenses
I am getting this error in jitpack, I've tried everything on the internet. Below is my error
Failed to install the following Android SDK packages as some licences have not been accepted.
platforms;android-26 Android SDK Platform 26
build-tools;28.0.3 Android SDK Build-Tools 28.0.3
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
And when i run ./sdkmanager --licenses
All SDK package licenses accepted.======] 100% Computing updates...
Using sudo with the above command gives
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 5 more
additional error log
File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.
I don't know why it's checking for licenses there when my sdk location is other
You need to accept the licences before building.
According to Android SDK docs you can use the following command depending on the sdkmanager location: Docs on --licenses option seems to be missing though.
yes | sdkmanager --licenses
GNU/Linux Distributions:
yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses
macOS:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
Windows:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
Flutter:
> flutter config --android-sdk 'path-of-android-sdk'(only for ubuntu user)
> flutter doctor --android-licenses
In Android Studio go to Tools -> SDK Manager.
Go to SDK Tools tab.
Select the Android SDK Command-line Tools (latest) and download by pressing Apply.
On Windows, you can find the sdkmanager.bat at
C:\Users\[your_user]\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
in Windows OS go to your sdkmanager path then execute
./sdkmanager.bat --licenses
You can find your sdkmanager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
OR
For those people not using android studio on window os. Go to your cmdline-tools\tool\bin and type cmd on the directory box to open the directory in your terminal. Then run sdkmanager --licenses
To find your actual android SDK path follow the red marked area of the below picture
If you are working with Flutter then this command would definitely work for you.
flutter doctor --android-licenses
Problem: SDK license not accepted
Step 1: Open SDK Manager
After opening the SDK manager, open the SDK tools tab as shown below
Step 2: Check the option Show Package Details
It'll list out all the versions of SDK tools
Step 3: Install the required SDK tool version
Check the specific version of SDK tools that is complaining (for me, it was 29.0.3 as shown above in the first screenshot) from the list, accept the agreement in the dialog that opens next and you're done.
MacOS Catalina
Step 1: Changing Android Studio Preference
Open-up your Android Studio
Press Command+, or go to top-left AppBar Android Studio > Preferences.
From Left Pane, select Appearance > System Settings > Android SDK
Select SDK Tools next to SDK Platforms and under Android SDK Location
Check mark Android SDK Command-line Tools (latest) and Press OK button.
Wait for installation to be finished
Step 2 (For Flutter Users):
Go to Terminal and run the following command
flutter doctor --android-licenses
Step 2 (For Android Users):
Go to the Terminal and run the following command
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
You can accept the license agreements of the stated SDKs by going to the SDK Manager (Settings > [Search for Android SDK]) then find the packages noted in the error message and find them there. Chances are, you'll find SDKs that are not fully installed and installing them will ask you to accept the license agreement.
use android-28 with build-tools at version 28.0.3; or build-tools at version 26.0.3.
or try this: yes | sudo sdkmanager --licenses
This works for me:
yes | ./sdkmanager "platforms;android-28"
yes | ./sdkmanager "build-tools;28.0.3"
yes | ./sdkmanager --licenses
For Android Studio Arctic Fox, it was solved for me by installing the Google Play Licensing Library.
Go to Preferences
Expand Appearance & Behavior
Then expand System Settings
Select Android SDK and go to SDK Tools tab
Install Google Play Licensing Library
If you are getting this error while using Flutter then please run the below command on command prompt.
flutter doctor --android-licenses
If you get below error after running the above command
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Then please do the below steps
Open android studio
Go to SDK manager
Click on SDK tools tab
Install Android SDK command line tool
Run flutter doctor --android-licenses again
In Android Studio go to: Tools > SDK Manager > SDK Tools
On the bottom right, check the "Show Package Details" box and download the version of sdk that you need:
Tried this on Android Studio and it worked for me:
Tools > SDK Manager (Make sure to check Show Packages below)
SDK Platforms > Show Packages > Android - 28
SDK Tools > Show Packages > 28.0.3
Appears to be a bug at the momment:
https://issuetracker.google.com/issues/123054726
Solution that worked for me:
Create a .travis.yml file in your project directory and copy these lines:
before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"
Reference:
https://github.com/square/RxIdler/pull/18/files
in Windows OS go to your sdkmanager path directory in cmd
You can find your sdkmanager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
then execute the followwing command:
sdkmanager --licenses
after that it will ask to accept license agreement several times then accept all by just typing y on cmd
This works for me in Windows 10:
C:
cd \Users\YOUR_USER\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
sdkmanager.bat --licenses
After, yes to all
On Mac OS 10.15.1, I got the same error even after accepted all the licenses by running sdkmanager --licenses It worked after I updated the ANDROID_HOME path configuration in the ~/.bash_profile to the following
export ANDROID_HOME=/Users/your_username/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/Library/Android/sdk/platform-tools
And reload the ~/.bash_profile
source ~/.bash_profile
I tried many solutions but didn't work for me.
The below solution works for me.
locate the sdkmanager file in android SDK.
In my case :
~/Android/Sdk/tools/bin
go to that path : cd ~/Android/Sdk/tools/bin
Accept licenses manually : ./sdkmanager --licenses
Enter Yes or y
If you are using flutter go with the following steps
1.open the command prompt
Then the following command
2.C:\Users\niroshan>flutter doctor
And you will see the issues as follows
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.22.2, on Microsoft Windows [Version 10.0.17763.1339], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
X Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (version 4.1.0)
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.50.1)
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
Actually what you have to run is the below command
C:\Users\niroshan>flutter doctor --android-licenses
https://www.youtube.com/watch?v=g789PvvW4qo really helped me. What had done is open SDK Manager and download any new SDK Platform (dont worry it wont affect your desired api level).
Because with downlaoding any SDK Platforms(API level), you should accept licences. That's the trick worked for me.
I had the same problem when trying to run an app on my android device in a different project where I was working with some old version of tomcat8 and had to set the JAVA_OPTS variable and value. So I removed this system variable for JAVA_OPTS, which had a Variable value set to -Xms1024m (Remove the JAVA_OPTS system variable, but you can also store it for future use if you need to revert to using your old projects that might need it).
Then run the SDK manager bat file in your sdk path:
PS C:\Users[your_pc_username]\AppData\Local\Android\Sdk\tools\bin> .\sdkmanager.bat --licenses
Accept all licenses (Y).
How I solve this problem (AndroidStudio 4.2)
Click in Build tab
Select Failed to install the following Android SDK packages ... (warning)
Click Install missing SDK package(s)
On Ubuntu it still didn't work using the answers suggested.
This is what worked for me:
cd full-path-to-bin folder, where sdkmanager is located.
yes | ./sdkmanager --licenses --sdk_root="full-path-to-bin"
In the option --help it shows we can pass common args to it, which finally accepted ALL licences:
Usage:
...
sdkmanager --licenses [<common args>]
...
Common Arguments:
--sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
To add to the answers, you can also change to the sdkmanager directory and in a sub shell and accept the licenses there
(
cd /home/user/android-sdk-linux/tools/bin
yes | ./sdkmanager --licenses
)
I just done File -> Invalidate caches and restart
Then install missing packages.
Worked for me.
On Windows:
Add USER Environment variables:
NOTE: Path should be appended
JAVA_HOME %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT %LocalAppData%\Android\Sdk
Path %LocalAppData%\Android\Sdk
Run the below command to accept licenses:
NOTE: Accept all licenses (say y)
%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
Now run your app:
(like below, or another command that failed for you):
cd \myapp\
react-native run-android
in my case I just installed a new version of android studio on a new laptop and cloned the old repository where
buildToolsVersion "30.0.2" at application level build.gradle.
I just upgraded to 30.0.3 which android studio recommended on its own and the problem went away
I moved my Sdks and Avds folder as it was using lots of memory in local disk c, but after that I got the above issue.
For me Invalidate Caches/Restart solve the issue
File->Invalidate Caches/Restart
In my case updating buildToolsVersion in app level build.gradle worked perfectly. If you don't know which to use you can create new project and copy buildToolsVersion from that into existing one.
A one liner solution with downgrade to java 8:
sudo apt-get install openjdk-8-jdk -y && export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 && flutter doctor --android-licenses
I was trying to install Android SDK with the help of the SDK command line tools downloaded from the link https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip on my Linux Ubuntu 16.04 PC.
i run the command following command for installation
./android update sdk
sudo ./android update sdk
but getting the this
error
how to solve this error ?or suggest me a proper way to install build tools.
FYI
and also i read that ~/.android should contain androidtool.cfg file which has below data in it.
http.proxyPort=proper_port
http.proxyHost=Proper_proxy_ip
sdkman.show.update.only=true
sdkman.ask.adb.restart=false
sdkman.force.http=true
It says that android script is deprecated, so you must use $ANDROID_HOME/tools/bin/sdkmanager --update for update all the installed packages, and $ANDROID_HOME/tools/bin/sdkmanager --list for see a list of installed, updates and available packages.
See more options at: https://developer.android.com/studio/command-line/sdkmanager.html or with $ANDROID_HOME/tools/bin/sdkmanager --help
$ANDROID_HOME refer to the location of your Android SDK. by example:
export ANDROID_HOME=$HOME/android/sdk
This question already has answers here:
Automatically accept all SDK licences
(63 answers)
Closed 5 years ago.
I downloaded the latest Android SDK tools version 24.4.1. I used the command line to install SDKs. I typed y when asked
Do you accept the license 'android-sdk-license-c81a61d9' [y/n]: y
after that install succeeded.
But when using Gradle 3.1 to build, the follows shows up
You have not accepted the license agreements of the following SDK components:
[Android SDK Platform 23, Android SDK Build-Tools 23.0.1].
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
I checked ~/.android and /opt/android-sdk where Android tools are put. Neither contain folder named licenses.
The way to accept license agreements from the command line has changed. You can use the SDK manager which is located at: $ANDROID_SDK_ROOT/tools/bin
e.g on linux:
cd ~/Library/Android/sdk/tools/bin/
Run the sdkmanager as follows:
./sdkmanager --licenses
e.g on Windows:
cd /d "%ANDROID_SDK_ROOT%/tools/bin"
Run the sdkmanager as follows:
sdkmanager --licenses
And accept the licenses you did not accept yet (but need to).
For more details see the Android Studio documentation, although the current documentation is missing any description on the --licenses option.
Warning
You might have two Android SDKs on your machine. Make sure to check both ~/Library/Android/sdk and /usr/local/share/android-sdk! If unsure, fully uninstall Android Studio from your machine and start with a clean slate.
Update: ANDROID_HOME is deprecated, ANDROID_SDK_ROOT is now the correct variable
You can install and accept the license of the SDK & tools via 2 ways:
1. Open the Android SDK Manager GUI via command line
Open the Android SDK manager via the command line using:
# Android SDK Tools 25.2.3 and lower - Open the Android SDK GUI via the command line
cd ~/Library/Android/sdk/tools && ./android
# 'Android SDK Tools' 25.2.3 and higher - `sdkmanager` is located in android_sdk/tools/bin/.
cd ~/Library/Android/sdk/tools/bin && ./sdkmanager
View more details on the new sdkmanager.
Select and install the required tools. (your location may be different)
2. Install and accept android license via command line:
Update the packages via command line, you'll be presented with the terms and conditions which you'll need to accept.
- Install or update to the latest version
This will install the latest platform-tools at the time you run it.
# Android SDK Tools 25.2.3 and lower. Install the latest `platform-tools` for android-25
android update sdk --no-ui --all --filter platform-tools,android-25,extra-android-m2repository
# Android SDK Tools 25.2.3 and higher
sdkmanager --update
- Install a specific version (25.0.1, 24.0.1, 23.0.1)
You can also install a specific version like so:
# Build Tools 23.0.1, 24.0.1, 25.0.1
android update sdk --no-ui --all --filter build-tools-25.0.1,android-25,extra-android-m2repository
android update sdk --no-ui --all --filter build-tools-24.0.1,android-24,extra-android-m2repository
android update sdk --no-ui --all --filter build-tools-23.0.1,android-23,extra-android-m2repository
# Alter the versions as required ↑ ↑
# -u --no-ui : Updates from command-line (does not display the GUI)
# -a --all : Includes all packages (such as obsolete and non-dependent ones.)
# -t --filter : A filter that limits the update to the specified types of
# packages in the form of a comma-separated list of
# [platform, system-image, tool, platform-tool, doc, sample,
# source]. This also accepts the identifiers returned by
# 'list sdk --extended'.
# List version and description of other available SDKs and tools
android list sdk --extended
sdkmanager --list
Go to your $ANDROID_HOME/tools/bin
and fire the cmd
./sdkmanager --licenses
Accept All licenses listed there.
After this just go to the licenses folder in sdk and check that it's having these five files:
android-sdk-license, android-googletv-license, android-sdk-preview-license, google-gdk-license, mips-android-sysimage-license
Give a retry and build again, still jenkins giving 'licenses not accepted' then you have to give full permission to your 'sdk' directory and all it's parent directories. Here is the command:
sudo chmod -R 777 /opt/
If you having sdk in /opt/ directory.
I have resolved the problem by using the command:
Go to: C:\Users\ [PC NAME] \AppData\Local\Android\sdk\tools\bin\ (If the folder is not available then download the Android SDK first, or
you can install it from the android studio installation process.)
Shift+Left click and Press W, then Enter to open CMD on the folder path
Type in the cmd: sdkmanager --licenses
Once press enter, you need to accept all the licenses by pressing y
Checking the licenses
Go to: C:\Users\ [PC NAME] \AppData\Local\Android\sdk\
Check the folder named licenses
android-googletv-license
android-sdk-license
android-sdk-preview-license
google-gdk-license
intel-android-extra-license
mips-android-sysimage-license
AS NEW UPDATE FOLDER PATH (Current Android Studio)
Open Android Studio, Tools > Sdk Manager > Android SDK Command-Line Tools (Just Opt-in)
SDKManager will be store in :
Go to C:\Users\ [PC NAME] \AppData\Local\Android\Sdk\cmdline-tools\latest\bin
Type in the cmd: sdkmanager --licenses
Documentation to using the Android SDK: https://developer.android.com/studio/command-line/sdkmanager.html
For Windows users w/o using Andoid Studio:
Go to the location of your sdkmanager.bat file. Per default it is at Android\sdk\tools\bin inside the %LOCALAPPDATA% folder.
Open a terminal window there by typing cmd into the title bar
Type
sdkmanager.bat --licenses
Accept all licenses with 'y'
Update for macOS Sierra 10.12.6 - Android Studio for Mac 2.3.3
Locate the sdkmanager file usually under:
/Users/YOUR_MAC_USER/Library/Android/sdk/tools/bin
./sdkmanager --licenses
Warning: File /Users/mtro.josevaler**strong text**io/.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
To validate the problem has gone just repeat the operation involved in the license issue.
I solved the problem by opening the Android SDK Manager and installing the SDK build tools for the version it is complaining about (API 24).
I had also updated using the command line previously and I suspect the Android SDK Manager has a more complete way of resolving dependencies, including the license.
Maybe I'm late, but this helped me accept SDK licenses for OSX,
If you have android SDK tools installed, run the following command
~/Library/Android/sdk/tools/bin/sdkmanager --licenses
Accept all licenses by pressing y
Voila! You have accepted SDK licenses and are good to go..
If you want to use the IDE to accept the license, I also found it easy to open up Android Studio and create a new basic project to trigger the license agreements. Once I created a project, the following licensing dialog was presented that I needed to agree to:
I documented fully the information in the following post: Accepting the Android SDK License via Android Studio
I had a similiar problem but ./sdkmanager --licenses didnt work. I follow this thread and "obladors" comment gave me the solution:
https://github.com/oblador/react-native-vector-icons/issues/527
What eventually solved my problem was:
Running ./sdkmanager "build-tools;23.0.1"
Change 23.0.1 with your version
You can accept the license agreement by launching Android Studio, then going to:
Help > Check for Updates...
When you are installing updates, it'll ask you to accept the license agreement. Accept the license agreement and install the updates, and you are all set.
I ran across this error when i ran cordova build android
I solved this issue by firing ./sdkmanager --licenses and accepting all the licenses.
You have a sdkmanager.bat under the android sdk folder in the path: android/sdk/tools/bin
To trigger that open a command prompt in android/sdk/tools/bin
type ./sdkmanager --licenses and enter
Press y to review all licenses and then press y to accept all licenses
In linux
1. Open a terminal
2. Write: "cd $ANDROID_HOME/tools/bin (this path can be /home/your-user/Android/Sdk/tools/bin)"
3. Write: "./sdkmanager --licenses"
4. To accept All licenses listed, write: "y"
5. Ready!
If your are building an app with Ionic Framework, just write again the command to build it.
If you are having this problem for a React Native app, in addition to above mentioned steps, make sure you have the local.properties file in the android directory(AppName/android) of your app which points to your 'sdk' directory:
sdk.dir=/PATH_TO_SDK/
I have resolved the issue by below steps:
update the android sdk with command "tools/android update sdk --no-ui"
got to android sdk folder on jenkins machines, create "licenses" folder
created file named "android-sdk-license" and paste the license from dev machine