apk-builder-web
v1.0.0
Published
Convert any website URL or ZIP file into an Android APK — run it locally or deploy it anywhere
Downloads
94
Maintainers
Readme
APK Builder – Web to Android APK Converter
Convert any website URL or ZIP file containing HTML/CSS/JS into an installable Android APK.
Features
| Feature | Description |
|---|---|
| 🌐 URL → APK | Wrap any live website in a native Android WebView |
| 📦 ZIP → APK | Package your local web app ZIP (must contain index.html) |
| ⬇️ Offline mode | Download & bundle a website for offline use |
| ⚙️ Custom config | App name, package ID, version, orientation, status-bar color |
| 🎨 Custom icon | Upload a PNG icon (512×512 recommended) |
| 📲 Dual output | Direct APK download or Android Studio project ZIP |
| 🔴 Real-time log | Live build output via Socket.io |
Quick Start
Prerequisites
| Requirement | Notes | |---|---| | Node.js ≥ 18 | nodejs.org | | Java JDK 17+ | Required for Gradle | | Android SDK | Part of Android Studio |
Without Java/Android SDK the tool still works — it generates an Android Studio project ZIP you can open and build manually.
1. Install & Run
Windows:
install.batmacOS / Linux:
chmod +x install.sh && ./install.shManual:
npm install
node server.jsOpen http://localhost:3000 in your browser.
2. Set up Android SDK (for direct APK building)
- Install Android Studio
- Open Android Studio → SDK Manager → Install Android SDK Platform 34
- Set
ANDROID_HOMEenvironment variable:- Windows:
%LOCALAPPDATA%\Android\Sdk - macOS:
~/Library/Android/sdk - Linux:
~/Android/Sdk
- Windows:
- Add Gradle to PATH (Android Studio bundles it at
<studio>/plugins/gradle/lib/gradle-launcher-*.jar)
3. Build an APK
- Open http://localhost:3000
- Choose Web URL or ZIP File tab
- Fill in app name, package name (e.g.
com.yourname.appname) - Click Build APK
- Watch the real-time build log
- Download the APK or the Android Studio project
Project Structure
APK BUILDER/
├── server.js ← Express + Socket.io server
├── package.json
├── public/
│ ├── index.html ← Web UI
│ ├── style.css
│ └── script.js
├── utils/
│ ├── buildApk.js ← Android project generator + Gradle runner
│ ├── webScraper.js ← Website downloader (offline mode)
│ └── zipHandler.js ← ZIP extractor
├── templates/
│ └── android/ ← Android project template
│ ├── app/
│ │ ├── build.gradle
│ │ └── src/main/
│ │ ├── AndroidManifest.xml
│ │ ├── assets/www/ ← web files placed here
│ │ ├── java/ ← MainActivity.java (generated)
│ │ └── res/
│ ├── build.gradle
│ ├── settings.gradle
│ ├── gradle.properties
│ └── gradlew / gradlew.bat
├── uploads/ ← Temporary upload storage (auto-created)
└── builds/ ← Build outputs (auto-created)
└── <buildId>/
├── app-debug.apk ← Built APK (if Gradle available)
└── project.zip ← Android Studio projectHow It Works
- ZIP/URL source → web files extracted/downloaded to a temp folder
- Android project created from the template with app settings applied
- Web files copied into
app/src/main/assets/www/ - MainActivity.java generated to load
file:///android_asset/www/index.html(or the live URL in online mode) - Gradle builds the APK if Android SDK is available
- APK (or project ZIP) served for download
Deploying to Another Machine / Server
# On the target machine
git clone <this-repo> # or copy the folder
npm install
node server.jsSet PORT env var to change the port:
PORT=8080 node server.jsFAQ
Q: The APK installs but shows a blank screen.
A: Make sure your web app works from index.html at the root of the ZIP. Paths must be relative.
Q: I see "Gradle not found" in the log.
A: That's fine — download the project ZIP, open in Android Studio, and click ▶ Run.
Q: How do I sign the APK for release / Play Store?
A: The debug APK is self-signed. For release, open the project in Android Studio → Build → Generate Signed Bundle/APK.
Q: Can I run this on a VPS/server?
A: Yes. Without Android SDK on the server, users always get a project ZIP. With Android SDK installed server-side (e.g. via sdkmanager), you get full APK builds.
License
MIT
