[PART 5 of 5] 03 "THE CUSTOM APP"
by ChatGPT

📌 BUILD AN APP + ADB LOGGER (THERMAL & STRESS TEST)

Dokumen ini menjelaskan dua komponen yang saling melengkapi:

  1. Aplikasi Android (APK)

    • Untuk stress test CPU, stress test GPU, atau kombinasi CPU+GPU

    • Melakukan thermal logging otomatis

    • Menghasilkan CSV

    • Menghitung parameter panas (rate & acceleration)

    • Berfungsi sebagai heat generator (pemanas HP)

  2. ADB Logger (Python script)

    • Berjalan di PC via ADB (Android Debug Bridge)

    • Mengambil data thermal dari sistem Android setiap detik

    • Menghitung ΔT/Δt dan Δ(rate)/Δt

    • Menyimpan CSV + grafik PNG

    • Dapat digabungkan dengan CSV dari aplikasi

Kedua bagian digabungkan karena topiknya memang satu kesatuan:
“Membangun sistem lengkap untuk mengukur heat rise rate HP.”


A. KOMPONEN 1 — LOGGING SUHU & ΔT/Δt via ADB

(berdasarkan file pertama)

A.1 Tidak Ada API Resmi dari Aplikasi Monitoring

Aplikasi seperti AIDA64, CPU-Z, DevCheck, Phone Temperature Monitor, Device Info HW, Thermal Guardian tidak menyediakan API.

Alasannya:

  • Android membatasi akses hardware demi keamanan

  • Play Store app tidak membuka API publik untuk suhu

A.2 Alternatif API Teknis yang Bisa Dipakai

1) Aplikasi Play Store → Tidak ada API

AIDA64 Android → ❌
CPU-Z → ❌
DevCheck → ❌
Phone Temperature Monitor → ❌
Thermal Guardian → ❌
Device Info HW → ❌

Semua hanya menampilkan UI.


2) API Tidak Resmi: /sys/class/thermal/

Android membuka jalur internal:

/sys/class/thermal
/sys/class/power_supply/battery/temp

Catatan:

  • Tidak resmi

  • Akses dibatasi vendor tertentu

  • Nilai biasanya milicelsius (mis: 52000 → 52°C)


3) Aplikasi ROOT → Punya API Shell

Jika root, bisa akses:

cat /sys/class/thermal/thermal_zone*/temp

4) API via ADB (Android Debug Bridge)

ADB dapat membaca:

adb shell dumpsys thermalservice
adb shell cat /sys/class/thermal/thermal_zone0/temp
adb shell dumpsys batterystats

→ Ini berfungsi sebagai “API tidak resmi” untuk mengambil suhu setiap detik.


A.3 Output ADB Logger (Python Script)

Script Python mampu:

  • Mengambil suhu tiap detik

  • Menghitung ΔT/Δt (rate)

  • Menghitung Δ(rate)/Δt (acceleration)

  • Membuat CSV

  • Membuat grafik

Disiapkan dalam script adb_logger.py.


B. KOMPONEN 2 — MEMBANGUN APK STRESS TEST & THERMAL LOGGER

B.1 Fitur APK Stress Test

APK dapat dibuat dengan pilihan:

  1. Stress Test CPU

  2. Stress Test GPU (shader)

  3. Stress Test CPU+GPU (paling panas)

  4. Script ADB-only (tanpa APK)

  5. Source code lengkap (Kotlin + OpenGL)

APK memiliki:

  • CPU worker (multithread)

  • GPU renderer (heavy GLSL shader)

  • Thermal logger → CSV

  • CPU frequency logger

B.2 File-File Utama dalam APK

Termasuk:

  • MainActivity.kt

  • CpuWorker.kt

  • StressRenderer.kt

  • LogWriter.kt

  • SensorUtil.kt

  • AndroidManifest.xml

  • build.gradle

APK menghasilkan:

stress_YYYY-MM-DD_HH-MM-SS.csv

C. KOMPONEN 3 — ADB LOGGER + APK: SISTEM TERPADU

Kedua komponen apabila digabung dapat menghasilkan:

C.1 Data dari APK

  • Suhu CPU

  • Suhu baterai

  • CPU frequency

  • Elapsed time (t_s)

C.2 Data dari ADB

  • Suhu thermal zone

  • Slope ΔT/Δt

  • Acceleration Δ(rate)/Δt

C.3 Kedua log bisa DI-MERGE

Menggunakan:

  • Excel VLOOKUP

  • Python merge_asof

  • Web app merger (React)

Web merger sudah dibuat:

  • Upload APK CSV

  • Upload ADB CSV

  • Merge otomatis by nearest t_s


D. FITUR LANJUTAN YANG BISA DIBUAT

  • Script Python otomatis untuk merge

  • Template Excel auto-merge

  • Grafik temperature-rate-acceleration

  • Auto-detect throttling point

  • APK stress test dengan UI lengkap

  • Web-based CSV merger (sudah dibuat)


E. KESIMPULAN GABUNGAN

1 (satu) sistem lengkap:

  1. ADB Logger

    • Mengambil suhu tiap 1 detik

    • Menghitung rate & acceleration

    • Menyimpan & membuat grafik

  2. Android APK Stress Test

    • Membebani CPU/GPU

    • Logging suhu internal

    • Menghasilkan CSV thermal lengkap

Ketika digabungkan → menghasilkan sistem analisis panas profesional untuk HP:

  • Real-time logging

  • Heat rise rate

  • Thermal acceleration

  • Thermal throttling detection

  • Merge ADB + APK logs

  • Analisis grafis lengkap

Comments