**One-command Android app setup with automated build, install, and deployment.**A minimal Android app project using Kotlin, scaffolded for VS Code. No emulator or simulator is included in this setup.
A professional tool to generate ready-to-run Android Kotlin projects with animated splash screens, Material Design, and automatic device installation.## β APK Successfully Built!
Location:
app/build/outputs/apk/debug/app-debug.apk (5.3MB)
---1. Reconnect your phone:
- Unplug and replug the OTG cable
-
π― Zero Configuration - One script does everything2. Check device connection:
-
π± Instant App Generation - Create unlimited projects with custom names/packages ```bash
-
π¨ Animated Splash Screen - Professional scale/fade animations built-in adb devices
-
π οΈ Auto Setup - Installs JDK, Kotlin, Android SDK, Gradle automatically ```
-
π² Direct Install - Builds APK and installs to connected device Should show:
59WKZDLFWKXG8TPR device -
π Material Design - Modern UI components included
-
π Gradle Wrapper - No global Gradle installation needed3. Install the APK:
-
π₯οΈ Cross-Platform - Works on Linux and macOS ```bash
-
π¦ VS Code Ready - Kotlin & Java extensions auto-installed adb install -t app/build/outputs/apk/debug/app-debug.apk
### Generate Your First App (30 seconds) adb push app/build/outputs/apk/debug/app-debug.apk /sdcard/Download/
# Clone the repository2. **On your phone:**
git clone https://github.com/yourusername/android-kotlin-generator.git - Open File Manager
cd android-kotlin-generator - Go to Downloads folder
- Tap `app-debug.apk`
# Create a new project - Allow "Install from Unknown Sources" if prompted
./create-project.sh - Tap Install
**Interactive prompts:**1. Copy app/build/outputs/apk/debug/app-debug.apk to your phone via:
Enter project name: MyAwesomeApp - Bluetooth
Enter package name: com.mycompany.awesome - Cloud storage (Google Drive, etc.)
Enter app display name: My Awesome App2. Open the APK file on your phone to install
That's it! π Your app will be:
-
β Generated with complete structureAfter making code changes:
-
β Built into APK```bash
-
β Installed on connected device./gradlew assembleDebug
-
β Ready to launch from your phone```
---## π Troubleshooting
- Reconnect USB cable
-
USB Debugging enabled on Android device- Check USB debugging is enabled on phone
-
Install via USB enabled (Settings β Developer Options β Install via USB)
-
Internet connection (for first-time setup)Build errors:
-
Run:
./gradlew clean assembleDebug
The scripts automatically install:## Project Structure
-
β Java JDK (if missing)- Kotlin source:
app/src/main/java/com/example/myapplication/MainActivity.kt -
π― Kotlin compiler- Manifest:
app/src/main/AndroidManifest.xml -
π€ Android SDK & Command-line tools- Gradle build files:
build.gradle,app/build.gradle -
π§ Gradle build system
-
π± ADB (Android Debug Bridge)
-
π» VS Code extensions (optional)
./create-project.shWhat it creates:
YourProjectName/
βββ app/
β βββ src/main/
β β βββ java/com/your/package/
β β β βββ SplashActivity.kt # Animated splash
β β β βββ MainActivity.kt # Welcome page
β β βββ res/
β β β βββ layout/ # UI layouts
β β β βββ values/ # Colors, strings, styles
β β β βββ drawable/ # Icons & graphics
β β βββ AndroidManifest.xml
β βββ build.gradle
βββ gradle/wrapper/
βββ build.gradle
βββ settings.gradle
βββ setup.sh # One-command setup
βββ gradlew # Gradle wrapper
βββ README.md
Navigate to your generated project and run setup:
cd YourProjectName
./setup.sh # Auto setup + build + installOr use Gradle directly:
./gradlew assembleDebug # Build APK only
./gradlew installDebug # Build + Install to device
./gradlew clean # Clean build artifactsOpen your Android device and launch the app from the app drawer! π±
- Smooth Animations: Logo scale (0.5β1.0), fade-in, slide-up text
- Duration: 2.5 seconds with smooth transitions
- Theme: Material fullscreen splash theme
- Auto-navigation: Seamless transition to main activity
- Welcome UI: Clean Material Design layout
- Feature List: Pre-built sections ready to customize
- Scrollable: ScrollView for long content
- Responsive: Works on all screen sizes
- Language: Kotlin 1.9.0
- Min SDK: 21 (Android 5.0 Lollipop)
- Target SDK: 34 (Android 14)
- Build System: Gradle 8.12 + Android Gradle Plugin 8.7.3
- UI Framework: AndroidX + Material Components 1.9.0
- Java Compatibility: Java 8 bytecode (works with JDK 8-25)
- Open Settings β About Phone
- Tap Build Number 7 times
- You'll see "You are now a developer!"
- Settings β Developer Options
- Enable USB Debugging
- For Xiaomi/MIUI/Redmi: Also enable Install via USB
# Check device connection
adb devices
# Expected output:
# List of devices attached
# XXXXXXXXXXXXXX deviceπ‘ Tip: If device shows "unauthorized", check your phone for USB debugging authorization prompt.
./create-project.sh
# Package: com.company.product.module
# Creates: app/src/main/java/com/company/product/module/./gradlew assembleDebug # Debug build with debugging enabled
./gradlew assembleRelease # Release build (requires signing)./gradlew tasks # List all available tasks
./gradlew clean # Remove build artifacts
./gradlew clean assembleDebug # Clean + rebuildcat build.log # Detailed build outputandroid-kotlin-generator/
βββ π create-project.sh # π― Main generator script
βββ π setup.sh # π§ Automated setup script (template)
βββ π README.md # π This documentation
βββ π .gitignore # Git ignore rules
βββ π .github/ # GitHub configuration
β βββ copilot-instructions.md
βββ π app/ # π± Template Android application
β βββ build.gradle # App-level build configuration
β βββ src/main/
β βββ java/ # Kotlin source files (template)
β βββ res/ # Resources (layouts, drawables, values)
β βββ AndroidManifest.xml
βββ π build.gradle # Project-level build configuration
βββ π settings.gradle # Gradle project settings
βββ π gradle/wrapper/ # Gradle wrapper configuration
β βββ gradle-wrapper.properties
βββ π gradlew # Gradle wrapper script (Unix/Linux/Mac)
# Check Java version
java -version
# Should be JDK 8 or higher
# Re-run setup to install dependencies
./setup.sh# Restart ADB server
adb kill-server
adb start-server
adb devices
# Check USB cable and connection
# Try different USB port# Manually create Gradle wrapper
wget https://services.gradle.org/distributions/gradle-8.12-bin.zip
unzip -q gradle-8.12-bin.zip
./gradle-8.12/bin/gradle wrapper
rm -rf gradle-8.12 gradle-8.12-bin.zipError: INSTALL_FAILED_USER_RESTRICTED
Solution:
- Settings β Additional Settings β Developer Options
- Enable Install via USB
- Try installation again
# Install using SDKMAN (recommended)
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install kotlin
# Or let setup.sh install it automatically
./setup.sh./create-project.sh
# Name: ShopEasy
# Package: com.shopify.easyshop
# Display: Shop Easy./create-project.sh
# Name: ConnectHub
# Package: com.social.connecthub
# Display: ConnectHub./create-project.sh
# Name: TaskMaster
# Package: com.productivity.taskmaster
# Display: Task MasterWhen you run ./setup.sh, the script automatically:
- β System Detection - Identifies OS (Linux/macOS)
- β Check Prerequisites - Verifies required tools
- π¦ Install Java - Auto-installs JDK if missing
- π― Setup Kotlin - Installs Kotlin compiler
- π€ Install Android SDK - Downloads SDK, build-tools, platform-tools
- π§ Create Gradle Wrapper - Sets up Gradle 8.12
- ποΈ Build APK - Compiles your app (output saved to build.log)
- π± Install on Device - Deploys APK via ADB
- π» VS Code Extensions - Optionally installs Kotlin/Java support
- β¨ Done! - App ready to launch
β±οΈ Time: 2-5 minutes (first run), 30 seconds (subsequent builds)
| Component | Minimum | Recommended |
|---|---|---|
| OS | Ubuntu 18.04+ / macOS 10.14+ | Ubuntu 22.04+ / macOS 13+ |
| RAM | 4 GB | 8 GB+ |
| Storage | 2 GB free | 5 GB+ free |
| Java | JDK 8 | JDK 17 or JDK 21 |
| Android Device | Android 5.0+ (API 21) | Android 10+ (API 29) |
| Internet | Required for first setup | - |
Contributions are welcome! Here's how:
- 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
- Follow Kotlin coding conventions
- Test on both Linux and macOS
- Update documentation for new features
- Keep scripts POSIX-compliant where possible
MIT License
Copyright (c) 2025 Android Kotlin Generator
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Built with these amazing technologies:
- Kotlin - Modern, concise Android development language
- Android Gradle Plugin - Official Android build system
- Material Components - Google's Material Design UI
- AndroidX - Modern Android libraries
- Gradle - Powerful build automation
Need help? We're here for you:
- π Bug Reports: GitHub Issues
- π¬ Questions: GitHub Discussions
- π§ Email: your.email@example.com
- π Wiki: Documentation
Future enhancements planned:
- Jetpack Compose support
- Multiple splash screen templates
- Firebase integration wizard
- Automated testing setup (JUnit, Espresso)
- CI/CD pipeline templates (GitHub Actions, GitLab CI)
- Docker containerization support
- Room Database template
- Retrofit API integration template
- MVVM Architecture template
- Dependency Injection (Hilt/Koin) setup
If this project helped you, please consider:
- β Star this repository
- π¦ Share on Twitter
- π Write a blog post about it
- π° Sponsor the project
Made with β€οΈ for Android Developers