Cara Mengatasi java.lang.SecurityException: grantRuntimePermission di Android

Pesan error java.lang.SecurityException: grantRuntimePermission (atau peringatan Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS) adalah kendala yang sering dialami pengguna Android saat menjalankan perintah ADB untuk memberikan izin sistem pada aplikasi seperti SetEdit, Brevent, Shizuku, LADB, atau MacroDroid. Masalah ini dipicu oleh sistem proteksi tambahan pada antarmuka pabrikan (ColorOS, Realme UI, MIUI, HyperOS, OriginOS) yang memblokir proses shell (UID 2000) mengubah setelan keamanan.
adb shell pm grant <package> android.permission.WRITE_SECURE_SETTINGS, sistem Android menolak otorisasi dan memunculkan SecurityException. Anda tidak perlu me-root perangkat untuk memperbaikinya, cukup sesuaikan setelan pengembang di ponsel Anda.
Penyebab SecurityException di Berbagai Merek Android
Setiap produsen Android menerapkan lapisan pengamanan tambahan pada jembatan debugging ADB. Tabel berikut merangkum penyebab serta solusi tercepat untuk masing-masing merek:
| Merek / Antarmuka | Pemicu Error | Pengaturan yang Perlu Diubah |
|---|---|---|
| Oppo, Realme, OnePlus (ColorOS / Realme UI / OxygenOS) | Fitur "Pemantauan izin" (Permission Monitoring) aktif memblokir izin dari shell ADB. | Nonaktifkan Pemantauan izin (atau aktifkan Nonaktifkan pemantauan izin) di Opsi Pengembang. |
| Xiaomi, Redmi, POCO (MIUI / HyperOS) | Otorisasi keamanan tambahan pada port debugging USB belum diaktifkan. | Aktifkan Debugging USB (Setelan keamanan) (memerlukan kartu SIM dan login Akun Mi). |
| Vivo, iQOO (Funtouch OS / OriginOS) | Sistem menolak modifikasi setelan sistem dari jarak jauh. | Aktifkan Debugging USB dan izinkan Otorisasi keamanan ADB. |
| Samsung & Android Murni (One UI, Pixel, Motorola) | Kunci RSA komputer dicabut atau sesi Wireless Debugging terputus. | Cabut otorisasi debugging USB, pasang kembali kabel, dan pilih "Selalu izinkan dari komputer ini". |
Metode 1: Nonaktifkan Pemantauan Izin (Oppo, Realme, OnePlus)
Pada perangkat dengan ColorOS, Realme UI, atau OxygenOS, pemantauan izin menjadi penyebab lebih dari 90% kendala grantRuntimePermission.
- Buka menu Pengaturan (Settings) di ponsel Anda.
- Pilih Pengaturan tambahan (Additional settings) atau Sistem.
- Ketuk Opsi pengembang (Developer options). (Jika belum aktif, buka Tentang perangkat > ketuk Nomor bentukan / Build number sebanyak 7 kali).
- Gulir ke bawah dan cari opsi Pemantauan izin (Permission monitoring).
- Ubah statusnya menjadi NONAKTIF. Pada versi perangkat lunak terbaru, opsi ini bernama Nonaktifkan pemantauan izin (Disable permission monitoring) — dalam kondisi ini, ubah sakelar ke AKTIF.
Setelah menonaktifkannya, lepas kabel USB lalu pasang kembali (atau muat ulang sesi ADB) dan jalankan ulang perintah pemberian izin.
Metode 2: Aktifkan Debugging USB Setelan Keamanan (Xiaomi, Redmi, POCO)
Pada MIUI dan HyperOS, Xiaomi mewajibkan otorisasi tingkat keamanan yang terhubung dengan akun Mi sebelum ADB diizinkan memodifikasi izin runtime:
- Pastikan kartu SIM terpasang dan memiliki koneksi data internet aktif (diperlukan Xiaomi untuk verifikasi jaringan).
- Buka Setelan > Setelan tambahan > Opsi pengembang.
- Aktifkan sakelar Debugging USB.
- Gulir ke bawah dan aktifkan Debugging USB (Setelan keamanan) — USB debugging (Security settings).
- Sistem akan menampilkan 3 jendela peringatan keamanan berurutan (hitung mundur 5 detik per peringatan). Tunggu hingga selesai, lalu ketuk Berikutnya dan Terima.
Metode 3: Penyesuaian Saat Memakai LADB atau Wireless Debugging
Bila Anda mengeksekusi perintah ADB langsung di ponsel tanpa PC menggunakan aplikasi seperti LADB, Shizuku, atau Brevent via Debugging nirkabel (Android 11+), perhatikan hal berikut:
- Aktifkan kedua opsi bersamaan: Di Opsi pengembang, pastikan Debugging USB dan Debugging nirkabel (Wireless debugging) menyala secara bersamaan.
- Hindari pergantian nomor port acak: Sistem Android memperbarui nomor port setiap kali koneksi diputus. Gunakan mode Layar Terpisah (Split-screen) saat memasangkan LADB agar nomor port dan kode PIN pairing tidak berubah otomatis.
- Hapus perangkat yang dipasangkan: Jika koneksi sering putus, masuk ke menu Debugging nirkabel > hapus semua perangkat terpasang, lalu lakukan pairing ulang dari awal.
Verifikasi: Menjalankan Perintah ADB yang Sering Digunakan
Setelah menyesuaikan setelan di atas, buka Terminal / CMD di komputer atau konsol LADB di ponsel untuk memastikan perintah berfungsi normal:
1. Memberikan izin modifikasi setelan aman untuk SetEdit:
adb shell pm grant by4a.setedit22 android.permission.WRITE_SECURE_SETTINGS2. Memberikan izin dump dan manajemen proses latar belakang untuk Brevent:
adb shell pm grant me.piebridge.brevent android.permission.DUMP3. Memberikan izin kustomisasi antarmuka sistem untuk System UI Tuner:
adb shell pm grant com.zacharee1.systemuituner android.permission.WRITE_SECURE_SETTINGSadb shell pm grant com.zacharee1.systemuituner android.permission.DUMPSecurityException, mulai ulang (restart) perangkat Anda dan hubungkan kembali ADB.
Pertanyaan yang Sering Diajukan (FAQ)
Apakah mematikan fitur "Pemantauan izin" membahayakan ponsel?
Tidak. Fitur ini hanya membatasi instruksi yang dikirim melalui jalur shell ADB. Mematikannya diperlukan agar aplikasi pengoptimal sistem yang sah dapat beroperasi. Anda dapat mengaktifkannya kembali setelah selesai memberikan izin yang dibutuhkan.
Mengapa error ADB kembali muncul setelah ponsel direstart?
Beberapa firmware Realme dan Oppo secara otomatis mengembalikan opsi "Pemantauan izin" ke status default setelah reboot. Namun, izin yang sudah berhasil diberikan (seperti WRITE_SECURE_SETTINGS) tetap tersimpan permanen di sistem.
Apakah ponsel yang sudah di-root dapat mengalami SecurityException ini?
Ponsel dengan akses root (Magisk atau KernelSU) memberikan izin langsung melalui Superuser (su), sehingga tidak melalui shell UID 2000 dan tidak akan terhambat oleh error ini.
Artikel Terkait

BrotX Optimizer v7: Optimasi Android Tanpa Root via Shizuku ADB
Panduan lengkap optimasi Android tanpa root memakai BrotX Optimizer v7 lewat Shizuku ADB: aktifkan ANGLE Vulkan GPU, respon sentuh 0ms, proteksi baterai 80%, dan 58 flags.

Tweaks Gaming Android 7-15 (Root & Tanpa Root) | OOptimize
Panduan OOptimize untuk optimasi SurfaceFlinger dan GPU Vulkan Android 7-15: stabilkan FPS game, atasi lag, dan pangkas delay sentuhan layar.

RAM Purger: Hentikan Proses Latar Belakang & Buat Android Mulus Seperti iPhone
Panduan lengkap skrip RAM Purger (frozen.sh) untuk membekukan ratusan proses latar belakang tidak penting, melegakan RAM, dan menstabilkan FPS game Android.

Cara Menurunkan Resolusi Layar HP Android untuk Meningkatkan FPS Game
Panduan menurunkan resolusi layar Android tanpa root lewat Shizuku & OsteBoss: pangkas beban GPU 50%, bikin HP dingin, dan main game anti drop FPS.
Komentar(2)
Masuk untuk bergabung dalam diskusi
Masuk dengan Google, Facebook, atau Email untuk berkomentar dan mendapatkan notifikasi balasan.
ngon
rất ngon