Complete installation guide for the SkyRAT Android Security Testing Framework.
- Linux: Ubuntu 18.04+, Debian 10+, CentOS 7+, Arch Linux
- macOS: macOS 10.15+ (Catalina and newer)
- Windows: Windows 10/11 with WSL2 (recommended) or native
- RAM: Minimum 4GB, recommended 8GB+
- Storage: 5GB free space for SDK and tools
- Network: Internet connection for downloads and ngrok (optional)
- Python: 3.7 or higher
- Java: JDK 8 or higher (OpenJDK recommended)
- Git: For repository management
- pip3: Python package manager
# Clone repository
git clone https://github.com/techsky-eh/skyrat.git
cd skyrat
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# or
venv\Scripts\activate # Windows
# Install dependencies and setup SDK
pip3 install -r requirements.txt
chmod +x tools/android-sdk-setup.sh
./tools/android-sdk-setup.sh
# Verify installation
python3 skyrat.py --helpFollow the detailed steps below for manual installation.
# Update package list
sudo apt update
# Install required packages
sudo apt install -y python3 python3-pip python3-venv git curl wget unzip
# Install Java (OpenJDK 11)
sudo apt install -y openjdk-11-jdk
# Verify Java installation
java -version
javac -version# Install required packages
sudo dnf install -y python3 python3-pip git curl wget unzip
# Install Java
sudo dnf install -y java-11-openjdk-devel
# Verify installation
java -version
javac -version# Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install required packages
brew install python3 git curl wget
# Install Java
brew install openjdk@11
# Add Java to PATH (add to ~/.zshrc or ~/.bash_profile)
echo 'export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc# Install WSL2 and Ubuntu
wsl --install
# Inside WSL2, follow Ubuntu instructions above
# Or use Windows native installation below- Install Python: Download from https://python.org (3.7+)
- Install Java: Download OpenJDK from https://adoptium.net
- Install Git: Download from https://git-scm.com
- Add to PATH: Ensure Python, Java, and Git are in system PATH
# Clone the repository
git clone https://github.com/techsky-eh/skyrat.git
cd skyrat
# Verify repository structure
ls -la# Create virtual environment
python3 -m venv skyrat-env
# Activate virtual environment
source skyrat-env/bin/activate # Linux/macOS
# or
skyrat-env\Scripts\activate # Windows
# Install Python dependencies
pip3 install -r requirements.txt# Install dependencies system-wide
pip3 install -r requirements.txt# Run the automated Android SDK setup script
chmod +x tools/android-sdk-setup.sh
./tools/android-sdk-setup.shThe script will:
- Download and install Android command line tools
- Setup Android SDK in
~/Android/Sdk(or custom location) - Install required SDK packages
- Configure environment variables
- Verify installation
If the automated script fails, follow these manual steps:
# Create Android SDK directory
mkdir -p ~/Android/Sdk
cd ~/Android/Sdk
# Download command line tools (Linux)
wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
unzip commandlinetools-linux-9477386_latest.zip
# Create proper directory structure
mkdir -p cmdline-tools
mv cmdline-tools latest_temp
mv latest_temp cmdline-tools/latest
# Clean up
rm commandlinetools-linux-9477386_latest.zipAdd to your shell configuration file (~/.bashrc, ~/.zshrc, etc.):
# Android SDK Environment Variables
export ANDROID_HOME="$HOME/Android/Sdk"
export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH"
export PATH="$ANDROID_HOME/platform-tools:$PATH"
export PATH="$ANDROID_HOME/build-tools/34.0.0:$PATH"# Reload environment
source ~/.bashrc # or ~/.zshrc
# Accept licenses
yes | sdkmanager --licenses
# Install required packages
sdkmanager "platform-tools" "platforms;android-33" "platforms;android-34" "build-tools;33.0.2" "build-tools;34.0.0"# Test SkyRAT main script
python3 skyrat.py --help
# Should show SkyRAT help information# Navigate to Android project
cd android
# Test Gradle wrapper
./gradlew tasks
# Should show available Gradle tasks# Return to project root
cd ..
# Test APK building (replace with your IP)
python3 skyrat.py --build -i 127.0.0.1 -p 8000 -o test.apk
# Should create test.apk in build/ directoryEnsure these environment variables are set:
# Check Android SDK
echo $ANDROID_HOME
# Should output: /home/username/Android/Sdk
# Check PATH includes Android tools
echo $PATH | grep android
# Should show Android SDK pathsFor external access using ngrok:
# Install ngrok (optional)
# Download from https://ngrok.com/download
# Or install via package manager
# Ubuntu/Debian:
sudo snap install ngrok
# macOS:
brew install ngrok
# Setup ngrok authtoken (required for tunnels)
ngrok authtoken YOUR_AUTH_TOKEN# Error: java: command not found
# Solution: Install Java and add to PATH
# Check Java installation
which java
java -version
# If not found, install Java (Ubuntu/Debian)
sudo apt install openjdk-11-jdk# Error: pip install failed
# Solution: Update pip and try again
pip3 install --upgrade pip
pip3 install -r requirements.txt# Error: ANDROID_HOME not set
# Solution: Set environment variable
export ANDROID_HOME="$HOME/Android/Sdk"
echo 'export ANDROID_HOME="$HOME/Android/Sdk"' >> ~/.bashrc
source ~/.bashrc# Error: Permission denied when running sdkmanager
# Solution: Fix permissions
chmod +x $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager# Error: Gradle build failed
# Solution: Clean and rebuild
cd android
./gradlew clean
./gradlew build# Error: Command Line Tools not found
# Solution: Install Xcode Command Line Tools
xcode-select --install
# Error: Java not in PATH
# Solution: Add Java to PATH
echo 'export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc# Error: 'python3' not recognized
# Solution: Use 'python' instead or add python3 alias
python skyrat.py --help
# Error: Permission denied (WSL2)
# Solution: Fix file permissions
chmod +x tools/android-sdk-setup.sh# Error: Missing 32-bit libraries (Ubuntu)
# Solution: Install additional libraries
sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386# Navigate to project directory
cd skyrat
# Pull latest changes
git pull origin main
# Update Python dependencies
pip3 install -r requirements.txt --upgrade
# Update Android SDK if needed
./tools/android-sdk-setup.sh# Remove existing installation
rm -rf skyrat/
# Clone fresh copy
git clone https://github.com/techsky-eh/skyrat.git
cd skyrat
# Run installation process
pip3 install -r requirements.txt
./tools/android-sdk-setup.sh# Install development dependencies
pip3 install -r requirements-dev.txt
# Install pre-commit hooks
pre-commit install
# Run tests to verify setup
python3 -m pytestFor development with IDEs:
- Install Python extension
- Install Kotlin extension
- Open project folder
- Configure Python interpreter to virtual environment
- Open project directory
- Configure Python interpreter
- Install Kotlin plugin
- Configure Android SDK path
- Python 3.7+ installed and working
- Java JDK 8+ installed and in PATH
- Git installed and working
- SkyRAT repository cloned
- Python dependencies installed
- Android SDK installed and configured
- Environment variables set correctly
-
python3 skyrat.py --helpworks -
cd android && ./gradlew tasksworks - Test APK build successful
If you encounter issues during installation:
- Check logs: Look for error messages in terminal output
- Search issues: Check GitHub Issues
- Ask for help: Create new issue with:
- Operating system and version
- Python and Java versions
- Complete error message
- Steps you've tried
After successful installation:
- Read the Usage Guide
- Try the Quick Setup
- Review Command Reference
- Check Examples
Congratulations! SkyRAT is now installed and ready for Android security testing.