# 📱 Panduan Membuat APK ArabiPro

## ✅ Capacitor Sudah Terinstall!

Aplikasi Anda sudah dikonfigurasi dengan Capacitor dan siap untuk dibuild menjadi APK Android.

## 🚀 Cara Build APK

### Opsi 1: Menggunakan Android Studio (Recommended)

1. **Buka Android Studio**
   ```bash
   npx cap open android
   ```

2. **Di Android Studio:**
   - Tunggu proses Gradle sync selesai (di bagian bawah akan ada progress bar)
   - Klik menu **Build** → **Build Bundle(s) / APK(s)** → **Build APK(s)**
   - Tunggu proses build selesai (biasanya 2-5 menit)
   - Setelah selesai, akan muncul notifikasi dengan link ke APK
   - APK akan berada di: `android/app/build/outputs/apk/debug/app-debug.apk`

### Opsi 2: Menggunakan Command Line

**Pastikan Java Development Kit (JDK) sudah terinstall!**

```bash
# Dari root project
cd android
.\gradlew.bat assembleDebug
```

Atau jalankan file batch yang sudah dibuat:
```bash
.\build-apk.bat
```

APK akan tersimpan di: `android/app/build/outputs/apk/debug/app-debug.apk`

### Opsi 3: Build Release APK (Untuk Upload ke Play Store)

```bash
cd android
.\gradlew.bat assembleRelease
```

**Note:** Untuk release APK, Anda perlu setup signing key terlebih dahulu.

## 🔄 Update Aplikasi Setelah Perubahan Code

Setiap kali Anda mengubah code (HTML, CSS, JS, React), ikuti langkah ini:

1. **Build frontend assets:**
   ```bash
   npm run build
   ```

2. **Sync dengan Capacitor:**
   ```bash
   npx cap sync android
   ```

3. **Build APK lagi** (pilih salah satu opsi di atas)

## 📦 Lokasi File APK

- **Debug APK:** `android/app/build/outputs/apk/debug/app-debug.apk`
- **Release APK:** `android/app/build/outputs/apk/release/app-release.apk`

## 🎨 Customisasi Icon dan Splash Screen

### 1. Icon Aplikasi
Siapkan icon dengan ukuran:
- 1024x1024 px (master icon)

Letakkan di `android/app/src/main/res/` dengan nama yang sesuai:
- `mipmap-mdpi/ic_launcher.png` (48x48)
- `mipmap-hdpi/ic_launcher.png` (72x72)
- `mipmap-xhdpi/ic_launcher.png` (96x96)
- `mipmap-xxhdpi/ic_launcher.png` (144x144)
- `mipmap-xxxhdpi/ic_launcher.png` (192x192)

**Atau gunakan tool online:**
- https://easyappicon.com/
- https://icon.kitchen/

### 2. Splash Screen
Edit file `android/app/src/main/res/values/styles.xml` untuk customize splash screen.

## 🌐 Mode Aplikasi

Saat ini aplikasi dikonfigurasi untuk **mode online** (memuat dari server):
```json
"server": {
  "url": "https://arabicfordomesticworker.com"
}
```

### Untuk Mode Offline (Hybrid):
Jika ingin aplikasi bisa berjalan offline, hapus bagian `"server"` dari `capacitor.config.json`.

## 🔧 Troubleshooting

### Error: "Gradle build failed"
- Pastikan Java JDK sudah terinstall (JDK 11 atau 17 recommended)
- Cek koneksi internet (Gradle perlu download dependencies)
- Coba clean build: `cd android && .\gradlew.bat clean`

### Error: "Android SDK not found"
- Install Android Studio terlebih dahulu
- Atau set ANDROID_HOME environment variable

### APK tidak bisa diinstall
- Uninstall versi lama aplikasi terlebih dahulu
- Atau gunakan signing key yang sama

## 📱 Install APK di HP

1. Transfer file `app-debug.apk` ke HP Android
2. Buka file APK di HP
3. Izinkan "Install from Unknown Sources" jika diminta
4. Tap Install

## 🚢 Upload ke Google Play Store

Untuk upload ke Play Store, Anda perlu:
1. **Buat signed release APK** (atau AAB/Android App Bundle)
2. **Buat akun Google Play Developer** ($25 one-time fee)
3. **Upload APK/AAB** melalui Google Play Console
4. **Isi informasi aplikasi** (deskripsi, screenshot, dll)
5. **Submit untuk review**

### Build Release APK dengan Signing:

1. **Generate keystore:**
   ```bash
   keytool -genkey -v -keystore arabipro-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias arabipro
   ```

2. **Update capacitor.config.json:**
   ```json
   "android": {
     "buildOptions": {
       "keystorePath": "arabipro-release-key.jks",
       "keystoreAlias": "arabipro"
     }
   }
   ```

3. **Build release:**
   ```bash
   cd android
   .\gradlew.bat bundleRelease
   ```

## 📊 Konfigurasi Aplikasi

File konfigurasi utama: **`capacitor.config.json`**

```json
{
  "appId": "com.arabipro.app",       // Package name
  "appName": "ArabiPro",              // Nama aplikasi
  "webDir": "public",                 // Laravel public folder
  "server": {
    "url": "https://arabicfordomesticworker.com",
    "cleartext": true,
    "androidScheme": "https"
  }
}
```

## 🎯 Next Steps

- [ ] Customisasi icon aplikasi
- [ ] Setup splash screen
- [ ] Test APK di berbagai device
- [ ] Buat signed release APK
- [ ] Submit ke Play Store

## 📚 Resources

- [Capacitor Documentation](https://capacitorjs.com/docs)
- [Android Developer Guide](https://developer.android.com/)
- [Google Play Console](https://play.google.com/console)

---

**Dibuat dengan ❤️ untuk ArabiPro**
