Tips Android: XPosed Framework dan XPrivacy

Kalau dulu saya nulis tips soal Blackberry, gantian sekarang mau menulis soal Android. Sekarang ini saya mau tulis soal aplikasi yang menarik, tapi sepertinya nggak banyak diketahui orang.

XPosed Framework adalah framework yang memungkinkan untuk membuat (dan menjalankan) aplikasi yang bisa mengintercept API Android apapun. Ada banyak modul yang memanfaatkan framework ini, salah satunya adalah XPrivacy. Dengan XPrivacy, kita bisa memblock atau menipu aplikasi Android yang meminta akses tertentu. Aplikasi ini butuh root access, jadi Android Anda perlu bisa diroot. Perhatikan bahwa aplikasi ini hanya untuk Anda yang cukup expert bermain Android.

Saya berikan beberapa contoh kemampuan modul Xprivacy ini. Ketika sebuah aplikasi atau game meminta koneksi Internet, kita bisa bilang: sedang tidak ada koneksi internet. Ketika aplikasi berusaha mengakses SD Card, aplikasi bisa ditipu dengan menyatakan bahwa SD Card tidak dimasukkan. Aplikasi ini gratis, tapi ada fitur ekstra di Versi pro, misalnya bisa merestriksi aplikasi yang membaca contact list agar bisa membaca dari account tertentu saja. Restriksi ini bisa dilakukan permanen, atau setiap 15 detik. Misalnya kita cuma perlu akses internet sekali untuk aktivasi, kita bisa ijinkan sekali saja, lalu sisanya tidak diijinkan.

Hal yang “menyeramkan” dari Android adalah: ada banyak aplikasi yang meminta banyak permission, contohnya ini ada satu aplikasi yang “recommended” karena teman saya ada yang menginstall. Ketika tombol install ditekan:

small

(ini aplikasi game atau apaan sih?)

Dengan XPrivacy, ketika aplikasi berjalan, kita bisa memblok berbagai permintaan aplikasi tersebut. Misalnya layarnya seperti ini:

phoneid

Pertama kali kita menjalankan sebuah aplikasi, pertanyaan semacam ini akan banyak muncul, dan seminggu pertama memakai XPrivacy akan terasa mengesalkan. Tapi lama-lama jadi terbiasa juga, dan jadi tau banyak mengenai permission yang diminta oleh banyak aplikasi.

Selain untuk masalah privacy, XPrivacy ini berguna karena bisa memblok iklan. Untuk game yang jelas-jelas tidak butuh koneksi internet (misalnya game anak-anak), kita bisa blok akses internet untuk game tersebut, dan efek sampingnya adalah iklan jadi hilang (walau ada juga yang jadi menampilkan iklan default).

Banyak game yang berusaha menshare dirinya via facebook, bahkan game anak-anak. Dengan XPrivacy, kita bisa memblok aplikasi ini, sehingga jika anak tak sengaja memencet logo facebook, efeknya tidak ada.

Review beberapa ponsel

Dulu ganti handphone itu rasanya hal yang berat, ritualnya lama: nyari dulu model yang dimau setelah membandingkan spesifikasi dan harga (biasanya dulu pake tabloid pulsa), keliling-keliling BEC untuk membandingkan harga, dan setelah beli ditest dulu hardwarenya dan fitur-fiturnya. Dari sejak milih, bayar, mbaknya ngetes chargernya, lalu kami ngetes kamera, bluetooth dsb, bisa butuh beberapa jam. Setelah itu masih perlu install aneka software buat memindahkan isi phonebook dari komputer ke HP baru.

Sekarang ganti HP udah biasa banget. Biasanya beli HP dilakukan karena butuh fitur tertentu untuk development (yang menghasilkan duit lagi). Beli HP bisa dilakukan dalam waktu beberapa menit saja. Nggak perlu dicek semuanya, bahkan chargernya pun nggak (karena semua sudah microusb, dan punya banyak sekali charger MicroUSB).

Sekarang saatnya review beberapa HP yang dibeli akhir-akhir ini. Dimulai dari yang terbaru dulu: Asus FonePad 6. Ini bukan produk yang baru keluar, saya memilih ini karena (1) nggak sabar nunggu ZenFone 6 (2) harganya sama dengan Zen Fone 6 (3) Layarnya lebih bagus dari ZenFone 6 (Full HD) (4) Ada Stylusnya. Tadinya pengen ZenFone 6 karena CPU-nya Intel, belum pernah punya HP dengan CPU Intel.

Sejauh ini saya senang sekali dengan layarnya yang besar. Batere sejauh ini cukup untuk pemakaian sehari-hari. Stylusnya cukup praktis, dan enak untuk main game Nintendo DS (dengan emulator). Kameranya mengecewakan (tapi udah tau sih sebelum beli, bahkan nggak ada flashnya). Yang bikin kecewa sebagai developer: boot loadernya locked, kernel modulenya harus signed (dan swap tidak diaktifkan, untuk RAM udah 2GB), rootingnya susah (mesti downgrade dulu). Tapi meski demikian saya masih puas memakai benda ini, dengan SD Card 32 GB (10 GB saya alokasikan untuk partisi Debian).

HP Sebelumnya adalah Nokia X, ini cuma dipakai sebulan (lumayan lah sempat untuk develop sebuah proyek). Saya sudah berusaha mengoprek benda ini, mulai dari rooting, menginstall google apps, menginstall Debian, mengganti launcher, dsb. Satu kata yang merangkum semuanya: HP ini lambat. Satu-satunya aspek bagus dari HP ini adalah: signalnya bagus, baik WIFI maupun 3G-nya.

HP Sebelumnya lagi adalah Nokia Lumia 620. Hardwarenya lumayan bagus, tapi softwarenya mengecewakan. Banyak sekali hal-hal kecil yang bikin kesal. App Storenya masih sedikit, dan algoritma searchnya ngaco banget. Misalnya kita cari “Facebook”, aplikasi resminya nggak muncul di awal. Lalu kalau kita ketemu app tertentu (yang ternyata sudah kita install), maka akan muncul teks “installed”, tapi tidak ada shortcut untuk “open” aplikasi tersebut. Jadi kita perlu kembali lagi ke depan, search lagi nama aplikasi itu. Font judul aplikasi besar sekali, jadi layar tidak optimal.

Lalu berikutnya iMobile IQ9, yang merupakan HP Android lokal Thai (rebranding merk China). HP ini memuaskan, ini yang bikin saya sadar bahwa ternyata saya suka HP yang layarnya besar, sayangnya benda nggak ada slot SD Cardnya.

Bersamaan dengan itu saya memakai Dev Alpha C dengan OS BB10, tapi karena keyboardnya rusak, devicenya saya jual. Dev Alpha C ini cukup enak, cepat, kameranya bagus, keyboardnya sangat bagus. Mundur lagi, saya memakai Z10 hadiah dari BlackBerry. HP ini sangat nyaman dipakai, cepat, kameranya bagus, sayang appsnya kurang banyak, dan walaupun ngetiknya enak, lebih enak lagi pake dev alpha C.

Mundur ke 2 tahun lalu, saya memakai Blackberry Curve 8520. Handphone ini murah, keyboardnya enak, dan cukup cepat. Kameranya jelek banget. HP ini terutama saya gunakan untuk development aplikasi yang memakai BBOS 7.

Sementara Risna saat ini memakai iPhone 5S, sebelumnya sama-sama memakai Dev Alpha C dan Z10, dan sebelumnya lagi memakai Blackberry Storm.

Kayanya saya sering banget ganti-ganti HP, sampai ada yang comment kalau saya ganti HP kayak ganti tas aja.

Konfigurasi Komputer Saat Ini

Tiap beberapa waktu saya mengganti konfigurasi komputer dan atau gadget. Ini sekedar catatan aja, supaya bisa dikenang di masa depan. Ini tujuannya bukan buat pamer. Barang-barang ini dibeli dalam rentang waktu yang cukup lama sampai semua konfigurasi ini didapat.

Saya masih memakai desktop dengan prosessor dari beberapa tahun yang lalu (Quad Core AMD Phenom(tm) II X4 955 Processor), motherboard sudah diperbarui supaya mendukung SATA III (supaya optimal pemakaian SSD-nya), casing masih sama dengan tahun lalu (dan sepertinya akan tetap sama untuk beberapa tahun ke depan). Komputer ini dual boot Windows 8.1 (SSD 180  GB  HDD RAID 1 (Mirroring)  1TB) dan Linux Debian (SSD 60 GB + HDD 1 TB). Sofware Windows dan Office di dalamnya resmi beli. Dulu beli lisensi Windows 7, dan ketika Window 8 keluar, dapet diskon besar. Untuk software officenya sudah dibeli beberapa tahun lalu, jadi bukan office terbaru, masih 2010.

Data di Desktop dibackup ke komputer lain. Memori 16 GB sampai saat ini masih cukup untuk berbagai aktivitas coding, termasuk juga menjalankan lebih dari satu virtual machine. Saya sekarang masih hoby mengoprek elektronik, jadi desktop ini saya belikan extension serial port, sehingga serial port yang ada di motherboard bisa terpakai. Koneksi serial via USB juga bisa dilakukan, tapi koneksi langsung lebih stabil. Desktop ini juga saya lengkapi dengan bluetooth USB untuk development.

Karena memakai SSD, boot ke Windows maupun Linux sangat cepat. Casingnya dan liquid coolernya membuat komputernya jadi senyap. Keyboard yang dipakai adalah mechanical keyboard. Monitor yang dipakai adalah LG 23.5 inch, IPS. Sebenarnya sudah consider memakai 2 monitor, tapi saat ini rasanya satu saja cukup.

Komputer utama ini dihubungkan via kabel ke router. Routernya sudah memakai port gigabit, jadi memindahkan backup bisa dilakukan dengan cepat. Routernya masih Asus RTN16 (Sempat rusak kapasitornya, tapi berhasil diperbaiki), routernya memakai OS DebWRT (varian Debian untuk router). Header serial port di router saya hubungkan ke bluetooth serial adapter, jadi jika bermasalah bisa dicek via koneksi bluetooth baik dari handphone maupun dari desktop. Paket Internet yang digunakan diturunkan, jadi 10 Mbps (down) /1Mbps (up) saja, harganya 599 baht per bulan, plus bonus IPTV dan 3G (jaringan TOT) 1 GB/bulan.

Saya juga memiliki satu server yang selalu menyala untuk berbagai tujuan: backup (membackup mail dari cloud, membackup data dari hosting cloud), torrent, file server, proxy server. Server ini memakai Sempron 145, memori 4GB, SSD 60 GB untuk OS Debian Linux, dan RAID 1 (mirroring) 2 TB. Tadinya saya memakai server ARM untuk keperluan ini, tapi memakai Sempron semua jadi lebih cepat (misalnya waktu untuk rebuild RAID lebih  cepat) walau dayanya lebih banyak.

Untuk menonton film, ada Raspberry Pi yang dihubungkan dengan kabel ke ruang tamu. Sebenarnya bisa pakai WIFI, tapi kabel jauh lebih stabil, dan berguna juga untuk mengcopy file besar ke bawah. Raspberry Pi dihubungkan ke TV LG yang sudah memiliki fitur CEC via HDMI, jadi remote TV bisa dipakai sekaligus sebagai remote Raspberry.

Laptop yang saya pakai sekarang adalah Acer Intel Core i7 dengan memori 12 GB dan harddisk 1 TB. Laptop ini memakai touch screen. OS Utama yang saya pakai adalah Windows 8.1 (OS resmi bawaannya), tapi juga saya set dual boot ke Debian Linux. Ternyata laptop dengan touch screen itu enak juga. Windows 8.1 lebih masuk akal dipakai di device dengan touch screen.

Risna masih memakai MacMini untuk desktopnya, dan MacBook Pro untuk laptopnya. Kedua benda ini saya pinjam kalau saya sedang butuh development untuk OS X. Jonathan punya komputer desktop sendiri, komputer lama saya (Intel Core 2 Duo, Memori 4 GB). Komputernya tidak saya beri harddisk, hanya USB disk 16 GB dengan OS Linux Debian. Dia sudah bisa menyalakan sendiri, dengan dipandu perintah (klik ini, klik itu) dia bisa menjalankan Browser, memainkan beberapa game, dan juga melihat film dengan XBMC (dengan mouse). Mac Mini Risna juga sekaligus jari print server untuk Printer Laser berwarna Merk Samsung.

Supaya aman, semua komputer dilindungi UPS. Ada 2 UPS Leonics Explorer (ini bagus, bisa diganti baterenya), dan 1 UPS biasa.

Untuk masalah gadget portabel: saya memegang Dev Alpha C (BB10) dan Asus Fonepad 6 (Saya juga masih memakai Kindle Keyboard generasi lama untuk membaca buku), sementara Risna memakai iPhone 5S dan tablet Samsung Note 8 (terutama sekarang untuk mendengarkan Audiobook). Supaya tidak menggangu privasi, Jonathan diberi iPad retina dan iPod touch.

Sejauh ini saya senang sekali dengan semua konfigurasi saat ini. Semua bisa dilakukan sangat nyaman, mulai dari nonton film sampai development.