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:
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:
SDK Environment
Build Environment
# 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
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.
Install Platform Tools
Install essential platform tools (adb, fastboot): sdkmanager "platform-tools"
Install Build Tools
Install the latest build tools: sdkmanager "build-tools;34.0.0"
Replace 34.0.0 with your desired version.
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:
Package Description Command Platform Tools adb, fastboot sdkmanager "platform-tools"Build Tools aapt, aapt2, d8, zipalign sdkmanager "build-tools;34.0.0"Android Platform android.jar for compilation sdkmanager "platforms;android-34"
Optional Packages
Package Description Command Sources Android source code sdkmanager "sources;android-34"Docs Android API documentation sdkmanager "docs"Extras Google 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
Use Prebuilt Libraries
Cloud Build
Remote Development
If your app needs native code, use prebuilt .so libraries:
Build on a Computer with Android NDK installed
Copy .so files to your Android Code Studio project
Include in project :
app/src/main/jniLibs/
├── arm64-v8a/
│ └── libnative.so
├── armeabi-v7a/
│ └── libnative.so
The Android build system will package these libraries automatically. Use cloud-based build services:
GitHub Actions - Build with NDK in CI/CD
GitLab CI - Remote build pipeline
Cloud Build Services - Third-party services
Example GitHub Actions workflow: name : Build with NDK
on : [ push ]
jobs :
build :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v3
- name : Setup NDK
uses : nttld/setup-ndk@v1
with :
ndk-version : r25c
- name : Build
run : ./gradlew assembleRelease
Connect to a remote development server:
Set up a Linux server/VM with Android SDK/NDK
Use SSH to connect from Android Code Studio terminal
Build remotely and transfer APK back
# On Android device
ssh user@build-server
cd project
./gradlew assembleRelease
exit
# Copy APK back
scp user@build-server:project/app/build/outputs/apk/release/app-release.apk .
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
# Verify adb
adb version
# List connected devices
adb devices
# Check build tools
ls -la $ANDROID_HOME /build-tools/
# 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"
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:
Verify Environment Variables
echo $ANDROID_HOME
echo $ANDROID_SDK_ROOT
Both should point to: /data/data/com.tom.rv2ide/files/home/android-sdk
Check local.properties
Should contain: sdk.dir=/data/data/com.tom.rv2ide/files/home/android-sdk
Verify SDK Installation
ls -la $ANDROID_HOME
sdkmanager --list_installed
Restart IDE
Close and reopen Android Code Studio to refresh environment variables
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.