Prerequisites
Before you begin, ensure you have the following installed:- Android Studio - Latest stable version (Arctic Fox or newer)
- JDK 17 - Required for building the project
- Git - For version control
- Minimum 6GB RAM - For optimal Gradle performance
Environment Setup
Install JDK 17
The project is configured to use Java 17. You can download it from:Verify your installation:
- Oracle JDK
- OpenJDK
- Or use SDKMAN to manage Java versions:
Install Android Studio
Download and install Android Studio from the official website.During setup, make sure to install:
- Android SDK Platform 36 (compile SDK)
- Android SDK Build-Tools
- Android Emulator (optional, for testing)
Project Setup
Clone Sarahang Dependency
Navigate to the parent directory and clone Sarahang:Your directory structure should look like:The project references Sarahang modules in
settings.gradle:Configure local.properties
Create a Add the following properties:
local.properties file in the Kafka root directory:The
google_server_client_id and pipeless_auth_token are required but you can use arbitrary values for local development. These tokens only provide additional functionalities like Google sign-in and analytics.Verify Setup
Once the Gradle sync completes successfully, verify your setup:Project Structure
Kafka is organized as a multi-module Android project:- app - Main application module
- base/ - Base domain and annotations (KMP)
- core/ - Core functionality modules (analytics, networking, playback, etc.)
- data/ - Data layer (repository, database, models, preferences)
- domain - Domain layer with use cases
- ui/ - UI modules (auth, homepage, reader, search, etc.)
- navigation - Navigation logic
Next Steps
Building the Project
Learn how to build and run Kafka
Testing
Understand the testing approach
Contributing
Start contributing to Kafka
Architecture
Explore the architecture
Troubleshooting
Gradle Sync Failed
If Gradle sync fails:- Verify JDK 17 is set as the project JDK in Android Studio
- Check that Sarahang is cloned in the correct location
- Clear Gradle cache:
./gradlew clean --no-daemon - Invalidate caches in Android Studio: File > Invalidate Caches / Restart
Sarahang Modules Not Found
Ensure:- Sarahang is in the parent directory of Kafka
- Both
core-playbackandui-playbackdirectories exist in Sarahang - The paths in
settings.gradleare correct
Out of Memory Errors
Increase Gradle memory ingradle.properties: