ErudaBrowser is a lightweight, 100% Java-free Android WebView browser application. It's designed for developers and users who want a simple browsing experience with access to a JavaScript console for debugging, thanks to the integrated Eruda.js library. The app is built using a Python-centric stack, making it a great choice for Python developers looking to get into mobile app development.
git clone <repository-url>
cd ErudaBrowser
./setup_dev.shgit clone <repository-url>
cd ErudaBrowser
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt- Python 3.11+ (recommended for best compatibility)
- Git for version control
- Virtual environment support
- Application Name: ErudaBrowser
- Platform: Android (with desktop testing support)
- Programming Languages: Python, JavaScript
- Core Technologies: Kivy, Buildozer, Eruda.js
- Key Features:
- Dynamic URL loading with intelligent search/URL detection
- Eruda.js console for JavaScript debugging
- Offline and online browsing capabilities
- Light, dark, and system theme support
- Automated APK builds and releases via GitHub Actions
- Cross-platform development (Android production, desktop testing)
ErudaBrowser/
├── main.py # Main application entry point with improved cross-platform WebView handling
├── assets/
│ ├── index.html # HTML frontend with Eruda.js integration and theme support
│ ├── icon.svg # Main application icon (SVG format)
│ └── icon_demo.svg # Demo profile icon
├── requirements.txt # Comprehensive Python dependencies for local development
├── kivy-requirements.txt # Kivy-specific requirements for the build process
├── buildozer-requirements.txt # Buildozer and build tool dependencies
├── buildozer.spec # Optimized Buildozer configuration for Android packaging
├── setup_dev.sh # Automated development environment setup script
├── build.sh # Build script for local APK generation
├── manifest.json # Application metadata and configuration
├── .github/workflows/
│ └── erudabrowser.yml # Professional CI/CD pipeline for automated builds
└── PROJECT_OVERVIEW.md # Detailed technical documentation
# Set up development environment
./setup_dev.sh
# Activate virtual environment
source venv/bin/activate
# Run for desktop testing (limited functionality)
python3 main.py
# Build APK locally (requires Android SDK setup)
./build.shThe project uses a professional CI/CD pipeline for automated builds:
- Push to main: Triggers debug APK build
- Version tags: Creates signed release APK and GitHub release
- Go to the "Actions" tab in your GitHub repository
- Select "Build ErudaBrowser APK" workflow
- Click "Run workflow"
- Choose build profile:
defaultordemo
- Default: Full production build with all features
- Demo: Limited feature set for testing and demonstrations
- Cross-platform compatibility: Develop on desktop, deploy to Android
- Intelligent fallbacks: Graceful handling of missing dependencies
- Professional error handling: Clear error messages and recovery options
- Hot-reloading workflow: Fast iteration during development
- Comprehensive logging: Detailed build logs for troubleshooting
- Primary Target: Android devices (ARM64, ARMv7)
- Development Platform: Linux, macOS, Windows (via WSL)
- Testing: Desktop browsers for rapid prototyping
Configure these GitHub secrets for automated release builds:
KEYSTORE_BASE64- Base64 encoded Android keystoreKEYSTORE_PASSWORD- Keystore passwordKEY_ALIAS- Key alias nameKEY_PASSWORD- Key password
This version includes significant improvements:
- ✅ Python 3.13 compatibility with proper dependency management
- ✅ Enhanced error handling and user feedback
- ✅ Professional build pipeline with comprehensive CI/CD
- ✅ Cross-platform development support
- ✅ Optimized dependencies for faster, more reliable builds
- ✅ Automated setup for quick development environment creation