Skip to main content
Android Code Studio includes built-in support for managing Android SDK and NDK through the terminal. Learn how to install, configure, and use these essential Android development tools.

Overview

The Android SDK and NDK are essential for Android app development:
  • Android SDK - Platform tools, build tools, and Android platform libraries
  • Android NDK - Native development kit for C/C++ code
Android Code Studio uses the command-line SDK manager (sdkmanager) accessible through the built-in terminal.

SDK Installation Location

The Android SDK is installed at:
$HOME/android-sdk
Full path example:
/data/data/com.tom.rv2ide/files/home/android-sdk/

SDK Directory Structure

android-sdk/
├── build-tools/          # Build tools (aapt, aapt2, dx, d8)
├── cmdline-tools/        # SDK command-line tools
├── platforms/            # Android platform JARs
│   ├── android-33/
│   ├── android-34/
│   └── android-35/
├── platform-tools/       # adb, fastboot
├── sources/             # Android source code
├── emulator/            # (Not supported on Android)
└── ndk/                 # NDK installations (special requirements)

Environment Variables

The IDE automatically sets the following Android SDK environment variables:
# Android SDK root directory
export ANDROID_HOME="$HOME/android-sdk"
export ANDROID_SDK_ROOT="$HOME/android-sdk"

# Android user configuration
export ANDROID_USER_HOME="$HOME/.android"

# Path additions
export PATH="$ANDROID_HOME/platform-tools:$PATH"
export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH"

Installing SDK Components

Android Code Studio does not include SDK components by default. You must install them manually using the SDK manager.

Initial SDK Setup

1

Install SDK Command-Line Tools

First, install the command-line tools package:
# Create SDK directory
mkdir -p $HOME/android-sdk
cd $HOME/android-sdk

# Download command-line tools
# Visit: https://developer.android.com/studio#command-line-tools-only
# Download the Linux version and extract to android-sdk/cmdline-tools/
Download the command-line tools on a computer and transfer to your device, or use a browser on your Android device.
2

Install Platform Tools

Install essential platform tools (adb, fastboot):
sdkmanager "platform-tools"
3

Install Build Tools

Install the latest build tools:
sdkmanager "build-tools;34.0.0"
Replace 34.0.0 with your desired version.
4

Install Android Platform

Install Android platform SDK for your target API level:
# Android 14 (API 34)
sdkmanager "platforms;android-34"

# Android 13 (API 33)
sdkmanager "platforms;android-33"

Using SDK Manager

The sdkmanager tool is your primary interface for managing SDK components.

List Available Packages

# List all available packages
sdkmanager --list

# List installed packages only
sdkmanager --list_installed

Install Packages

# Install specific packages
sdkmanager "package-name"

# Install multiple packages
sdkmanager "platforms;android-34" "build-tools;34.0.0" "platform-tools"

# Accept all licenses
yes | sdkmanager --licenses

Update Packages

# Update all installed packages
sdkmanager --update

# Update specific packages
sdkmanager "platform-tools" "build-tools;34.0.0"

Uninstall Packages

# Uninstall a package
sdkmanager --uninstall "package-name"

# Example: Uninstall old build tools
sdkmanager --uninstall "build-tools;33.0.0"

Common SDK Packages

Essential Packages

These packages are required for most Android development:
PackageDescriptionCommand
Platform Toolsadb, fastbootsdkmanager "platform-tools"
Build Toolsaapt, aapt2, d8, zipalignsdkmanager "build-tools;34.0.0"
Android Platformandroid.jar for compilationsdkmanager "platforms;android-34"

Optional Packages

PackageDescriptionCommand
SourcesAndroid source codesdkmanager "sources;android-34"
DocsAndroid API documentationsdkmanager "docs"
ExtrasGoogle Play Services, etc.Various

Example Installation Commands

# Complete SDK setup for API 34
sdkmanager "platform-tools" \
  "build-tools;34.0.0" \
  "platforms;android-34" \
  "sources;android-34"

# Setup for multiple API levels
sdkmanager "platforms;android-33" \
  "platforms;android-34" \
  "platforms;android-35" \
  "build-tools;34.0.0"

NDK Installation

Important NDK Limitation: The Android NDK contains native binaries compiled for x86/x86_64 architectures. These binaries cannot run on Android devices (ARM/ARM64 architecture).

Why NDK Doesn’t Work

The NDK includes tools like:
  • clang - C/C++ compiler
  • lld - Linker
  • llvm-ar - Archive utility
These are native Linux x86_64 binaries that cannot execute on Android’s ARM architecture.

Alternative Approaches

If your app needs native code, use prebuilt .so libraries:
  1. Build on a Computer with Android NDK installed
  2. Copy .so files to your Android Code Studio project
  3. Include in project:
    app/src/main/jniLibs/
    ├── arm64-v8a/
    │   └── libnative.so
    ├── armeabi-v7a/
    │   └── libnative.so
    
The Android build system will package these libraries automatically.

Verifying Installation

Check SDK Installation

# Verify environment variables
echo $ANDROID_HOME
echo $ANDROID_SDK_ROOT

# Check SDK directory
ls -la $ANDROID_HOME

# List installed packages
sdkmanager --list_installed

Check Platform Tools

# Verify adb
adb version

# List connected devices
adb devices

# Check build tools
ls -la $ANDROID_HOME/build-tools/

Check Platform JARs

# List installed platforms
ls -la $ANDROID_HOME/platforms/

# Verify android.jar exists
ls -la $ANDROID_HOME/platforms/android-34/android.jar

SDK Configuration in Projects

compileSdkVersion

Set in app/build.gradle:
android {
    compileSdkVersion 34
    
    defaultConfig {
        targetSdkVersion 34
        minSdkVersion 21
    }
}
Ensure the corresponding platform is installed:
sdkmanager "platforms;android-34"

Build Tools Version

Specify build tools version:
android {
    buildToolsVersion "34.0.0"
}
Or let AGP auto-select the latest:
android {
    // buildToolsVersion not specified - uses latest
}

local.properties

The IDE automatically generates local.properties with SDK location:
sdk.dir=/data/data/com.tom.rv2ide/files/home/android-sdk
This file is auto-generated. Do not manually edit it.

Troubleshooting

SDK Not Found

If Gradle can’t find the Android SDK:
1

Verify Environment Variables

echo $ANDROID_HOME
echo $ANDROID_SDK_ROOT
Both should point to: /data/data/com.tom.rv2ide/files/home/android-sdk
2

Check local.properties

cat local.properties
Should contain: sdk.dir=/data/data/com.tom.rv2ide/files/home/android-sdk
3

Verify SDK Installation

ls -la $ANDROID_HOME
sdkmanager --list_installed
4

Restart IDE

Close and reopen Android Code Studio to refresh environment variables

Platform/Build Tools Not Found

If build fails with missing platform or build tools:
# Check what's installed
sdkmanager --list_installed

# Install missing components
sdkmanager "platforms;android-34"
sdkmanager "build-tools;34.0.0"

# Clean and rebuild
./gradlew clean build

License Errors

If build fails due to license acceptance:
# Accept all SDK licenses
yes | sdkmanager --licenses

# Or manually accept
sdkmanager --licenses

Permission Errors

If you get permission errors:
# Fix SDK directory permissions
chmod -R 755 $ANDROID_HOME

# Fix specific tools
chmod +x $ANDROID_HOME/platform-tools/*
chmod +x $ANDROID_HOME/build-tools/*/aapt*

SDK Maintenance

Regular Updates

Keep your SDK components updated:
# Update all components
sdkmanager --update

# Check for updates without installing
sdkmanager --list | grep -i "update available"

Clean Up Old Versions

Remove old SDK components to save space:
# List installed versions
sdkmanager --list_installed

# Uninstall old build tools
sdkmanager --uninstall "build-tools;33.0.0"

# Uninstall old platforms
sdkmanager --uninstall "platforms;android-32"

Check Disk Usage

# Check SDK size
du -sh $ANDROID_HOME

# Check individual components
du -sh $ANDROID_HOME/*/

Best Practices

Keep Essential Versions Only - Only install SDK platforms you actively develop for to save storage space.
Use Latest Build Tools - Always use the latest stable build tools version for best compatibility and bug fixes.
Accept Licenses Early - Run sdkmanager --licenses after initial setup to avoid build errors.
Regular Updates - Run sdkmanager --update periodically to get latest patches and improvements.
Storage Management - Android devices have limited storage. Monitor SDK size and remove unused components regularly.

Build docs developers (and LLMs) love