Sebuah server sederhana berbasis Express.js yang dapat menghasilkan file APK Android dari sebuah URL website menggunakan Apache Cordova melalui API.
- Membuat APK Android dari URL website.
- Upload logo PNG (via form-data) atau dari URL (via body JSON).
- Link download APK langsung tersedia setelah build.
- Build otomatis dengan Cordova + SDK Android + Gradle.
- Bersih-bersih otomatis folder build sementara.
Sebelum menjalankan server ini, pastikan kamu sudah menginstal:
-
Node.js v23.8.0+
-
NPM 11.3.0+
-
Android SDK 34+
-
Gradle 8.14+
-
Cordova (global)
npm install -g cordova
-
Clone & masuk ke folder
git clone https://github.com/fitri-hy/web2apk-generator-api.git cd web2apk-generator-api
-
Install dependensi
npm install
Lakukan juga di dalam folder
app-template
-
Atur path SDK Android dan Gradle
Buka folder
config/paths.js
dan bagian berikut:ANDROID_SDK_PATH: 'C:\\Users\\Name-PC\\AppData\\Local\\Android\\Sdk', GRADLE_PATH: path.join(__dirname, '../gradle-8.14/bin')
-
Jalankan server
node index.js
Gunakan jika ingin mengunggah logo secara langsung.
Content-Type: multipart/form-data
Field | Wajib | Keterangan |
---|---|---|
appName | ✅ | Nama aplikasi Android |
url | ✅ | URL yang dimuat di WebView |
logoFile | opsional | File logo PNG (.png saja) |
-
Method:
POST
-
URL:
http://localhost:8800/generate
-
Body > form-data:
appName
:ContohApp
url
:https://example.com
logoFile
: (Upload file PNG)
{
"message": "APK generated",
"downloadUrl": "http://localhost:8800/download/ContohApp-abc123.apk"
}
Gunakan jika tidak ingin upload logo, cukup pakai URL PNG.
Content-Type: application/json
{
"appName": "MyWebApp",
"url": "https://your-site.com",
"logoUrl": "https://your-site.com/images/logo.png"
}
Logo harus berformat PNG dan dapat diakses publik.
curl -X POST http://localhost:8800/generate \
-H "Content-Type: application/json" \
-d '{
"appName": "MyWebApp",
"url": "https://your-site.com",
"logoUrl": "https://your-site.com/images/logo.png"
}'
- ❌
400
jikaappName
/url
tidak dikirim. - ❌
400
jika file logo bukan PNG. - ❌
500
jika gagal build APK. ⚠️ Logo bisa di-skip, tapi hasil APK pakai ikon default.
APK hasil build disimpan di folder:
/output
Bisa diunduh dari:
http://localhost:8800/download/{nama-file.apk}
Folder sementara otomatis dihapus setelah proses build selesai atau jika terjadi error.
web2apk-generator-api/
│
├── app-template/
├── config/
├── controllers/
├── middlewares/
├── node_modules/
├── output/
├── routes/
├── utils/
├── gradle-8.14
├── index.js
├── package.json
└── README.md