Build dari Source

Halaman ini untuk kamu yang ingin memodifikasi atau berkontribusi ke proyek FinTale. Kalau kamu cuma ingin memakai aplikasinya, lihat Panduan Instalasi & Setup untuk link download langsung.

1. Prasyarat & Kloning

  • Pastikan Flutter SDK telah terinstal.
  • Kloning repositori ini dan unduh dependensinya:
git clone https://github.com/Anomali99/FinTale.git
cd FinTale
flutter pub get

2. Konfigurasi Google Cloud & Lingkungan (.env)

Agar fitur Cloud Sync (Google Drive) dapat berjalan, kamu wajib mendaftarkan SHA-1 dan mengatur kredensial di Google Cloud Console.

A. Dapatkan SHA-1 Fingerprint

Jalankan perintah ini di terminal untuk melihat daftar SHA-1 dari Keystore-mu (baik mode Debug maupun Release):

cd android
./gradlew signingReport
cd ..

B. Pengaturan Google Cloud Console

  1. Buka Google Cloud Console dan buat/pilih proyekmu.

  2. Pergi ke menu Library, cari Google Drive API, lalu klik Enable.

  3. Pergi ke menu OAuth consent screen. Jika status aplikasimu masih Testing, pastikan kamu menambahkan alamat email Google Drive-mu sendiri ke dalam daftar Test users.

  4. Pergi ke menu Credentials > Create Credentials > OAuth client ID.

  5. Buat Kredensial Android: Pilih Application type: Android. Masukkan Package Name (id.my.anomali99.fintale) dan masukkan SHA-1 yang didapat dari langkah A.

    Buat kredensial ini dua kali kalau kamu punya SHA-1 Debug dan SHA-1 Release yang berbeda.

  6. Buat Kredensial Web (Untuk file .env): Buat kredensial baru dengan tipe Application type: Web application. Salin Client ID yang dihasilkan.

C. Buat File .env

Buat file bernama .env di root directory proyek, dan tempelkan Client ID dari tipe Web application tadi ke dalamnya:

# Wajib menggunakan tipe Web Client, bukan Android Client
SERVER_CLIENT_ID=masukkan-web-client-id-anda

3. Opsi Build & Run

A. Mode Debug (Untuk Pengembangan Cepat)

Kamu bisa langsung menjalankan aplikasi di emulator atau perangkat fisik untuk pengujian:

flutter run

B. Mode Release (Build APK / AppBundle)

Untuk membuat APK yang siap didistribusikan (Production), kamu harus mengatur Keystore Android terlebih dahulu.

  1. Buat Keystore: Buat Keystore-mu sendiri menggunakan Java Keytool:
keytool -genkey -v -keystore android/app/fintale.jks -keyalg RSA -keysize 2048 -validity 10000 -alias fintale
  1. Konfigurasi Kredensial Lokal: Buat file android/key.properties dan masukkan kredensial Keystore-mu:
storePassword=password_keystore_anda
keyPassword=password_alias_anda
keyAlias=fintale
storeFile=fintale.jks
  1. Ambil SHA-1 Release (Wajib untuk Cloud Sync): Jalankan perintah ini untuk mengekstrak sidik jari SHA-1 dari file fintale.jks yang baru saja kamu buat:
keytool -list -v -keystore android/app/fintale.jks -alias fintale

Salin kode SHA-1 yang muncul di terminal.

  1. Daftarkan ke Google Cloud Console:

    • Buka Google Cloud Console dan pilih proyekmu sebelumnya.
    • Buka menu Credentials > + CREATE CREDENTIALS > OAuth client ID.
    • Pilih Application type: Android.
    • Masukkan Package Name (id.my.anomali99.fintale) dan tempelkan kode SHA-1 Release yang didapat dari langkah nomor 3.
    • Klik Create.

    Tunggu proses propagasi Google sekitar 5 menit sebelum kredensial baru ini benar-benar aktif dipakai.

  2. Lakukan Build APK:

flutter build apk --release

atau

flutter build apk --split-per-abi