Langsung ke konten

Build Android

Build dan submit aplikasi Android ke Google Play Store menggunakan infrastruktur khusus Capgo.

  • Anda akan belajar cara upload aplikasi via Capgo Native build
  • Anda akan belajar cara mengonfigurasi kredensial untuk Capgo Native Build
  • Anda harus memiliki akun Google Developer yang aktif
  • Anda harus sudah menginstal Android Studio
  • Aplikasi Anda harus bisa di-build dengan sukses di Android Studio

Sebelum mulai memikirkan build aplikasi dengan Capgo, sebaiknya kita atur dulu dan lakukan build Android pertama secara manual. Ada beberapa keuntungan melakukan build manual lebih dulu:

  • Anda akan menyiapkan kredensial untuk build Capgo berikutnya
  • Anda akan membuat entri di Play Store Console

Build aplikasi secara manual dengan Android Studio

Bagian berjudul “Build aplikasi secara manual dengan Android Studio”

Sebelum kita bisa mulai build aplikasi dengan Capgo, kita perlu build aplikasi secara manual menggunakan Android Studio.

  1. Buka Android Studio

    Jalankan bunx cap open android untuk membuka proyek Android Studio.

  2. Klik pada Build -> Generate Signed App Bundles / APKs Android Studio membuat signed app bundles / APKs

  3. Pilih Android App Bundle dan klik pada Next Android Studio pilih Android App Bundle

Saat ini, Anda belum memiliki file keystore. File ini digunakan untuk menandatangani app Anda, sehingga Google tahu bahwa Andalah yang membuat app tersebut. Untuk membuatnya, kita akan menggunakan metode GUI yang disediakan oleh Android Studio. Ada juga cara melakukannya lewat command line, tetapi tidak akan dibahas dalam tutorial ini.

  1. Klik pada Create new Android Studio buat keystore baru

  2. Isi jalur Key Store Isi path Key Store di Android Studio

  3. Atur password Key Store Atur password Key Store di Android Studio

  4. Lengkapi sisa formulir

    1. Biarkan Key Alias apa adanya (key0)
    2. Isi detail sertifikat. Saya sudah mengisinya dengan detail palsu, tapi Anda harus mengisinya dengan detail Anda sendiri.

    Di Android Studio, lengkapi sisa formulir

  5. Klik pada OK Di Android Studio, klik OK

  1. Pastikan semua detail keystore sudah diisi dengan benar dan klik Next Android Studio pastikan semua detail keystore sudah diisi dengan benar

  2. Pilih release build variant dan klik Create Android Studio pilih release build variant

  3. Setelah build berhasil, Anda akan melihat layar berikut Android Studio setelah build berhasil

    1. Popup ini menunjukkan bahwa build berhasil.
    2. Klik pada locate tombol - ini akan membuka file explorer dan Anda akan melihat build di sana.
  4. Pastikan Anda dapat melihat build di file explorer Di Android Studio, pastikan Anda bisa melihat build di file explorer.

  1. Buka Google Play Console

  2. Pilih akun developer yang tepat Di Google Play Console, pilih akun developer yang benar.

  3. Klik pada Create app Di Google Play Console, buat aplikasi.

  4. Pilih nama aplikasi dan bahasa. Di Google Play Console, pilih nama aplikasi dan bahasa.

  5. Pilih kategori aplikasi dan apakah aplikasi berbayar atau gratis. Di Google Play Console, pilih kategori aplikasi dan tentukan apakah aplikasi berbayar atau gratis

  6. Setujui syarat dan ketentuan Di Google Play Console, setujui syarat dan ketentuan

  7. Klik pada Create Di Google Play Console, klik Create

Setelah aplikasi dibuat, Anda bisa membuat grup internal testing. Karena saya tidak akan benar-benar mempublikasikan aplikasi ini untuk semua orang di Play Store, saya perlu membuat grup internal testing.

  1. Buka internal testing Klik pada Test and release -> Testing -> Internal testing

    Pengujian internal Google Play Console

  2. Klik pada Testers Tester Google Play Console

  3. Klik pada Create email list Buat daftar email di Google Play Console

  4. Beri nama daftar email Beri nama daftar email di Google Play Console

  5. Tambahkan alamat email tester Tambahkan alamat email tester di Google Play Console

  6. Tekan Enter dan klik pada Save Tekan Enter di Google Play Console lalu klik Simpan

  7. Klik pada Create group Buat grup di Google Play Console

  8. Pastikan daftar baru sudah terpilih, lalu klik pada Save Pastikan daftar baru sudah terpilih di Google Play Console, lalu klik Simpan

Mengunggah aplikasi ke grup pengujian internal

Bagian berjudul “Mengunggah aplikasi ke grup pengujian internal”

Setelah membuat grup pengujian internal, Anda dapat mengunggah aplikasi ke grup tersebut.

  1. Buka Test and release -> Testing -> Internal testing Pengujian internal Google Play Console

  2. Klik pada Releases tombol Tombol rilis Google Play Console

  3. Klik pada Create new release Buat rilis baru di Google Play Console

  4. Klik pada Upload Unggah di Google Play Console

  5. Pilih file AAB Pilih file AAB di Google Play Console

  6. Tunggu hingga file AAB di-upload

  7. Klik pada Next Lanjut di Google Play Console

  8. Perbaiki error

    Secara pribadi, pada tahap ini saya melihat error ini

    Peringatan besar yang menakutkan di Google Play Console

    Hal ini terjadi karena saya belum memverifikasi nomor telepon saya. Saya akan melakukannya dan melanjutkan tutorial.

  9. Klik pada Save and publish Ini akan mempublikasikan aplikasi ke grup pengujian internal. Simpan dan publikasikan di Google Play Console

  10. Konfirmasi publikasi Konfirmasi publikasi di Google Play Console

  11. Pastikan aplikasi sudah dipublikasikan Pastikan aplikasi sudah dipublikasikan di Google Play Console

  12. Dapatkan nama aplikasi sementara Anda Dapatkan nama aplikasi sementara Anda di Google Play Console

Setelah Anda mengunggah aplikasi ke grup pengujian internal, Anda dapat menerima undangan ke grup tersebut.

  1. Buka Test and release -> Testing -> Internal testing Pengujian internal Google Play Console

  2. Klik pada Testers Tester Google Play Console

  3. Klik pada Copy link Salin tautan Google Play Console

  4. Kirim tautan ke ponsel, buka di browser, lalu klik Accept Terima undangan di Google Play Console

  5. Pastikan undangan telah diterima, lalu klik “download it on Play Store” Download it on Play Store di Google Play Console

  6. Instal aplikasi

    1. Jika Anda sudah menginstal aplikasi sebelum menggunakan Android Studio, klik pada uninstall tombol Uninstall aplikasi di Google Play Console
    2. Klik pada install tombol Install aplikasi di Google Play Console
    3. Buka aplikasi dan pastikan sudah berhasil diunduh

Sekarang, Anda siap memulai setup Capgo Native Build. Selamat! 🎉

PersyaratanFlagDeskripsiWajib
File keystore--keystore <path>Path ke file .jks/.keystore file yang digunakan untuk menandatangani APK/AAB.Ya
Alias keystore--keystore-alias <alias>Nama alias key di dalam keystore.Ya
Password key keystore--keystore-key-password <password>Password untuk key. Jika password key/store sama, Anda cukup mengisi satu saja.Lihat catatan di bawah
Password store keystore--keystore-store-password <password>Password untuk keystore. Jika password key/store sama, Anda cukup mengisi satu saja.Lihat catatan di bawah
Akun layanan Google Play--play-config <path>File JSON service account untuk upload ke Play Store.Ya
Jendela terminal
bunx @capgo/cli@latest build credentials save --platform android \
--keystore ./path/to/keystore.jks \
--keystore-alias "your-alias" \
--keystore-key-password "key-password" \
--keystore-store-password "store-password" \
--play-config ./play-store-service-account.json

Keystore, password keystore, password key keystore, alias keystore

Bagian berjudul “Keystore, keystore password, keystore key password, keystore alias”

Jika Anda telah mengikuti instruksi build manual, Anda seharusnya sudah memiliki keystore yang dibuat. Jika belum mengikuti instruksi, silakan ikuti langkah-langkah tersebut untuk membuat keystore.

Membuat service account Google Play adalah proses manual dan kompleks. Namun, ini diperlukan untuk mengunggah aplikasi Anda ke Google Play. Perhatikan hal-hal berikut:

  • Anda PERLU menjadi pemilik Developer Account. Jika tidak, Anda tidak akan dapat mengatur service account.
  • Anda perlu membuat Google Cloud Project baru (terpisah dari Google Play Account Anda)

Mari kita mulai.

  1. Buka Google Cloud Console

  2. Klik pada pemilih proyek Pemilih Proyek Google Console

  3. Jika Anda sudah memiliki proyek, pilih proyek tersebut. Jika belum, buat proyek baru:

    1. Klik pada New project Tombol New Project di Google Console
    2. Beri nama proyek Anda lalu klik Create Layar penamaan proyek yang menampilkan kolom nama dan tombol Create
    3. Pastikan Anda berada di proyek yang benar Nama proyek yang muncul di selector menunjukkan pemilihan proyek yang benar
  4. Let’s click on the search bar and search for service accounts dan klik pada item tersebut Kolom pencarian Google Console

  5. Let’s click on Create service account tombol Create Service Account di Google Console

  6. Isi formulir untuk service account dan klik Done

    1. Saya sarankan mengatur nama menjadi Capgo Native Build Service Account
    2. Untuk Service Account ID, saya sarankan mengaturnya menjadi capgo-native-build-service-acc
    3. Untuk deskripsi, tidak perlu diisi, tapi saya sarankan mengisi dengan Allows Capgo Native Build to build and submit the app to the Play Store

    Isi formulir untuk service account di Google Console

  7. Klik service account yang baru dibuat Sekarang Anda akan melihat service account yang baru dibuat di daftar. Klik service account tersebut. Service account yang baru dibuat di Google Console

  8. Klik pada Keys tab Tab Keys di Google Console

  9. Klik pada Add Key dan Create new key Tambahkan key dan buat key baru di Google Console

  10. Klik pada JSON dan Create Tombol Create Key di Google Console

  11. Unduh file JSON File JSON seharusnya sudah terunduh otomatis. Anda bisa klik close untuk menutup jendela. Kunci download Google Console

Memberikan akses API Play Store ke service account

Bagian berjudul “Memberikan akses Play Store API ke service account”

Service account yang baru dibuat belum memiliki akses ke Play Store API. Untuk memberikannya, buka Play Store Console.

  1. Buka Google Play Console
  2. Pilih akun developer yang tepat Di Google Play Console, pilih akun developer yang benar.
  3. Klik pada Users and permissions Pengguna dan izin Google Play Console
  4. Klik pada Invite new users Undang pengguna baru di Google Play Console
  5. Salin alamat email service account Salin alamat email akun layanan di Google Play Console
  6. Buka Account permissions dan berikan izin minimum yang diperlukan:
    • Di App permissions, berikan akses ke aplikasi Anda.
    • Di Releases, aktifkan Create, edit, and roll out releases.
    • Jika workflow Anda menggunakan Play App Signing, aktifkan izin signing terkait.
    • Jika Anda tidak yakin, gunakan Admin hanya selama setup, lalu kurangi izin setelahnya. Google Play Console: berikan izin
  7. Klik pada Invite user Google Play Console: undang user
  8. Konfirmasi undangan Google Play Console: konfirmasi undangan
  9. Pastikan bahwa user sudah diundang Google Play Console: pastikan user sudah diundang

Sekarang Anda siap menyimpan kredensial dan menjalankan build pertama Anda. Anda dapat menyimpan kredensial menggunakan perintah berikut:

Jendela terminal
bunx @capgo/cli@latest build credentials save --platform android \
--keystore ./path/to/keystore.jks \
--keystore-alias "your-alias" \
--keystore-key-password "key-password" \
--keystore-store-password "store-password" \
--play-config ./play-store-service-account.json

Jika Anda sudah menyelesaikan Keystore, password keystore, password key keystore, alias keystore dan Akun layanan Google Play, Anda sudah memiliki semua yang dibutuhkan untuk CI/CD. Bagian ini hanya membahas cara meneruskan nilai-nilai tersebut sebagai GitHub Actions secrets dan environment variables.

1) Konversi file kredensial menjadi base64 satu baris

Bagian berjudul “1) Ubah file kredensial ke base64 satu baris”
Jendela terminal
# Android keystore (.jks or .keystore)
base64 -i ./path/to/keystore.jks | tr -d '\n' > keystore_base64.txt
# Google Play service account JSON
base64 -i ./play-store-service-account.json | tr -d '\n' > play_config_base64.txt

Di GitHub > Repository > Settings > Secrets and variables > Actions, tambahkan:

Nama SecretNilai
CAPGO_TOKENToken Capgo API Anda
APP_IDApp ID Capgo Anda (contoh: com.example.app)
ANDROID_KEYSTORE_FILEIsi dari keystore_base64.txt
KEYSTORE_KEY_ALIASAlias keystore dari Keystore, password keystore, password key keystore, alias keystore
KEYSTORE_KEY_PASSWORDPassword key keystore
KEYSTORE_STORE_PASSWORDPassword store keystore
PLAY_CONFIG_JSONIsi dari play_config_base64.txt

3) Gunakan env vars di workflow GitHub Actions Anda

Bagian berjudul “3) Gunakan env vars di workflow GitHub Actions Anda”
.github/workflows/android-build.yml
name: Android Cloud Build
on:
workflow_dispatch:
push:
branches: [main]
jobs:
android-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Request Android build with Capgo
run: bunx @capgo/cli@latest build request ${{ secrets.APP_ID }} --platform android
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE_FILE }}
KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }}
KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }}
PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }}

Selamat 🎉! Anda siap menjalankan build pertama Anda.

Jalankan:

Jendela terminal
bunx @capgo/cli@latest build request com.example.app --platform android

Dan ini akan memulai proses build 🍾🥂

Secara default, build rilis Android akan di-upload ke Google Play dan dapat tetap tidak aktif sampai Anda menyelesaikan rilis di Play Console. Jika rilis CI Anda harus mengajukan rilis Play secara otomatis, gunakan --submit-to-store-review dengan build rilis:

Jendela terminal
npx @capgo/cli@latest build request com.example.app \
--platform android \
--build-mode release \
--submit-to-store-review \
--android-track production \
--store-release-name "1.2.3" \
--store-release-notes "General improvements" \
--store-release-notes-locale "en-US=General improvements" \
--store-release-notes-locale "nl-NL=Algemene verbeteringen" \
--store-release-notes-locale "fr-FR=Ameliorations generales"

Ini memerlukan setup Google Play service account yang sama dengan jalur upload biasa (PLAY_CONFIG_JSON di CI atau kredensial Android yang disimpan secara lokal). --store-release-name digunakan sebagai Google Play version_name. --store-release-notes adalah fallback changelog Play, dan setiap --store-release-notes-locale "locale=notes" entry menulis changelog Play yang dilokalkan untuk locale tersebut. Capgo mengirim rilis Play sebagai completed kecuali Anda menimpa --android-release-status; jika Managed publishing diaktifkan di Play Console, Google masih bisa menunggu publikasi manual Anda setelah persetujuan.

Jika Anda menggunakan Build Android untuk merencanakan otomatisasi CI/CD, hubungkan dengan CI/CD Capgo untuk workflow produk di Capgo CI/CD, Capgo Native Build untuk workflow produk di Capgo Native Builds, Integrasi Capgo untuk alur kerja produk di Integrasi Capgo, Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD, dan Integrasi GitHub Actions untuk detail implementasi di Integrasi GitHub Actions.