How to install Android SDK on Ubuntu?
Solution 1
Option 1:
sudo apt update && sudo apt install android-sdk
The location of Android SDK on Linux can be any of the following:
-
/home/AccountName/Android/Sdk
-
/usr/lib/android-sdk
-
/Library/Android/sdk/
-
/Users/[USER]/Library/Android/sdk
Option 2:
-
Download the Android Studio.
-
Extract downloaded
.zip
file.The extracted folder name will read somewhat like android-studio
To keep navigation easy, move this folder to Home directory.
-
After moving, copy the moved folder by right clicking it. This action will place folder's location to clipboard.
-
Use Ctrl Alt T to open a terminal
-
Go to this folder's directory using
cd /home/(USER NAME)/android-studio/bin/
-
Type this command to make
studio.sh
executable:chmod +x studio.sh
-
Type
./studio.sh
A pop up will be shown asking for installation settings. In my particular case, it is a fresh install so I'll go with selecting I do not have a previous version of Studio or I do not want to import my settings.
If you choose to import settings anyway, you may need to close any old project which is opened in order to get a working Android SDK.
From now onwards, setup wizard will guide you.
Android Studio can work with both Open JDK and Oracle's JDK (recommended). Incase, Open JDK is installed the wizard will recommend installing Oracle Java JDK because some UI and performance issues are reported while using OpenJDK.
The downside with Oracle's JDK is that it won't update with the rest of your system like OpenJDK will.
The wizard may also prompt about the input problems with IDEA .
Select install type
Verify installation settings
An emulator can also be configured as needed.
The wizard will start downloading the necessary SDK tools
The wizard may also show an error about Linux 32 Bit Libraries, which can be solved by using the below command:
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1
After this, all the required components will be downloaded and installed automatically.
After everything is upto the mark, just click finish
To make a Desktop icon, go to 'Configure' and then click 'Create Desktop Entry'
Solution 2
To install it on a Debian based system simply do
# Install latest JDK
sudo apt install default-jdk
# install unzip if not installed yet
sudo apt install unzip
# get latest sdk tools - link will change. go to https://developer.android.com/studio/#downloads to get the latest one
cd ~
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
# unpack archive
unzip sdk-tools-linux-4333796.zip
rm sdk-tools-linux-4333796.zip
mkdir android-sdk
mv tools android-sdk/tools
Then add the Android SDK to your PATH, open ~/.bashrc
in editor and add the following lines into the file
# Export the Android SDK path
export ANDROID_HOME=$HOME/android-sdk
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
# Fixes sdkmanager error with java versions higher than java 8
export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
Run
source ~/.bashrc
Show all available sdk packages
sdkmanager --list
Identify latest android platform (here it's 28) and run
sdkmanager "platform-tools" "platforms;android-28"
Now you have adb, fastboot and the latest sdk tools installed
Solution 3
sudo snap install androidsdk
Usage
You can use the sdkmanager to perform the following tasks.
List installed and available packages
androidsdk --list [options]
Install packages
androidsdk packages [options]
The packages argument is an SDK-style path as shown with the --list command, wrapped in quotes (for example, "build-tools;29.0.0" or "platforms;android-28"). You can pass multiple package paths, separated with a space, but they must each be wrapped in their own set of quotes.
For example, here's how to install the latest platform tools (which includes adb and fastboot) and the SDK tools for API level 28:
androidsdk "platform-tools" "platforms;android-28"
Alternatively, you can pass a text file that specifies all packages:
androidsdk --package_file=package_file [options]
The package_file argument is the location of a text file in which each line is an SDK-style path of a package to install (without quotes).
To uninstall, simply add the --uninstall flag:
androidsdk --uninstall packages [options]
androidsdk --uninstall --package_file=package_file [options]
Update all installed packages
androidsdk --update [options]
Note
androidsdk it is snap wraper of sdkmanager all options of sdkmanager work with androidsdk
Location of installed android sdk files : /home/user/AndroidSDK
See all sdkmanager options in google documentation
Solution 4
There is no need to download any binaries or files or follow difficult installation instructions.
All you really needed to do is:
sudo apt update && sudo apt install android-sdk
Update: Ubuntu 18.04 only
Solution 5
I can tell you the steps for installing purely via command line from scratch. I tested it on Ubuntu on 22 Feb 2021.
create sdk folder
export ANDROID_SDK_ROOT=/usr/lib/android-sdk
sudo mkdir -p $ANDROID_SDK_ROOT
install openjdk
sudo apt-get install openjdk-8-jdk
download android sdk
Go to https://developer.android.com/studio/index.html Then down to Command line tools only Click on Linux link, accept the agreement and instead of downloading right click and copy link address
cd $ANDROID_SDK_ROOT
sudo wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
sudo unzip commandlinetools-linux-6858069_latest.zip
move folders
Rename the unpacked directory from cmdline-tools to tools, and place it under $ANDROID_SDK_ROOT/cmdline-tools, so now it should look like: $ANDROID_SDK_ROOT/cmdline-tools/tools. And inside it, you should have: NOTICE.txt bin lib source.properties.
set path
PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin
This had no effect for me, hence the next step
browse to sdkmanager
cd $ANDROID_SDK_ROOT/cmdline-tools/tools/bin
accept licenses
yes | sudo sdkmanager --licenses
create build
Finally, run this inside your project
chmod 777 gradlew
sudo ./gradlew assembleDebug
This creates an APK named -debug.apk at //build/outputs/apk/debug The file is already signed with the debug key and aligned with zipalign, so you can immediately install it on a device.
REFERENCES
https://gist.github.com/guipmourao/3e7edc951b043f6de30ca15a5cc2be40
Android Command line tools sdkmanager always shows: Warning: Could not create settings
"Failed to install the following Android SDK packages as some licences have not been accepted" error
https://developer.android.com/studio/build/building-cmdline#sign_cmdline
Zameer Ansari
Updated on August 04, 2021Comments
-
Zameer Ansari almost 3 years
For my Ubuntu machine, I downloaded the latest version of Android SDK from this page.
After extracting the downloaded
.tgz
file, I was trying to search for installation instructions and found:To get started on Linux:
Unpack the .zip file you've downloaded. The SDK files are download separately to a user-specified directory.
Make a note of the name and location of the SDK directory on your system—you will need to refer to the SDK directory later when using the SDK tools from the command line.
What exactly are we supposed to do?
-
Niklas Rosencrantz over 6 yearsNot working if you import settings from old version. AS is broken that way.
-
Zameer Ansari over 6 years@NiklasRosencrantz We did not tried importing settings so can't say anything about it.
-
Niklas Rosencrantz over 6 yearsIt worked when I just closed the old project that was imported from AS 2.3.
-
Frank Haubenreisser almost 6 yearsThis will only work for Ubuntu 18.04, which was released in April 2018. packages.ubuntu.com/…
-
RicardoE almost 6 yearssays I need to accept the licence... I have no idea how to do this :C
-
Erik Aronesty almost 6 years@FrankHaubenreisser 16.0.4 is fine packages.ubuntu.com/xenial/android-sdk
-
MacroMan almost 6 years@ErikAronesty The package doesn't leave you with a working SDK < 18.04
-
Newbie over 5 yearsHow to accept license? there's no sdkmanager and android files.
-
David Robson about 5 yearsJava 8 can be installed instead. Line 3:
sudo apt-get install oracle-java8-installer oracle-java8-set-default
-
David Robson about 5 yearsThe
export JAVA_OPTS=....
caused an error when runningsdkmanager
: "Error: Could not find or load main class java.se.ee". Removing it fixed the issue. -
thekucays about 5 yearswhere will the sdk be placed btw?
-
MacroMan about 5 years@thekucays Mine went into /usr/lib/android-sdk/ on Ubuntu 18.04
-
Dustin Hansen about 5 yearsAbsolutely nowhere else mentions the sdk-tools download. Thank you!
-
Pratik Singhal about 5 yearswhat is the install location of Android SDK, if we use the option 1 ?
-
Zameer Ansari about 5 years@PratikSinghal Mostly this
/home/AccountName/Android/Sdk
-
Sean Francis N. Ballais about 5 yearsIn case this would prove useful to anyone passing by, if you do not want to include
export JAVA_OPTS=...
for some reason (likesdkmanager
still failing even with it in the startup files, e.g..bashrc
and.zshrc
, already, which happened to me in my other machine), you could use SDKman to install different versions of Java and use Java 8 only when you runsdkmanager
. -
questionasker almost 5 years@student i use option 1 but cant find it in
/home/accountname
any idea ? -
ch271828n almost 5 yearsAlso cannot find the sdk by using option1
-
Zameer Ansari almost 5 years@fzyzcjy @anunixercoder I changed my machine and use Mac now - these locations apply to Mac
/home/AccountName/Android/Sdk
/usr/lib/android-sdk
/Library/Android/sdk/
/Users/[USER]/Library/Android/sdk
-
Otto over 4 years
-
Scorb over 4 yearsDoes installing from the ubuntu repository give you an old version of the sdk?
-
Sharcoux about 4 yearsFor Ubuntu, with option 1, I found the sdk there: /usr/lib/android-sdk
-
Sharcoux about 4 years
sudo apt install android-sdk
put the sdk into/usr/lib/android-sdk
-
Eyad Mohammed Osama over 3 yearsAs for Kali, using the command in option 1 has downloaded the SDK at
/usr/share/android-sdk
-
durka42 almost 3 yearsThis seems very incomplete;
sdkmanager
is missing so we cannot install any components or platforms. -
taiyodayo over 2 yearsfor Ubuntu21.04 snap package works beautifully! for flutter development, complete this with
flutter config --android-sdk ~/AndroidSDK; androidsdk "platform-tools" "platforms;android-32" "build-tools;30.0.3" "cmdline-tools;latest"
-
Sriram Arvind Lakshmanakumar about 2 yearsstackoverflow.com/questions/65262340/… if anybody has error while accepting the licenses.
-
PlasmaBinturong about 2 yearsIt seems that the current folder name for the "tools" should be
cmdline-tools/latest
now.