-
Notifications
You must be signed in to change notification settings - Fork 30
development
github-actions[bot] edited this page Mar 30, 2026
·
1 revision
Build, run, and ship FreeKiosk locally
Docs Home β’ Installation β’ Roadmap
- Prerequisites
- Additional Requirements
- Local Setup
- Run on Android
- Common Issues
- Build Release APK
- Output Locations
- Contributing
- How to Contribute
- Related Technical Docs
- Project Structure
Note
This page focuses on contributor setup. Operational deployment is documented in installation.md.
| Tool | Version | Purpose |
|---|---|---|
| Node.js | 18+ | JavaScript runtime |
| React Native CLI | Latest | Cross-platform development |
| Android Studio | Latest | Android emulator & build tools |
| JDK | 17+ | Java development for Android |
| Git | Latest | Version control |
- Android SDK (API level 26+ / Android 8.0+)
- Physical Android device or Emulator for testing
- USB debugging enabled on development device
# Clone the repository
git clone https://github.com/rushb-fr/freekiosk.git
cd freekiosk
# Install dependencies
npm install
# iOS dependencies (if developing for iOS)
cd ios && pod install && cd ..Tip
Make sure to run pod install after any changes to native dependencies.
# Start Metro bundler
npm start
# In another terminal, run on Android
npx react-native run-android
# Or run on specific device
npx react-native run-android --device <device_id>| Issue | Solution |
|---|---|
| Metro bundler not starting | Clear cache: npm start -- --reset-cache
|
| Build fails | Clean Android build: cd android && ./gradlew clean && cd ..
|
| Device not detected | Check USB debugging: adb devices
|
# Navigate to Android directory
cd android
# Build release APK
./gradlew assembleRelease
# Build release AAB (for Play Store)
./gradlew assembleBundle| Format | Path |
|---|---|
| APK | android/app/build/outputs/apk/release/app-release.apk |
| AAB | android/app/build/outputs/bundle/release/app-release.aab |
Important
For production builds, make sure to configure your signing keys in android/app/build.gradle.
| Resource | Link |
|---|---|
| Contributing Guide | CONTRIBUTING.md |
| Issue Tracker | GitHub Issues |
| Discussions | GitHub Discussions |
| FAQ | FAQ |
- Fork the repository
-
Create a feature branch:
git checkout -b feature/amazing-feature -
Commit your changes:
git commit -m 'Add amazing feature' -
Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
| Documentation | Focus |
|---|---|
| Install Guide | Installation - Manual setup instructions |
| ADB Configuration | ADB-Configuration - Scripted provisioning |
| REST API | REST-API - HTTP endpoints and automation |
| MQTT | MQTT - Home Assistant integration |
| Roadmap | Roadmap-and-Changelog - Release planning |
freekiosk/
βββ src/ # React Native source code
β βββ components/ # Reusable UI components
β βββ screens/ # App screens
β βββ navigation/ # Navigation configuration
β βββ assets/ # Images and resources
βββ android/ # Android-specific code
β βββ app/ # Main Android app
β βββ gradle/ # Gradle build configuration
β βββ build.gradle # Android build script
βββ ios/ # iOS-specific code (if applicable)
βββ docs/ # Documentation source
βββ __tests__/ # Unit tests