How to install Android SDK on Ubuntu?

313,204

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.

./studio.sh popup

From now onwards, setup wizard will guide you.

Android studio setup wizard

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

Select Android studio install type

Verify installation settings

Verify Android studio installation settings

An emulator can also be configured as needed.

Android studio emulator configuration prompt

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

Completed installation of Android studio

To make a Desktop icon, go to 'Configure' and then click 'Create Desktop Entry'

Creating Android studio desktop icon

Creating Android studio desktop icon for one or multiple users

source

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

Android SDK Manager

Get it from the Snap Store

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

Share:
313,204
Zameer Ansari
Author by

Zameer Ansari

Updated on August 04, 2021

Comments

  • Zameer Ansari
    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
    Niklas Rosencrantz over 6 years
    Not working if you import settings from old version. AS is broken that way.
  • Zameer Ansari
    Zameer Ansari over 6 years
    @NiklasRosencrantz We did not tried importing settings so can't say anything about it.
  • Niklas Rosencrantz
    Niklas Rosencrantz over 6 years
    It worked when I just closed the old project that was imported from AS 2.3.
  • Frank Haubenreisser
    Frank Haubenreisser almost 6 years
    This will only work for Ubuntu 18.04, which was released in April 2018. packages.ubuntu.com/…
  • RicardoE
    RicardoE almost 6 years
    says I need to accept the licence... I have no idea how to do this :C
  • Erik Aronesty
    Erik Aronesty almost 6 years
    @FrankHaubenreisser 16.0.4 is fine packages.ubuntu.com/xenial/android-sdk
  • MacroMan
    MacroMan almost 6 years
    @ErikAronesty The package doesn't leave you with a working SDK < 18.04
  • Newbie
    Newbie over 5 years
    How to accept license? there's no sdkmanager and android files.
  • David Robson
    David Robson about 5 years
    Java 8 can be installed instead. Line 3: sudo apt-get install oracle-java8-installer oracle-java8-set-default
  • David Robson
    David Robson about 5 years
    The export JAVA_OPTS=.... caused an error when running sdkmanager : "Error: Could not find or load main class java.se.ee". Removing it fixed the issue.
  • thekucays
    thekucays about 5 years
    where will the sdk be placed btw?
  • MacroMan
    MacroMan about 5 years
    @thekucays Mine went into /usr/lib/android-sdk/ on Ubuntu 18.04
  • Dustin Hansen
    Dustin Hansen about 5 years
    Absolutely nowhere else mentions the sdk-tools download. Thank you!
  • Pratik Singhal
    Pratik Singhal about 5 years
    what is the install location of Android SDK, if we use the option 1 ?
  • Zameer Ansari
    Zameer Ansari about 5 years
    @PratikSinghal Mostly this /home/AccountName/Android/Sdk
  • Sean Francis N. Ballais
    Sean Francis N. Ballais about 5 years
    In case this would prove useful to anyone passing by, if you do not want to include export JAVA_OPTS=... for some reason (like sdkmanager 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 run sdkmanager.
  • questionasker
    questionasker almost 5 years
    @student i use option 1 but cant find it in /home/accountname any idea ?
  • ch271828n
    ch271828n almost 5 years
    Also cannot find the sdk by using option1
  • Zameer Ansari
    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
    Otto over 4 years
  • Scorb
    Scorb over 4 years
    Does installing from the ubuntu repository give you an old version of the sdk?
  • Sharcoux
    Sharcoux about 4 years
    For Ubuntu, with option 1, I found the sdk there: /usr/lib/android-sdk
  • Sharcoux
    Sharcoux about 4 years
    sudo apt install android-sdk put the sdk into /usr/lib/android-sdk
  • Eyad Mohammed Osama
    Eyad Mohammed Osama over 3 years
    As for Kali, using the command in option 1 has downloaded the SDK at /usr/share/android-sdk
  • durka42
    durka42 almost 3 years
    This seems very incomplete; sdkmanager is missing so we cannot install any components or platforms.
  • taiyodayo
    taiyodayo over 2 years
    for 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
    Sriram Arvind Lakshmanakumar about 2 years
    stackoverflow.com/questions/65262340/… if anybody has error while accepting the licenses.
  • PlasmaBinturong
    PlasmaBinturong about 2 years
    It seems that the current folder name for the "tools" should be cmdline-tools/latest now.