Skip to content

Instantly share code, notes, and snippets.

@jjvillavicencio
Last active July 3, 2024 13:16
Show Gist options
  • Save jjvillavicencio/18feb09f0e93e017a861678bc638dcb0 to your computer and use it in GitHub Desktop.
Save jjvillavicencio/18feb09f0e93e017a861678bc638dcb0 to your computer and use it in GitHub Desktop.
Install Android SDK on Windows Bash (WSL)
cd /home/<user>/
sudo apt-get install unzip
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip sdk-tools-linux-4333796.zip -d Android
rm sdk-tools-linux-4333796.zip
sudo apt-get install -y lib32z1 openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
printf "\n\nexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport PATH=\$PATH:\$JAVA_HOME/bin" >> ~/.bashrc
cd Android/tools/bin
./sdkmanager "platform-tools" "platforms;android-26" "build-tools;26.0.3"
export ANDROID_HOME=/home/<user>/Android
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
printf "\n\nexport ANDROID_HOME=/home/<user>/Android\nexport PATH=\$PATH:\$ANDROID_HOME/tools\nexport PATH=\$PATH:\$ANDROID_HOME/platform-tools" >> ~/.bashrc
android update sdk --no-ui
sudo apt-get install gradle
gradle -v
adb start-server
@b6873
Copy link

b6873 commented Jul 31, 2021

i'm pool and we need a moneys please help me i'm myanmar please help My country😭

@unicornlab-brylleg
Copy link

unicornlab-brylleg commented Aug 6, 2021

Thank you all for this! My version of the scripts after looking into all the comments...

sudo apt-get update
cd
sudo apt-get install unzip zip
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip sdk-tools-linux-4333796.zip -d Android
rm sdk-tools-linux-4333796.zip
sudo apt-get install -y lib32z1 openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
printf "\n\nexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport PATH=\$PATH:\$JAVA_HOME/bin" >> ~/.bashrc
cd Android/tools/bin
### check latest platform and build-tools versions (29, 29.0.2)
./sdkmanager --install "platform-tools" "platforms;android-29" "build-tools;29.0.2"
export ANDROID_HOME=~/Android
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
printf "\n\nexport ANDROID_HOME=~/Android\nexport PATH=\$PATH:\$ANDROID_HOME/tools\nexport PATH=\$PATH:\$ANDROID_HOME/platform-tools" >> ~/.bashrc
./sdkmanager --update
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
### check latest grade version
sdk install gradle 5.5.1
gradle -v

### run "adb start-server" in powershell

@juanmartinez-viamericas
Copy link

juanmartinez-viamericas commented Aug 10, 2021

Excellent script thanks for sharing. I think you can update it by replacing /home/<user>/ with $HOME. Example:

export ANDROID_HOME="$HOME/Android"

And ANDROID_HOME environment variable was deprecated. It's recommended write as:

export ANDROID_HOME="$HOME/Android"
export ANDROID_SDK_ROOT="$ANDROID_SDK_ROOT"

@luiscarbonell
Copy link

THIS WORKS!!!! FINALLY!!!

lol

Jokes aside, I tried 6+ different things which led to dozens of StackOverflow Questions, GitHub Threads, etc. and all of them failed except this beautiful gem!

@jjvillavicencio Thank you! (Gracias!) @unicornlab-brylleg Thank you for the update!

@rizkysyazuli
Copy link

is this "sdk-tools-linux-4333796.zip" thing the latest version? anyone knows where to check?

@LuizTM
Copy link

LuizTM commented Nov 21, 2021

no @rizkysyazuli, the last version is "commandlinetools-linux-7302050_latest.zip", you can check how install here too:
https://gist.github.com/jason-s-yu/30375db45c1f71c1259e042d216e4bd3

@5p0ng3b0b
Copy link

Remove all paths with spaces in WSL by adding this line in /etc/profile
PATH=$(echo $PATH | sed 's|:/mnt/[a-z]/[a-z_]*\?/\?[A-Za-z]* [A-Za-z]* \?[A-Za-z]*\?[^:]*||g')
There are other tools such as buildroot that do not work when there are spaces in PATH.

@iago-silva
Copy link

Wonderful!

@ma-za-kpe
Copy link

So, after successfully installing, how do you resolve references while interacting with the code?

@agapiospanos
Copy link

agapiospanos commented Sep 25, 2022

You can easily replace <user> with $USER in the script. That will make things easier since we don't have to replace the any more... It will automatically get the current user ;)

@Dominique-Sakrisson
Copy link

This worked flawlessly thank you so much!

@brahmanandan
Copy link

Thank you, was useful!

@amorimcode
Copy link

java 11 version?

@nullset2
Copy link

nullset2 commented Jan 2, 2023

You can easily replace <user> with $USER in the script. That will make things easier since we don't have to replace the any more... It will automatically get the current user ;)

+1000000

Also, the android call on L16 can be changed to sdkmanager, since android as a command is deprecated

@yvmuogsedoz58122
Copy link

Thank you so much!!!

@Kousthubh02
Copy link

i am getting this error
image

@5p0ng3b0b
Copy link

5p0ng3b0b commented Mar 20, 2024

@Kousthubh02
/usr/bin/java is a symlink. I get the following:

ls -l $(which java)
lrwxrwxrwx 1 root root 22 Jan 28 23:07 /usr/bin/java -> /etc/alternatives/java
ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 43 Jan 28 23:07 /etc/alternatives/java -> /usr/lib/jvm/java-17-openjdk-amd64/bin/java
echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk-amd64

what does echo $JAVA_HOME give you?
You may need to add export JAVA_HOME=\path\to\java\install\location to your ~/.bashrc file and add export PATH=\path\to\java\install\location\bin;"$PATH" as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment