Siklus Hidup Modul
Mulai dari proses build di CI, booting sistem, hingga uninstall — ini adalah perjalanan hidup paket modul Auriya. Setiap tahap merujuk langsung ke skrip yang mengimplementasikannya. Untuk rincian instalasi, lihat Instalasi; untuk eksekusi boot, lihat Ringkasan arsitektur.
Dilacak ke commit 10fe7c6: module/customize.sh, module/service.sh, module/uninstall.sh, dan .github/actions/package-module (Workflow CI/CD).
1. Pemaketan / Package (CI)
Section titled “1. Pemaketan / Package (CI)”Alur CI membangun satu file ZIP mandiri (self-contained): skrip siklus hidup, module.prop, file default settings.toml / gamelist.toml, binary aarch64 auriya (+ opsional auriyactl) beserta checksums.sha256, dan kedua file APK di bawah direktori libs/companion/. Tidak ada unduhan yang dilakukan saat boot. Mekanisme pemaketan selengkapnya (urutan pencarian APK, penomoran versi, pemanggilan 7-zip) didokumentasikan di CI/CD → package-module. Nama file ZIP berformat auriya-<version>-<commit-count>-<sha>-<build_type>.zip.
2. Ekstraksi (Root Manager)
Section titled “2. Ekstraksi (Root Manager)”Magisk / KernelSU / APatch mengekstrak isi ZIP ke direktori /data/adb/modules/auriya. Direktori module/ di repositori adalah root dari file ZIP, sehingga tidak ada struktur bertingkat module/module/ di perangkat.
3. Instalasi (customize.sh)
Section titled “3. Instalasi (customize.sh)”Berjalan saat modul di-flash di root manager (lihat Instalasi → apa yang dilakukan installer):
- Membatalkan instalasi jika arsitektur
$ARCHbukanarm64. - Memverifikasi binary daemon terhadap hash di
checksums.sha256(jika tidak cocok, instalasi dibatalkan). - Menyalin binary daemon →
system/bin/auriya, dan CLI →system/bin/auriyactl(jika tersedia). - Menyalin APK companion →
system/etc/auriya/service.apk(wajib; jika hilang, instalasi dibatalkan). - Memasang aplikasi manajer
auriya-app.apkviapm install(best-effort; jika gagal hanya memunculkan peringatan dan tetap melanjutkan instalasi). - Menghapus direktori sementara
libs/. - Memindahkan
settings.toml/gamelist.tomlke/data/adb/.config/auriyahanya jika belum ada (tidak pernah menimpa konfigurasi pengguna yang sudah ada). - Membuat symlink
binuntuk KernelSU/APatch jika manajer tersebut terdeteksi.
Perbedaan jalur runtime vs staging dijelaskan di Referensi sistem file.
4. Booting Sistem (service.sh)
Section titled “4. Booting Sistem (service.sh)”Pada setiap kali perangkat dinyalakan (boot), melalui hook service.d milik root manager: menunggu sinyal sys.boot_completed, menghentikan proses companion/daemon lama yang tertinggal, menghapus file socket/status/lock kadaluarsa, menjalankan companion dengan app_process, menunggu hingga 10 detik file system_status dibuat, kemudian menjalankan daemon dengan parameter jalur --settings / --gamelist eksplisit, serta mengalirkan output ke logcat dan /data/adb/auriya/daemon.log. Urutan boot lengkap ada di Ringkasan arsitektur → Alur eksekusi binary.
5. Runtime Berjalan
Section titled “5. Runtime Berjalan”Loop tick daemon memilih profil performa dan mempublikasikan status live; klien terhubung melalui Unix socket. Lihat Aliran data dan Penjadwal profil.
6. Pembaruan (Update)
Section titled “6. Pembaruan (Update)”File update.json (di-commit ke branch main oleh workflow rilis) memuat informasi versi terbaru, versionCode, URL unduhan aset rilis, dan URL changelog; field updateJson di module.prop mengarahkan root manager ke file tersebut. Lihat CI/CD → release.yml.
7. Penghapusan / Uninstall (uninstall.sh)
Section titled “7. Penghapusan / Uninstall (uninstall.sh)”Menghentikan proses auriya dan AuriyaSysMon, menghapus paket via pm uninstall, serta menghapus file socket, /data/adb/.config/auriya, /data/adb/auriya, dan symlink terkait. Skrip ini juga dapat dipicu saat booting oleh flag remove. Rincian lengkap: Uninstall.