Andro is a CLI build tool that generates Android APK and AAB files from a simple YAML configuration—without requiring Android Studio. It creates a complete Android project with a modern WebView for displaying web assets and integrated Start.io (formerly StartApp) ads for monetization.
D:\Andro\
├── andro.yml # Main configuration file (root)
├── andro.md # User documentation (root)
├── andro.bat # Main build script (run this)
├── html/ # Web assets (or configured path)
│ ├── index.html # Home page
│ └── about.html # About page
├── round.png # Application icon
├── perintah.txt # Original requirements document
├── QWEN.md # This file - project context
├── README.md # User documentation
└── android/ # All Android build files and scripts
├── accept-licenses.bat
├── bootstrap-gradle.bat
├── build.gradle
├── create_dirs.ps1
├── generate_project.ps1
├── gradle.properties
├── gradlew.bat
├── install-packages.bat
├── install-sdk.bat
├── keystore.jks # Signing key (auto-generated)
├── parse_yaml.ps1
├── settings.gradle
├── ai/
│ └── ads.txt # Start.io SDK documentation
├── gradle/
│ └── wrapper/
│ └── gradle-wrapper.properties
└── app/ # Generated Android project
├── build.gradle
├── proguard-rules.pro
└── src/main/
├── AndroidManifest.xml
├── java/.../MainActivity.java
├── res/
└── assets/
- title: "Hello World"
- version: "1"
- package: "com.example.helloworld"
- icon: "round.png"
- web: "html"
- ads: "202843390"| Field | Description |
|---|---|
title |
App display name |
version |
Version code and name |
package |
Android package name |
icon |
Path to launcher icon |
web |
Path to web assets folder |
ads |
Start.io App ID |
- Java JDK 11+ (required)
- Android SDK (optional, for system Gradle)
- ANDROID_HOME environment variable (recommended)
# Build APK and AAB
andro
# or
andro build
# Clean build artifacts
andro clean
# Show help
andro helpandroid/app/build/outputs/apk/debug/app-debug.apkandroid/app/build/outputs/apk/release/app-release.apkandroid/app/build/outputs/bundle/release/app-release.aab
- Full JavaScript (ES6+) support
- localStorage & sessionStorage
- Geolocation API
- Camera access
- File upload/download
- Hardware acceleration
- Mixed content support
// Device info
Android.getDeviceInfo() // {"brand":"...", "model":"...", ...}
// Battery status
Android.getBatteryInfo() // {"level":85, "charging":true}
// Toast notification
Android.showToast("Hello!")
// Vibrate
Android.vibrate(1000)- Camera
- Location (GPS)
- Storage (Read/Write)
- Microphone
- Bluetooth
- Battery stats
- SDK v5.1.0
- Automatic initialization
- Interstitial ads on back press
- Configurable via
adsfield
- Auto-generated keystore
- Stored at
android/keystore.jks - Ready for Google Play
| Field | Value |
|---|---|
| CN | Muhammad Zaini |
| L | Samarinda |
| E | muhzaini30@gmail.com |
| Alias | andro |
| Store Password | 0809894kali |
| Key Password | 0809894kali |
| Validity | 10000 days |
android/keystore.jks securely—required for all app updates!
- Place HTML/CSS/JS in the
html/folder (or configuredwebpath) - Use absolute paths:
<a href="/about.html"> - Include viewport meta tag for mobile
- All assets are copied to
android/app/src/main/assets/
configureWebView()- Sets up WebView with all modern featuresrequestPermissions()- Auto-requests all needed permissionsWebAppInterface- JavaScript bridge for native featuresonBackPressed()- Shows interstitial ad on exit
- Compile SDK: 34
- Min SDK: 21
- Target SDK: 34
- AndroidX enabled
- ProGuard enabled for release builds
| File | Purpose |
|---|---|
andro.bat |
Main build orchestrator (in root) |
android/generate_project.ps1 |
Generates Android project structure |
android/bootstrap-gradle.bat |
Downloads Gradle wrapper JAR |
android/gradlew.bat |
Gradle wrapper script |
android/keystore.jks |
Release signing key |
android/app/build.gradle |
App-level Gradle configuration |
android/settings.gradle |
Root Gradle settings |
android/AndroidManifest.xml |
App permissions and configuration |
android/MainActivity.java |
WebView activity with native features |
-
"Java not found"
- Install JDK 11+ from https://adoptium.net/
- Add to PATH:
setx PATH "%PATH%;%JAVA_HOME%\bin"
-
"ANDROID_HOME not set"
- Set environment variable to Android SDK location
-
Build fails
- Run
andro cleanthenandro build - Check internet connection (Gradle downloads dependencies)
- Run
-
Ads not showing
- Verify App ID in Start.io dashboard
- Test on real device (emulator has limited ad inventory)
androidx.appcompat:appcompat:1.6.1com.google.android.material:material:1.9.0androidx.webkit:webkit:1.8.0
com.startapp:inapp-sdk:5.1.0
- Gradle 8.0
- Android Gradle Plugin 8.1.0
ai/ads.txt- Complete Start.io SDK integration guideREADME.md- User-facing documentationperintah.txt- Original requirements (in Indonesian)
- Menggunakan Start.io (formerly StartApp) untuk monetisasi iklan
- Banner ads ditampilkan di bagian bawah
- Interstitial ads ditampilkan saat tombol back ditekat
- Lihat
./android/ai/ads.txtuntuk dokumentasi lengkap Start.io SDK
- Ketika ada perubahan di project Android, update juga file ./android/generate_project.ps1