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
-
Buka Google Cloud Console dan buat/pilih proyekmu.
-
Pergi ke menu Library, cari Google Drive API, lalu klik Enable.
-
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.
-
Pergi ke menu Credentials > Create Credentials > OAuth client ID.
-
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.
-
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.
- 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
- Konfigurasi Kredensial Lokal: Buat file
android/key.propertiesdan masukkan kredensial Keystore-mu:
storePassword=password_keystore_anda
keyPassword=password_alias_anda
keyAlias=fintale
storeFile=fintale.jks
- Ambil SHA-1 Release (Wajib untuk Cloud Sync): Jalankan perintah ini untuk mengekstrak sidik jari SHA-1 dari file
fintale.jksyang baru saja kamu buat:
keytool -list -v -keystore android/app/fintale.jks -alias fintale
Salin kode SHA-1 yang muncul di terminal.
-
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.
-
Lakukan Build APK:
flutter build apk --release
atau
flutter build apk --split-per-abi