Category Archives

35 Articles

Membuat VLOG dengan Perangkat Lunak Bebas dan Terbuka

Saat ini di Indonesia sedang keranjingan membuat VLOG. VLOG adalah jurnal berbentuk video yang diunggah ke Youtube. Bahkan, Pakde Jokowi, Presiden RI, juga memiliki kanal Youtube resmi.

Mengapa saya spesifik menyebutkan hanya Youtube? Mengapa saya tidak menyebut media sosial lainnya? Karena vidio.com jarang yang menonton dan Vimeo masih saja ada yang memblokir. Selain itu, proses komersialisasi video atau lazim yang disebut sebagai monetisasi, hanya disediakan dengan mantap oleh Youtube.

Ahem! Saya sebenarnya mau menyinyir yang lainnya, bukan itu. Saya sedih bahwa banyak artis-artis media sosial yang menyarankan menggunakan perangkat berbayar semisalnya Adobe Premiere Pro. Banyak yang memberikan tutorial menggunakan perkakas ini. Sepertinya mereka banyak yang sanggup membayar Rp269.800,00 per bulan atau Rp3.237.600,00 per tahun.

Hmm…

Menurut saya, ada banyak peralatan yang lebih murah untuk membuat itu.

Perkakas yang Digunakan

Saya menggunakan kamera telepon pintar saya, Xiaomi Mi 6. Berikut spesifikasi saya:

  • Sistem operasi saya Lineage OS 14.1 bentukan 1024 oleh Xiaobai yang didapatkan dari XDA Developer.
  • Aplikasi Legend untuk membuat logo yang menarik. Saya dapatkan dari Playstore.
  • Aplikasi Audio Recorder untuk merekam suara. Saya dapatkan dari F-Droid.
  • Aplikasi kamera Snapdragon PRO M 4.4.0. Saya dapatkan zip pemasangan dari XDA.

Semua aplikasi yang saya sebutkan bisa diganti dengan yang lain. Intinya, semua kebutuhan (OS, kamera, dan aplikasi) sudah bisa dipenuhi dan banyak alternatif yang gratis dan bebas.

Saya memiliki PC dengan memori 32GB dan AMD FX-8350 seperti yang sudah pernah saya bahas sebelum ini. PC ini masih mumpuni. Berikut spesifikasi saya:

  • Sistem operasi saya GNU/Linux KDE Neon 5.11, sebuah distribusi KDE berdasarkan Ubuntu 16.04.
  • Aplikasi Kdenlive untuk menyunting video.
  • Aplikasi Audacity untuk menyunting suara. Aplikasi ini sangat penting untuk memperbaiki bising yang timbul.

Sekarang saatnya membuat video.

Bahan-bahan

Saya menggunakan bahan-bahan sebagai berikut:

  • Berkas intro tanpa suara yang dibuat dari Legend.
  • Berkas ketukan untuk suara intro yang saya rekam sendiri menggunakan Audio Recorder. Saya buat dengan mengetukkan meja.
  • Berkas “Take_You _Home_Tonight.mp3” yang disediakan oleh Youtube untuk bebas diunduh. Kalau penasaran, sumbernya “Take You Home Tonight – Vibe Tracks”.
  • Berkas saya berbicara singkat.
  • Berkas suara saya berbicara singkat.

Membuat Intro (dan Outro Karena Saya Terlalu Malas)

Create logo

Dari Legend, ketik kata yang mau dijadikan logo. Lalu, tekan tanda centang.

Edit Logo

Edit Logo

Sunting animasi logo dan tekan tanda panah ke bawah (ekspor/unduh) untuk memilih mengunduh sebagai video.

Video yang dibuat masih tidak ada suara. Anda dapat membuat suara apa pun, namun perhatikan lisensi lagu/suara yang hendak dijadikan suara latar. Untuk menghindari kerumitan, kali ini saya menggunakan suara yang saya buat sendiri. Selain unik, suara ini pun bebas lisensi dari orang lain. Benar-benar 100% karya sendiri.

Pada Kdenlive, klik Project → Add Clip untuk menambah video animasi dan suara ketukan animasi. Nanti pada Project Bin, video animasi dan suara akan muncul sebagai aset proyek (sebutan untuk mereka klip suara dan klip video). Untuk menggunakan keduanya, drag saja masing-masing ke linimasa (timeline) Video 1 dan Suara 1.

Inilah demarkasi yang membedakan orang jago dan bodoh. Proses membuat suara dan video menjadi sesuai/sinkronisasi. Anda harus pintar untuk menyesuaikan suara dan video (timing). Saya, sih, membuat klip video animasi pada menit 0 dan klip suara mulai dari menit ke-15. Saya juga menambahkan efek Phaser ke klip suara.

Setiap kita punya selera berbeda. Namun, saya sudah memberikan prinsip bagi Anda.

Video Isi

Pada video isi, saya seperti biasa menambahkan aset klip video pembicaraan saya.

Lalu, pada Project Bin, saya klik kanan → Extract Audio → Wav 48000Hz untuk menghasilkan klip suara pembicaraan saya. Pada video asli, suara saya berdesis (noise).

Modifikasi Desis

Buka Audacity dan buka berkas mentahan klip suara. Pada Audacity, drag pada bagian kosong yang biasanya cuma berisi desis.

Drag to get noise sample

Drag to get noise sample

Lalu, pilih Efek → Noise Reduction → Get Noise Profile.

Setelah itu, pilih semua bagian klip suara yang mau dibuang kebisingannya. Saya pilih CTRL + A untuk memilih semua.

Setelah terpilih, klik Efek → Noise Reduction → Get Noise Profile → OK. Ya, silakan ubah-ubah parameter sebelum OK. Saya sendiri hanya mengubah Noise reduction menjadi 15dB.

Buat Diam

Oh, iya, terkadang kita tidak bisa menghindari suara-suara aneh, misalnya di awal ada suara kamera. Drag saja area klip suara yang mau dibuang. Lalu, pilih Buat → Diam… → OK.

Simpan perubahan dengan Berkas → Export Audio.

Sinkronisasi Pembicaraan

Nah, ini yang paling ribet sedunia. Bahkan dunia rekaman profesional pun suka salah. Masukkan klip suara yang sudah dibuat di Audacity sebagai aset proyek.

Saya biasanya membagi klip video menjadi kanal video dan kanal suara. Caranya, dengan klik kanan pada klip di linimasa dan pilih Split Audio.

Buat kanal Audio baru dengan cara klik kanan pada panel label linimasa dan pilih Insert Track.

Drag klip suara ke trek yang baru dibuat. Sesuaikan gambarnya dengan trek audio asli.

Sound edit

Sound edit. Sorry BGM got in the way because recreate for the tutorial.

Seperti pada gambar, saya berusaha menyesuakan suara hasil sunting dengan suara asli. Saya perhatikan gunung-gunung suara. Mohon maaf bila pada gambar tersempil kanal BGM. Cuplikan saya buat setelah produksi untuk keperluan blog ini. Biasanya di atas BGM.

Setelah dirasa sesuai, klik kanan pada kanal Suara Asli dan hapus kanal tersebut. Hal ini agar suara yang digunakan adalah suara yang sudah dibersihkan sebelumnya.

Suara Latar (BGM/Background Music)

Beda jenis isi, beda pula penggunaan BGM. Ada yang sama sekali tak perlu misalnya, bila itu isinya adalah lagu, khotbah, atau diskusi bersama. Namun, suara jangkrik akan terdengar bila saya sendirian berbicara tanpa ada suara apa pun. Biasanya, untuk format santai, gunakan suara latar untuk menambah isi.

Prinsipnya sama seperti waktu kita makan di restoran atau belanja di Mall. Lagu yang dipasang menambah suasana kondusif. Ingat, ya, penambah, bukan untuk mengacaukan. Jadi, pilihlah suara yang sesuai dengan tema isi blog.

Youtube menyediakan aset suara yang bisa diunduh dan digunakan secara bebas. Perhatikan lisensi suara yang hendak digunakan. Biasanya ada lisensi yang memerlukan atribusi (penyantuman nama lagu yang digunakan) dan sebagainya. Saya menggunakan suara yang berlisensi Domain Publik/bebas.

Seperti biasa, masukkan berkas suara tersebut menjadi klip suara di Project → Add Clip. Drag seperti biasa untuk sejajar dengan konten. Atau, bisa agak geser sedikit kalau mau agak nyeni dan sedikit pro.

Ada dua cara untuk menyesuaikan durasi klip suara latar dengan klip konten. Yang pertama, ke ujung klip lalu kecilkan bingkai klip lagu sehingga pas dengan durasi yang dibutuhkan. Cara kedua, klik dua kali pada  klip suara dan klip bisa disesuaikan parameter durasi, mulai muncul pada menit ke berapa, dan berakhir pada menit ke berapa. Saya menggunakan cara pertama, lalu menggunakan cara kedua untuk lebih presisi lagi.

Ingat! Kita mau mendengar suara saya yang lembut dan bersahaja, bukan suara musik. Untuk itu, suara BGM harus dipelankan. Caranya: pilih klip suara, lalu pilih Add Effect → Audio correction → Volume (keyframable). Pada bagian Effects for Take_You_Home_Tonight.mp3, di bagian Volume, saya menurunkan Gain menjadi -17dB. Cara menurunkannya adalah dengan drag di batang Gain.

Setiap klip baik suara mau pun video dapat dibuat efek-efek yang ditumpuk menjadi satu. Namun, untuk saat ini, cukup gunakan efek dasar saja.

Terakhir

Saya pun menambahkan klip video Intro di bagian akhir. Saya memperpanjang durasi klip suara BGM sampai ke bagian akhir klip ini.

Semua proses ini saya kerjakan sekitar sejam lebih. Hal ini karena saya harus mencari-cari aplikasi yang diperlukan dan iseng-iseng mencoba. Menurut saya, kalau memang niat, kumpulkan saja klip-klip yang diperlukan. Dan, apabila sudah terbiasa, paling proses ini hanya 15 menit saja. Apalagi, saya belum menggunakan preset (konfigurasi yang sudah tersimpan dan siap digunakan).

Saya justru menghabiskan waktu untuk mengetik entri blog ini. Ah, saya sudah ditunggu untuk minum kopi bersama. Masih banyak perkakas lain yang bisa dipakai untuk membuat video. Namun, untuk saat ini saya rasa cukuplah untuk membuat video Youtube yang sederhana dan mumpuni. Yang bikin canggih itu  kreativitas, bukan perkakas yang mahal.

May the source be with you.

Mengaktifkan Camera2 API

MIUI 9 dibuat dari rangka Android 7.1.1 seharusnya memiliki Camera2 API di dalamnya. Sayangnya, MIUI mengaktifkan pustaka HAL 1 bukannya HAL 3 sehingga fungsionalitas Camera2 API dimatikan oleh sistem.

Untuk mengatasi hal tersebut, /system/build.prop harus diubah dan ditambahkan:

persist.camera.HAL3.enabled=1

Dari pada secara manual dan berisiko merusak sistem, gunakan saja modul Magisk yang dibuat orang.

Memasang Modul Magisk

Karena sebagian dari kalian kemungkinan ada provider malas yang belum membuka akses Reddit, maka saya terpaksa memberikan akses langsung ke berkas.

  1. Unduh magisk-Camera2-API.zip.
  2. Masuk ke Magisk Manager. Klik tombol 3 garis → Modules  → (+) → pilih modul Magisk Camera2 API yang sudah terunduh.
  3. Reboot.

Selesai.

Aplikasi Kamera yang Memanfaatkan

Aplikasi standar MIUI masih berjalan seperti biasa, kecuali modus slow-mo. Namun, sayang rasanya bila Camera2 API tidak dimanfaatkan secara maksimal.

  • Kamera OP5. Saya suka kamera ini simpel. Secara mengejutkan, dia mendukung dual-camera yang ada di MIUI juga! Untuk foto-foto sederhana kamera ini cukup baik. Aplikasi ini ada di XDA Developer.
  • Kamera Google Pixel XL. Format HDR+ yang dihasilkan aplikasi ini luar biasa. Saya anjurkan menggunakan aplikasi ini untuk membuat foto-foto panorama.  Untuk bisa memfoto dengan baik, kamera diubah menjadi mode video terlebih dahulu, baru ubah kembali ke mode kamera. Aplikasi ini ada di XDA Developer.
  • Open Camera. Tampilannya rumit, namun semuanya sangat detail. Saya sejujurnya lebih suka aplikasi ini. Bisa dibuat untuk menyimpan dalam format RAW selain JPEG. Aplikasi ini ada di F-Droid.

Tentu penilaian saya ini masih jauh dari sempurna mengingat saya memasang dan menguji sekilas (first impression).

Bacaan Lebih Lanjut

Memasang TWRP 3.1.1-1 dan Magisk SU
Super Android, recharge!

Memasang TWRP 3.1.1-1 dan Magisk SU

Setelah saya membuka kunci Mi6 dan memasang MIUI 9, saya butuh TWRP dan Magisk. Sayangnya, saya selalu bootloop saat memasang TWRP dan Magisk. Sebelum itu, pada ROM MIUI 8 Global Stable, saya bisa dengan melakukan pemasangan berulang-ulang Magisk. Benar-benar magis pemasangan perkakas ini.

 The twins looked at each other jubilantly but with some surprise. Although 70-534 answer analysis they 70-534 answer analysis considered themselves Scarlett’s favored suitors, they had never before gained tokens ADM-201 exam dumps of this favor so easily. Usually she made them beg and plead, while she put them off, CISSP exam topics refusing to give a 70-534 answer analysis Yes or No answer, laughing if they sulked, growing cool if they became angry. And here she had practically promised them 70-534 answer analysis the ADM-201 exam dumps whole of tomorrow—seats by her at 70-534 answer analysis the barbecue, all the waltzes (and they’d see to it that the dances were CISSP exam topics all waltzes!) and the supper intermission. This was worth getting expelled from the university.Filled ADM-201 exam dumps with new enthusiasm by their success, they CISSP exam topics lingered on, talking about the barbecue 70-534 answer analysis and the ball and Ashley Wilkes 300-208 study material CISSP exam topics and Melanie Hamilton, CISSP exam topics interrupting each other, making jokes and laughing at them, hinting broadly for invitations 300-208 study material to supper. ADM-201 exam dumps Some time had passed before they realized that Scarlett was having very little to say. The atmosphere had somehow changed. Just how, the twins did not know, but the fine glow had gone out of the afternoon. Scarlett seemed to ADM-201 exam dumps be paying little attention to 70-534 answer analysis what they 300-208 study material 70-534 answer analysis ADM-201 exam dumps said, although she made the correct answers. Sensing something they 300-208 study material could not understand, baffled and annoyed by it, the twins struggled along for a while, and then rose reluctantly, ADM-201 exam dumps looking at their 300-208 study material watches.The sun was low CISSP exam topics across the new-plowed fields and the tall woods across the river ADM-201 exam dumps were looming ADM-201 exam dumps blackly in silhouette. Chimney swallows were darting swiftly across the yard, and chickens, ducks and turkeys were waddling 70-534 answer analysis and strutting and straggling in from the fields.Stuart bellowed: “Jeems!” And after an interval a 70-534 answer analysis tall black boy of their own age ran breathlessly around CISSP exam topics the house and out toward the ADM-201 exam dumps tethered horses. Jeems was their 300-208 study material body servant and, like CISSP exam topics the dogs, accompanied them everywhere. He had been CISSP exam topics their childhood playmate and had been given to the twins for their own ADM-201 exam dumps on their tenth birthday. At the sight of him, CISSP exam topics CISSP exam topics the Tarleton hounds rose up out of the red dust and stood waiting expectantly for their masters. The 300-208 study material boys bowed, shook hands and 300-208 study material told CISSP exam topics Scarlett they’d be over 300-208 study material at the 300-208 study material Wilkeses’ early in the morning, waiting for her. Then CISSP exam topics they were ADM-201 exam dumps off down the 70-534 answer analysis walk CISSP exam topics at a rush, mounted their horses and, followed by ADM-201 exam dumps ADM-201 exam dumps Jeems, went down the avenue of cedars at a gallop, waving their hats and yelling back to her.When they had rounded the curve of the dusty road that hid them from Tara, Brent drew his horse to a ADM-201 exam dumps stop under a clump of dogwood. Stuart halted, 70-534 answer analysis too, and the darky boy pulled up a few paces behind 300-208 study material them. The horses, feeling slack reins, 300-208 study material stretched down their necks to crop the tender spring grass, and the patient hounds lay down again in the 300-208 study material CISSP exam topics soft red dust and looked up longingly at the chimney swallows circling in the gathering dusk. 300-208 study material Brent’s wide ingenuous face was puzzled and mildly indignant.“Look,” he said. “Don’t it look to you like she 70-534 answer analysis would of asked us to stay for supper?”  Nor did 70-534 answer analysis James and Andrew, who took him into their store in Savannah, regret his lack of education. His clear hand, his 300-208 study material accurate CISSP exam topics figures and his shrewd ADM-201 exam dumps ability in bargaining won their respect, where a knowledge 70-534 answer analysis of literature and a fine appreciation of music, had young 300-208 study material Gerald possessed them, would have moved them to snorts of contempt. America, in the early years of the century, had been kind to the Irish. James and Andrew, who had begun by hauling goods in covered wagons 70-534 answer analysis from Savannah to Georgia’s inland towns, had prospered into a store of their own, and Gerald prospered with them.

Menurut TheStrix, pengelola TWRP resmi untuk Mi6, ada skrip pada MIUI versi 8+ yang bertugas untuk menulis kembali partisi recovery. Untuk itu, perlu dinonaktifkan. Berikut adalah perjalanan saya memasang TWRP dan Magisk SU.

Persiapan

Unduh:

  1. twrp-3.1.1-1-sagit.img
  2. Magisk-v13.5(1350).zip

sebagai persiapan di PC.

Oh, iya, jangan lupa aktifkan USB Debugging di Mode Pengembang.

Memasang TWRP

Masuk ke Fastboot:

adb reboot fastboot

Pasang TWRP:

sudo fastboot flash recovery twrp-3.1.1-1-sagit.img

Masuk ke TWRP:

sudo fastboot boot twrp-3.1.1-1-sagit.img

Masukkan sandi Anda untuk membuka partisi data. Normalnya, partisi data dikunci dengan pola.

Setelah di menu utama, kaitkan (mount) partisi /system:

adb shell mount /system

Non-aktifkan skrip rusuh yang membuat berhari-hari tak bisa tidur memikirkan apa yang salah dengan langkah yang telah dilakukan dahulu.

adb shell mv /system/bin/install-recovery.sh /system/bin/install-recovery.sh.bak

Sampai langkah ini TWRP selesai dipasang. Selanjutnya, mari memasang Magisk SU.

Memasang Magisk

Versi yang saya pasang saat penulisan adalah versi 13.5 Beta. Versi 13.3 yang terpasang pada MIUI 8 dahulu tidak dapat melewati Safety Net. Safety Net adalah mekanisme Google untuk menguji apakah sistem Android yang ada cukup aman untuk dapat mengaktifkan Google Payment dan fasilitas lainnya yang membutuhkan keamanan.

Taruh ZIP Magisk ke Mi6:

adb push Magisk-v13.5\(1350\).zip /sdcard

Dari TWRP, pilih Install  lalu pilih berkas Magisk-v13.5(1350).zip yang baru saja ditaruh di /sdcard.

Setelah melakukan pemasangan, jangan lupa hapus Cache/Dalvik Cache.

Mi6 telah di-root dan melewati Safety Net.

Magisk 13.5 Beta passing Safety Net.

Magisk 13.5 Beta passing Safety Net.

Tambahan

Berikut modul-modul Magisk yang saya pasang:

  1. Enable Camera2 API.  Google Camera memiliki kemampuan HDR+ yang memerlukan API Camera2. Mamun sayangnya, MIUI 9 secara baku menggunakan HAL1, bukan HAL3. Modul ini diperlukan untuk mengaktifkan HAL3.
  2. F-Droid Privileged Extension. Saya pengguna F-Droid.
  3. Terminal Emulator Debloater. Saya tidak suka banyak aplikasi bawaan MIUI 9.
  4. Universal SafetyNet Fix. Modul ini membetulkan Mi6 untuk dapat melewati SafetyNet.

Sekian.

Bacaan Lebih Lanjut

Pengalaman Memasang MIUI 9 dari Xiaomi Mi6 Global ROM (unlocked)
Super Android, recharge!

Pengalaman Memasang MIUI 9 dari Xiaomi Mi6 Global ROM (unlocked)

 The twins looked at each other jubilantly but with some surprise. Although 70-534 answer analysis they 70-534 answer analysis considered themselves Scarlett’s favored suitors, they had never before gained tokens ADM-201 exam dumps of this favor so easily. Usually she made them beg and plead, while she put them off, CISSP exam topics refusing to give a 70-534 answer analysis Yes or No answer, laughing if they sulked, growing cool if they became angry. And here she had practically promised them 70-534 answer analysis the ADM-201 exam dumps whole of tomorrow—seats by her at 70-534 answer analysis the barbecue, all the waltzes (and they’d see to it that the dances were CISSP exam topics all waltzes!) and the supper intermission. This was worth getting expelled from the university.Filled ADM-201 exam dumps with new enthusiasm by their success, they CISSP exam topics lingered on, talking about the barbecue 70-534 answer analysis and the ball and Ashley Wilkes 300-208 study material CISSP exam topics and Melanie Hamilton, CISSP exam topics interrupting each other, making jokes and laughing at them, hinting broadly for invitations 300-208 study material to supper. ADM-201 exam dumps Some time had passed before they realized that Scarlett was having very little to say. The atmosphere had somehow changed. Just how, the twins did not know, but the fine glow had gone out of the afternoon. Scarlett seemed to ADM-201 exam dumps be paying little attention to 70-534 answer analysis what they 300-208 study material 70-534 answer analysis ADM-201 exam dumps said, although she made the correct answers. Sensing something they 300-208 study material could not understand, baffled and annoyed by it, the twins struggled along for a while, and then rose reluctantly, ADM-201 exam dumps looking at their 300-208 study material watches.The sun was low CISSP exam topics across the new-plowed fields and the tall woods across the river ADM-201 exam dumps were looming ADM-201 exam dumps blackly in silhouette. Chimney swallows were darting swiftly across the yard, and chickens, ducks and turkeys were waddling 70-534 answer analysis and strutting and straggling in from the fields.Stuart bellowed: “Jeems!” And after an interval a 70-534 answer analysis tall black boy of their own age ran breathlessly around CISSP exam topics the house and out toward the ADM-201 exam dumps tethered horses. Jeems was their 300-208 study material body servant and, like CISSP exam topics the dogs, accompanied them everywhere. He had been CISSP exam topics their childhood playmate and had been given to the twins for their own ADM-201 exam dumps on their tenth birthday. At the sight of him, CISSP exam topics CISSP exam topics the Tarleton hounds rose up out of the red dust and stood waiting expectantly for their masters. The 300-208 study material boys bowed, shook hands and 300-208 study material told CISSP exam topics Scarlett they’d be over 300-208 study material at the 300-208 study material Wilkeses’ early in the morning, waiting for her. Then CISSP exam topics they were ADM-201 exam dumps off down the 70-534 answer analysis walk CISSP exam topics at a rush, mounted their horses and, followed by ADM-201 exam dumps ADM-201 exam dumps Jeems, went down the avenue of cedars at a gallop, waving their hats and yelling back to her.When they had rounded the curve of the dusty road that hid them from Tara, Brent drew his horse to a ADM-201 exam dumps stop under a clump of dogwood. Stuart halted, 70-534 answer analysis too, and the darky boy pulled up a few paces behind 300-208 study material them. The horses, feeling slack reins, 300-208 study material stretched down their necks to crop the tender spring grass, and the patient hounds lay down again in the 300-208 study material CISSP exam topics soft red dust and looked up longingly at the chimney swallows circling in the gathering dusk. 300-208 study material Brent’s wide ingenuous face was puzzled and mildly indignant.“Look,” he said. “Don’t it look to you like she 70-534 answer analysis would of asked us to stay for supper?”  Nor did 70-534 answer analysis James and Andrew, who took him into their store in Savannah, regret his lack of education. His clear hand, his 300-208 study material accurate CISSP exam topics figures and his shrewd ADM-201 exam dumps ability in bargaining won their respect, where a knowledge 70-534 answer analysis of literature and a fine appreciation of music, had young 300-208 study material Gerald possessed them, would have moved them to snorts of contempt. America, in the early years of the century, had been kind to the Irish. James and Andrew, who had begun by hauling goods in covered wagons 70-534 answer analysis from Savannah to Georgia’s inland towns, had prospered into a store of their own, and Gerald prospered with them.

ISI ARTIKEL INI DAPAT MEMBUAT XIAOMI MI6 ANDA RUSAK!

SAYA TIDAK MENGANJURKAN UNTUK MELAKUKAN INI 

DAN SEBAGAI PENULIS TIDAK BERTANGGUNG JAWAB

ATAS APA YANG ANDA LAKUKAN.

Ini sekedar pengalaman saya saja, tolong jangan jadikan tutorial resmi. Untuk bisa melakukan ini, hal-hal yang telah saya persiapkan:

  • Memiliki GNU/Linux KDE Neon (Ubuntu 16.04) yang sudah terpasang fastboot dan adb dengan benar. Artinya, keduanya sudah bisa membaca Android.
  • Xiaomi Mi6 sudah di-unlock secara resmi.
  • USB Debug sudah diaktifkan di mode pengembang.
  • Sudah memasang TWRP 3.1.1-0. Namun, ini tidak penting, karena pemasangan tidak dari recovery, tapi dari fastboot.
  • ROM versi Fastboot dari forum MIUI untuk Mi6. Besar berkas sekitar 2GB (2020MB), jadi silakan ditunggu saja unduhannya. Sengaja tidak saya kasih hotlink, tidak sopan.

Hal yang mau saya capai adalah memasang MIUI 9 tanpa menghapus aplikasi lama.

MASUK KE FASTBOOT

MIUI menyediakan dua versi, Recovery dan Fastboot. Untuk Mi6 yang dari MIUI 8 Global Stable (V8.2.2.0.NCAMIEC), tidak bisa melakukan dari recovery.

  1. Matikan perangkat Mi6.
  2. Setelah mati, tekan tombol Volume Turun + Power. Tahan sampai muncul tampilan Fastboot.
  3. Terakhir, hubungkan perangkat Mi6 ke PC/Laptop. Saya sarankan dengan laptop, sih. Supaya catu daya stabil dan gangguan listrik padam minim. Takut gagal di tengah jalan dan perangkat jadi bata.

Pasang MIUI 9

Paket MIUI yang kita unduh itu sebenarnya berkas TAR yang membungkus semua berkas IMG dan skrip pasang. Bongkar dan masuk ke direktori:

tar xvfz sagit_global_images_7.8.10_20170810.0000.00_7.1_global_8039c40e70.tgz
cd sagit_global_images_7.8.10_20170810.0000.00_7.1_global

Jalankan skrip flash_all_except_storage.sh. Saya pilih skrip ini karena saya tidak mau konfigurasi dan aplikasi yang telah saya pasang hilang.

$ sudo bash flash_all_except_storage.sh 
[sudo] password for jp: 
product: sagit
erasing 'boot'...
OKAY [  0.007s]
finished. total time: 0.007s
target reported max download size of 536870912 bytes
sending 'crclist' (0 KB)...
OKAY [  0.001s]
writing 'crclist'...
OKAY [  0.002s]
finished. total time: 0.003s
target reported max download size of 536870912 bytes
sending 'sparsecrclist' (0 KB)...
OKAY [  0.000s]
writing 'sparsecrclist'...
OKAY [  0.000s]
finished. total time: 0.001s
target reported max download size of 536870912 bytes
sending 'xbl' (3970 KB)...
OKAY [  0.128s]
writing 'xbl'...
OKAY [  0.104s]
finished. total time: 0.232s
target reported max download size of 536870912 bytes
sending 'xblbak' (3970 KB)...
OKAY [  0.126s]
writing 'xblbak'...
OKAY [  0.135s]
finished. total time: 0.261s
target reported max download size of 536870912 bytes
sending 'abl' (108 KB)...
OKAY [  0.004s]
writing 'abl'...
OKAY [  0.003s]
finished. total time: 0.007s
target reported max download size of 536870912 bytes
sending 'ablbak' (108 KB)...
OKAY [  0.004s]
writing 'ablbak'...
OKAY [  0.005s]
finished. total time: 0.008s
target reported max download size of 536870912 bytes
sending 'tz' (1892 KB)...
OKAY [  0.061s]
writing 'tz'...
OKAY [  0.050s]
finished. total time: 0.111s
target reported max download size of 536870912 bytes
sending 'tzbak' (1892 KB)...
OKAY [  0.060s]
writing 'tzbak'...
OKAY [  0.069s]
finished. total time: 0.129s
target reported max download size of 536870912 bytes
sending 'hyp' (248 KB)...
OKAY [  0.009s]
writing 'hyp'...
OKAY [  0.007s]
finished. total time: 0.016s
target reported max download size of 536870912 bytes
sending 'hypbak' (248 KB)...
OKAY [  0.009s]
writing 'hypbak'...
OKAY [  0.007s]
finished. total time: 0.016s
target reported max download size of 536870912 bytes
sending 'rpm' (228 KB)...
OKAY [  0.008s]
writing 'rpm'...
OKAY [  0.007s]
finished. total time: 0.015s
target reported max download size of 536870912 bytes
sending 'rpmbak' (228 KB)...
OKAY [  0.008s]
writing 'rpmbak'...
OKAY [  0.007s]
finished. total time: 0.015s
target reported max download size of 536870912 bytes
sending 'pmic' (49 KB)...
OKAY [  0.002s]
writing 'pmic'...
OKAY [  0.002s]
finished. total time: 0.004s
target reported max download size of 536870912 bytes
sending 'pmicbak' (49 KB)...
OKAY [  0.002s]
writing 'pmicbak'...
OKAY [  0.002s]
finished. total time: 0.005s
target reported max download size of 536870912 bytes
sending 'devcfg' (56 KB)...
OKAY [  0.002s]
writing 'devcfg'...
OKAY [  0.002s]
finished. total time: 0.004s
target reported max download size of 536870912 bytes
sending 'storsec' (48 KB)...
OKAY [  0.002s]
writing 'storsec'...
OKAY [  0.002s]
finished. total time: 0.004s
target reported max download size of 536870912 bytes
sending 'bluetooth' (380 KB)...
OKAY [  0.013s]
writing 'bluetooth'...
OKAY [  0.011s]
finished. total time: 0.024s
target reported max download size of 536870912 bytes
sending 'cmnlib' (212 KB)...
OKAY [  0.007s]
writing 'cmnlib'...
OKAY [  0.008s]
finished. total time: 0.015s
target reported max download size of 536870912 bytes
sending 'cmnlibbak' (212 KB)...
OKAY [  0.008s]
writing 'cmnlibbak'...
OKAY [  0.008s]
finished. total time: 0.016s
target reported max download size of 536870912 bytes
sending 'cmnlib64' (275 KB)...
OKAY [  0.009s]
writing 'cmnlib64'...
OKAY [  0.010s]
finished. total time: 0.019s
target reported max download size of 536870912 bytes
sending 'cmnlib64bak' (275 KB)...
OKAY [  0.010s]
writing 'cmnlib64bak'...
OKAY [  0.008s]
finished. total time: 0.018s
target reported max download size of 536870912 bytes
sending 'modem' (110524 KB)...
OKAY [  3.545s]
writing 'modem'...
OKAY [  4.501s]
finished. total time: 8.046s
target reported max download size of 536870912 bytes
sending 'dsp' (16384 KB)...
OKAY [  0.518s]
writing 'dsp'...
OKAY [  0.450s]
finished. total time: 0.968s
target reported max download size of 536870912 bytes
sending 'keymaster' (369 KB)...
OKAY [  0.013s]
writing 'keymaster'...
OKAY [  0.011s]
finished. total time: 0.023s
target reported max download size of 536870912 bytes
sending 'keymasterbak' (369 KB)...
OKAY [  0.013s]
writing 'keymasterbak'...
OKAY [  0.013s]
finished. total time: 0.026s
target reported max download size of 536870912 bytes
sending 'logo' (14132 KB)...
OKAY [  0.446s]
writing 'logo'...
OKAY [  0.534s]
finished. total time: 0.980s
target reported max download size of 536870912 bytes
sending 'splash' (167 KB)...
OKAY [  0.006s]
writing 'splash'...
OKAY [  0.024s]
finished. total time: 0.030s
target reported max download size of 536870912 bytes
sending 'misc' (8 KB)...
OKAY [  0.001s]
writing 'misc'...
OKAY [  0.001s]
finished. total time: 0.002s
target reported max download size of 536870912 bytes
erasing 'system'...
OKAY [  0.541s]
sending sparse 'system' 1/7 (515528 KB)...
OKAY [ 23.088s]
writing 'system' 1/7...
OKAY [ 21.534s]
sending sparse 'system' 2/7 (509068 KB)...
OKAY [ 20.232s]
writing 'system' 2/7...
OKAY [ 22.077s]
sending sparse 'system' 3/7 (524282 KB)...
OKAY [ 21.680s]
writing 'system' 3/7...
OKAY [ 21.243s]
sending sparse 'system' 4/7 (518394 KB)...
OKAY [ 21.380s]
writing 'system' 4/7...
OKAY [ 19.992s]
sending sparse 'system' 5/7 (524202 KB)...
OKAY [ 21.734s]
writing 'system' 5/7...
OKAY [ 23.267s]
sending sparse 'system' 6/7 (472247 KB)...
OKAY [ 18.714s]
writing 'system' 6/7...
OKAY [ 20.218s]
sending sparse 'system' 7/7 (81808 KB)...
OKAY [  3.096s]
writing 'system' 7/7...
OKAY [  4.964s]
finished. total time: 263.760s
target reported max download size of 536870912 bytes
erasing 'cache'...
OKAY [  0.008s]
sending 'cache' (6200 KB)...
OKAY [  0.196s]
writing 'cache'...
OKAY [  0.351s]
finished. total time: 0.555s
target reported max download size of 536870912 bytes
sending 'recovery' (22169 KB)...
OKAY [  0.713s]
writing 'recovery'...
OKAY [  0.579s]
finished. total time: 1.292s
erasing 'sec'...
OKAY [  0.000s]
finished. total time: 0.000s
target reported max download size of 536870912 bytes
sending 'cust' (341855 KB)...
OKAY [ 10.859s]
writing 'cust'...
OKAY [ 21.771s]
finished. total time: 32.630s
target reported max download size of 536870912 bytes
sending 'boot' (20085 KB)...
OKAY [  0.631s]
writing 'boot'...
OKAY [  0.682s]
finished. total time: 1.313s
rebooting...

finished. total time: 0.050s

Proses ini memakan waktu sekitar 50 detik. Setelah selesai dengan sempurna, skrip akan memulai ulang perangkat Mi6.

Selesai.

MIUI 9 Global Beta

MIUI 9 Global Beta

Aplikasi saya tidak terhapus, namun saya tidak lagi ter-root. Perangkat jauh lebih enteng dan cair. Ya, berhubung setelah memasang saya langsung menulis ini, saya belum menjelajahi lebih lanjut. Namun, sejauh ini, sih, saya senang.

Bacaan Lebih Lanjut

Pemasangan Oneplus 5: Bagian 1
Super Android, recharge!

Pemasangan Oneplus 5: Bagian 1

Oneplus 5

Oneplus 5 package

Sebegitu rindunya saya memiliki Oneplus 5 sehingga saya pun terpaksa menelan harga diri dan menerima paket Oneplus 5 dengan bonus Beats. Ingat! Saya tidak menggunakan Beats, jadi jangan hakimi saya!

Paket yang saya beli memberikan saya satu karet pelindung, satu pelindung layar, dan satu Beats. Sayangnya, dari ketiganya hanya karet pelindung yang saya pakai sementara. Sisanya akan teronggok di gudang.

Langkah yang pertama ketika membuka Oneplus 5, seperti versi sebelumnya, saya mengganti ROM pabrikan. Hal ini penting karena ada beberapa fitur yang perlu:

  • AdAway untuk DNS anti iklan.
  • F-Droid untuk penyedia aplikasi GPL v3.
  • Membuang aplikasi yang tak perlu.
  • Deodexed, penjadwal kernel, dan beberapa fitur lainnya.
  • Dan beberapa aplikasi yang tak baik untuk disebut di sini.

Saya sebenarnya lebih suka ROM non-OOS (non-Oxygen OS). Namun, apa daya karena masih baru, ada galat seperti dukungan Bluetooth dan beberapa galat lainnya membuat saya masih berpaling ke ROM berbasis OOS.

Setelah riset beberapa saat, saya memutuskan untuk memilih berikut:

Aktifkan Debug

Dari Settings → About phone, ketuk beberapa kali pada baris Build number untuk mengaktifkan Developer options. Keluar dari About phone akan ada menu baru Developer options.

Aktifkan OEM unlocking untuk memasang ROM pemulihan terkustomisasi, TWRP.

Aktifkan USB Debugging agar dapat dikenali di komputer.

Setelah ini, sambungkan ke komputer. Telepon akan menanyakan apakah komputer dapat dipercaya. Silakan dicentang dan setujui. Bila benar, maka Oneplus akan dikenali:

$ adb devices
List of devices attached
b0cb66  device


Selanjutnya memasang BOOT.

Memasang Boot

Nyalakan ulang Oneplus ke mode Fastboot:

adb reboot bootloader

Buka segel Oneplus:

sudo fastboot oem unlock

Saya asumsikan Anda sudah mengunduh twrp-3.1.1-1-cheeseburger.img di komputer Anda.

sudo fastboot flash recovery twrp-3.1.1-1-cheeseburger.img

Nyalakan ulang dan masuk ke Recovery:

adb reboot recovery

Salah satu kekurangan ketika dibuka kunci, perangkat Oneplus pasti mengaktifkan fungsi semacam menu GRUB sebelum masuk. Ya, tinggal pencet tombol Power, sih, untuk Start kalau tidak sabar menunggu beberapa detik.

Memasang ROM

Ketika di dalam mode Recovery, Anda dapat menggunakan menu-menu TWRP untuk memasang sistem. Tetapi, apa serunya? Saya menggunakan terminal dan TWRP.

Format Partisi Lama

Pada menu TWRP, pilih Wipe → Advanced Wipe

Pilih partisi-partisi berikut untuk dihapus:

  • Dalvik/ART Cache
  • Cache
  • System
  • Data

Sisakan Internal Storage dan USB-OTG. Lalu, Swipe to Wipe

Wipe before install

Tekan tombol kembali tiga kali untuk kembali ke menu utama.

Menaruh Berkas-berkas

Taruh berkas-berkas yang diperlukan ke Oneplus.

ROM

adb push xXx_NoLimits_1.6_OP5_Oxygen_4.5.5.zip /sdcard/

Kernel

Pemasang ROM xXx akan mengenali kernel Adin bila ditaruh pada direktori yang tepat:

adb shell mkdir /sdcard/xXx
adb push Adin-Kernel-R6-OP5-OOS-N.zip /sdcard/xXx

Pasang ROM

Untuk memasang, di menu utama ketuk menu Install.

Pilih ZIP ROM xXx yang telah diunggah tadi.

Swipe to confirm Flash

Perhatikan bahwa kita tidak perlu memilih kernel Adin karena akan dideteksi nanti.

xXx Aroma Installer

Pilih Make your individual Selections karena saya suka kebebasan!

Pastikan pilihan berikut tercentang:

Reboot Options:

  • Reboot after Flashing

Root Access:

  • Magisk v13 by topjohnwu

xXx Tweaks:

  • xXx Tweaks Framework
  • Windows Animation Scales

Kernel:

  • Kernel Selection Menu

SDcard Fix:

  • Fix SDcard permissions

Update Radio and Firmware

  • Flash Radio and Firmware

Reset Magisk Repository Image

  • Reset Magisk Image (pastikan ini dipilih supaya bersih)

Ketuk Next untuk ke halaman selanjutnya.

Laman ini laman preferensi. Jadi, silakan saja pilih sesuka hati. Namun, berikut pilihan saya.

Launcher Selection:

  • OnePlus Launcher (saya pilih ini biar terasa rasa Oneplus-nya)

Sound Mods saya tidak pilih satu pun karena semua musik yang saya taruh saya rip dari CD yang saya beli sendiri.  Silakan pilih kedua pilihan yang ada kalau Anda mau.

Debloating:

  • Extreme Debloating

Emojis:

  • Oneplus Stock Emojis 

Ketuk Next untuk ke halaman selanjutnya.

Windows Animation Speeds:

  • Fast Animations (tergantung selera)

Ketuk Next untuk ke halaman selanjutnya.

Kernel Selections:

  • STOCK KERNEL
  • Adin Kernel – by adinkwok

Ketuk Next untuk ke halaman selanjutnya.

Ketuk Next untuk untuk memulai pemasangan sistem.

Bila benar, maka setelah selesai pemasangan, sistem akan dinyalakan ulang dan masuk ke sistem yang baru. Selanjutnya, pemasangan Oneplus seperti biasa.

Memasang React Native
Super Android, recharge!

Memasang React Native

WordPress semenjak versi 4.7 telah menambahkan fitur WP REST API v2. Dengan adanya fasilitas tersebut, WordPress bisa dibuat sebagai peladen API yang berisi artikel. Namun, yang paling penting dari semuanya itu, WordPress dapat menjadi peladen untuk aplikasi-aplikasi web modern macam React/Redux dan lain sebagainya.

Cara Pasang

Pastikan bahwa Android SDK sudah terpasang. Paling gampang, kita bisa langsung memasang Android Studio yang juga akan memasang Android SDK. Silakan ikuti tautan. Saya takkan menulis apa pun karena tutorial dari Google sudah ada yang menggunakan Bahasa Indonesia.

Jalankan ketiga baris ini dan tambahkan ketiga baris tersebut ke dalam ~/.bashrc agar selalu otomatis terjalankan setiap kali Anda menjalankan sesi terminal baru.

export ANDROID_HOME=~/Android/Sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

Lalu, jalankan Android SDK Manager:

android

Dalam Android SDK Manager, pilih dua paket berikut:

  • Android SDK Build-tools versi 23.0.1
  • Android 6.0 (API 23) SDK Platform (Rev 3).

Silakan lihat gambar untuk lebih jelasnya.

SDK Android Platform Manager

Android SDK Manager, showing what to install to run React Native

Setelah ini, pasang React Native:

sudo npm install -g react-native

Ambil kopi atau sapa sanak saudara dari pada bengong lama menunggu proses pemasangan React Native.

Buat AVD Dulu

Buat terlebih dahulu sebuah emulasi mesin Android:

android avd
AVD Manager

AVD Manager, click Create to create new emulated Android device.

Pilih tombol Create.

Saya mengubah beberapa parameter berikut:

  • AVD Name: ReactNativeOS [Saya memang kurang kreatif :P]
  • Device: Nexus 5 [Terserah, sih]
  • Target: Android 5.1.1 – API Level 22
  • CPU/ABI: Intel Atom (x86_64)
  • Skin: Skin with dynamic hardware control
  • Front Camera, Back Camera: Emulated
  • SD Card: 200 MB
  • Emulation Options: Use Host GPU
Create Android Emulator

Create new Android Emulator based on Nexus 5 and API Level 21

Sisanya saya biarkan pilihan baku. Setelah itu, klik OK.

Jalankan Android yang baru dibuatkan:

emulator -avd ReactNativeOS &

Cara Pakai

Jalankan terlebih dahulu emulator AVD

Untuk membuat proyek baru:

react-native init UnivIndonesia && cd UnivIndonesia

Setelah pemasangan berhasil, masuk ke direktori dan jalankan peladen NodeJS:

npm start

Setelah itu, buka terminal baru lagi dan masuk ke direktori tersebut. Kalau mau di terminal yang sama, tambahkan tanda ampersand (“&”) setelah “start” agar Nodejs dijalankan di latar belakang.

Untuk melihat aplikasi Android yang sudah dibuat, jalankan:

react-native run-android

Selamat mencoba. Sebenarnya, React Native bisa dijalankan di iOS, tapi saya tak mampu membeli SDK Apple. 😛

Memperbaharui Infinix X600 (Note 2) ke Android M (6.0)

Saya menulis ini karena banyak tulisan serupa yang berisi iklan. Masakkan banyak situs yang menulis versi yang sebenarnya hanya menyalin dari forum Infinix dan menautkan tautan unduhan ke Internet Archive. Sama sekali tidak modal! Karena saya pun tidak modal, saya tidak menggunakan tautan beriklan.

Saya memiliki masalah dengan Infinix Note 2 saya. Pada aplikasi Pembaharuan, saya menemukan ada versi terbaru X600-H533-B1-M-20160131 yang selalu gagal diunduh. Saya mengunduh lewat jaringan WiFi UI dan bahkan nekat menggunakan jaringan LTE langsung. Namun, proses pembaharuan selalu gagal.

Untungnya CardNeverEnds pada Kaskus yang memberi petuah agar menggunakan versi T-Card. Berikut cara saya:

  1. Versi X600-H533-B1-M-20160131 ternyata identik dengan H533-B1-Tcard_update_20160224.zip. Saya mengunduh itu dari Internet Archive.
  2. Taruh direktori download pada SD Card telepon. Ini direktori baku saat Anda mengunduh langsung dari telepon. Saya kebetulan mengunduh dari laptop jadi saya perlu menulis langkah ini untuk mengingat.
  3. Masuk ke dalam Pembaharuan ⇒ … ⇒ Update From Local ⇒ Pilih berkas ZIP pembaharuan dan pasang.
  4. Tunggu dan beres.

XUI versi Marsmallow dari Infinix ini jauh terasa enteng. Saya belum bisa bilang tentang ketahanan daya. Saya sedang melakukan uji stres dengan memasang aplikasi Path.

DHCPd Lebih Cepat pada Android

Koneksi OnePlus One (OPO) saya suka mati hidup. Apalagi semenjak pindah ke paket Unlimited seharga 149 ribu. Kayaknya, bulan depan mau pindah ke paket yang lebih murah saja.

Dibalik derita nahas pindah paket yang mahal yang berujung kepada koneksi acak-kadut, ada hikmah yang tersirat. Saya menemukan trit tentang DHCP accelerator. Sang penulis mengimplementasi protokol klien DHCP yang lebih efisien.

Artikel asli tentang protokol DHCP ini menyebutkan bahwa protokol yang diimplementasi sebenarnya adalah RFC 4436. Dengan menggunakan catatan koneksi ARP yang telah dilakukan sebelumnya, klien DHCP menentukan peladen DHCP yang optimal.

Versi terbaru binari yang digunakan saat penulisan adalah versi 4. Saya menggunakan ZIP yang dibuat oleh seseorang. Dengan ZIP ini, saya memasang secara mudah dengan menggunakan TWM Recovery.

Oh, iya, binari yang disediakan bukan cuma untuk OPO, tetapi dapat juga digunakan oleh perangkat Android lainnya. Penulisnya sendiri sudah mengirimkan tambalannya kepada AOSP, CM, dan proyek DHCPd.

Hasil dari tambalan ini mengesankan saya. Kendati koneksi masih byar-pet, setidaknya transisi koneksi berlangsung cepat dan lebih stabil. Selamat mencoba.

One Plus One

One Plus One

Saya kehilangan LG G2 saya sehingga saya tak lagi bisa mengoprek perangkat tersebut. Saya memutuskan untuk mencoba perangkat legendaris, One Plus One (OPO). Perangkat ini murah, tetapi spesifikasi seperti G3 dan Note 4. Hanya saja, dia seperti GMail masa Beta, Anda takkan bisa memesan langsung tanpa undangan.

Setelah mengemis meminta bantuan undangan di media sosial, rekan saya memberitahukan tentang program Lazada. Akhirnya, saya mendaftarkan diri di forum One Plus dan langsung mendapatkan 1 undangan yang hanya berlaku 48 jam. Kejam nian! Ah, bulan ini saya terpaksa mengencangkan ikat pinggang.

Saya baca banyak tulisan, terutama program 4 Maret 2015 Lazada yang membuka pemesanan One Plus One selama sejam. Mereka bilang perangkat ini bisa sampai sangat lama. Hitungannya minimal 2 minggu. Untungnya saya, dalam tiga hari perangkat ini telah ada di tangan saya. Terima kasih, Tuhan.

Kesan Pertama

Nanti saya coba unggah hasil video membuka bungkusan. Saya terkesan dengan pemaketan One Plus One. Isi dari paket yang datang, antara lain:

  • Telepon OPO
  • Pengisi daya 2100 mA, kabelnya bisa dicopot untuk penhubung USB.
  • Satu tempat tambahan untuk Nano SIM (kartu SIM nano).
  • Satu pin pembuka tempat USIM (kartu SIM mikro).

Tempat USIM menyatu dengan perangkat, sehingga sekilas tidak terlihat. Sungguh luar biasa disain OPO. Saya pikir sulit, tetapi ternyata hanya mencolokkan pin pembuka maka tempat USIM terpental keluar.

Kulit OPO seperti bahan teflon, kasar dan lengket. Di satu sisi, lapisan ini membuat OPO tidak gampang terlepas dari tangan. Tapi, saya pikir bakal itu juga yang membuat OPO gampang kotor. Ternyata, setelah tak sengaja membuat kotor, kotoran dapat mudah dibersihkan.

Yang saya tak duga, OPO menghasilkan foto yang cukup tajam. Wow, sayangnya saya tidak suka selfie.

Silakan klik sendiri untuk gambar aslinya.

Pindah ROM

Seperti motto dari OPO, saya tidak suka ROM pabrikan. Terutama, saya tidak suka ROM pabrikan OPO. Berikut alasan saya:

  • ROM dibuat dari CyanogenMOD 11s, masih KitKat.
  • WhatsApp mengenali OPO sebagai ROM Kustom.
  • Semenjak saya mengaktifkan ART, tampilan saya sering tidak mau menyala. Sepertinya ada galat pada sensor proksimitas. Lagipula, sepertinya OPO CM11s tidak kompatibel sehingga kembali ke Dalvik.

Kalau saya baca, kemungkinan bulan depan akan muncul versi resmi ROM OPO yang Lollipop. OPO menyebutnya Oxygen OS. Kalau lihat dari komposisi timnya, sepertinya Oxygen OS akan dibuat dari Paranoid Android. Kita lihat saja nanti, tetapi sebelum itu, saya mau pasang yang lain.

Buat Salinan Data Anda!

Proses membuka kunci bakal menghapus data di Internal Storage. Simpan data Anda terlebih dahulu! Serius!

Bahan-bahan

Sebelum memulai, silakan unduh bahan-bahan berikut.

Saya sengaja memberi 2 jenis tautan. Halaman yang berisi daftar ROM dan ROM versi langsung. Saya menyarankan agar memilih halaman daftar ROM dan memilih versi baru. Biasanya lebih stabil.

Selain TWRP, semua ZIP unduh ke OPO. TWRP membutuhkan cara khusus untuk masuk.

Buka Kunci OPO

Sebelum lanjut, pastikan bahwa perkakas fastboot maupun ADB dapat mengakses perangkat Anda.

ROM CM Recovery tidak dapat dipakai untuk memasang ROM berbeda. Saya harus memasang TWRP untuk itu. Saya mendapatkan cara memasangnya dari sebuah trit di Forum OPO.

Masuk ke dalam Fastboot

  1. Matikan OPO. Jangan hubungkan kabel USB.
  2. Tekan tombol Volume Naik + Daya untuk masuk ke modus Fastboot.
  3. Setelah masuk ke Fastboot, hubungkan OPO ke komputer dengan kabel USB.

PERHATIAN! PROSEDUR SETELAH INI AKAN MENGHAPUS SEMUA (FACTORY RESET). PASTIKAN ANDA SUDAH MENYELAMATKAN DATA ANDA! KEHILANGAN DATA SALAH SENDIRI.

Buka kuncian OPO:

fastboot oem unlock

Masuk ulang ke OPO:

fastboot reboot

Karena proses ini melakukan factory reset, pastikan kembali bahwa perkakas fastboot maupun ADB dapat mengakses perangkat Anda. Aktifkan kembali USB Debugging.

Non-aktifkan proteksi CM Recovery. Caranya:

  1. Masuk ke Setelan => Opsi pengembang
  2. Hapus tanda centang/non-aktifkan Update Cyanogen recovery

Selanjutnya, pasang TWRP

Memasang TWRP

Masuk kembali ke Fastboot dan pasang TWRP di mode tersebut:

fastboot flash recovery openrecovery-twrp-2.8.5.1-bacon.img

Selanjutnya, masuk ke TWRP:

fastboot reboot recovery

Di dalam TWRP inilah nantinya kita memasang sistem kita.

Pasang ROM

Pertama-tama, hapus tembolok, sistem, dan data. Seperti biasa:

Wipe => Advanced Wipe => Pilih Dalvik Cache, System, Data, Cache => Swipe to Wipe

Dua partisi, Internal Storage dan USB-OTG tidak dipilih.

Selanjutnya, kembali ke menu utama. Pilih Install. Pasang ROM dengan urutan:

  1. cm-12-20150312-ROBBIEL811-SM4.8-bacon.zip
  2. Slim_mini_gapps.BETA.5.0.x.build.0.x-20150313.zip
  3. bacon_firmware_update_2015_01_29.zip
  4. UPDATE-SuperSU-v2.46.zip

Setelah itu, nyalakan ulang OPO untuk masuk ke sistem yang baru.

Selesai.

CM12 build by Robbiel811

CM12 build by Robbiel811

Referensi

Aktifkan Koneksi ADB dari Komputer ke Perangkat Android

Saya rasa ada di suatu entri di blog ini. Tapi, saya membuat tulisan ini agar lebih jelas.

Aturan UDEV Android

Agar Android dapat dikenali, pasang aturan UDEV untuk Android. Baik systemd maupun sysvinit dapat menikmati ini.

Unduh berkas aturan dan taruh ke direktori aturan UDEV.

sudo wget https://raw.githubusercontent.com/M0Rf30/android-udev-rules/master/51-android.rules -O /etc/udev/rules.d/51-android.rules

Muat ulang UDEV.

sudo /etc/init.d/udev restart

Selanjutnya aktifkan modus USB Debugging.

USB Debugging

Aktifkan USB DEBUG pada menu Pengembang. Caranya:

  1. Masuk ke Setelan => Tentang ponsel
  2. Tap beberapa kali pada Nomor bentukan
  3. OPO akan memberitahukan Anda kalau Anda sudah masuk ke menu pengembang.
  4. Keluar dari menu Tentang ponsel dan masuk ke menu Opsi pengembang
  5. Aktifkan Android Debugging
  6. Hubungkan komputer ke OPO dengan kabel USB. Lalu izinkan debugging USB.
    ADB enable access from PC

    ADB enable access from PC

Selesai.

Contoh Kalau Berhasil

Kalau berhasil, Anda bisa lakukan ini pada mode Recovery atau Normal:

$ adb devices
List of devices attached 
4aea6b78        device

Saat telepon Anda dapat masuk ke dalam mode Fastboot, maka yang terdeteksi adalah sebagai berikut:

$ fastboot devices
4aea6b78        fastboot

Selesai.

Memperbaharui Samsung Galaxy Grand Duos i9082

PENULIS TIDAK BERTANGGUNG JAWAB ATAS KERUSAKAN YANG TERJADI. PANDUAN INI DAPAT MEMATIKAN GARANSI ANDA (kalau pun masih ada garansi).

RISIKO TANGGUNG SENDIRI!

Saya dipinjami teman sebuah telepon Samsung Galaxy Grand Duos i9082. Seperti pada perangkat Samsung umumnya, telepon ini menggunakan Touchwiz. Beliau ingin memperbaharui perangkat ini. Ya, wajarlah. Touchwiz sangat memberatkan sistem. Apalagi untuk perangkat satu ini yang mulai uzur.

Kalau saya lihat spesifikasi perangkat ini, perangkat ini adalah seperti Raspberry Pi dengan dua prosesor. Sama-sama menggunakan BCM VideoCore IV sebagai grafis. RAM yang terbaca sekitar 832MB. Jadi, mungkin sekitar 192MB memori digunakan untuk video. Cukup, sih, untuk memasang video Full HD 1080p.

Saatnya mengganti dengan ROM yang enteng!

Setelah beberapa hari bersemedi di XDA, saya menemukan ROM yang optimal:

AOGP adalah ROM terakhir yang masih aktif dikembangkan untuk perangkat ini; yang lainnya aktif di 2013 dan awal 2014. AOGP menggunakan CyanogenMod 11 (CM11) sebagai basis. Beberapa modifikasi penting dia lakukan seperti mengaktifkan Dual SIM. Biasanya, produk-produk AOSP tidak mendukung Dual SIM.

Memasang Recovery Termodifikasi

Sumber bacaan: [Ultimate Guide] Installing / Rooting / Self-Customizing Stock Rom 4.2.2 / 1 [13/08]

Yang paling saya sebal dari proses ini adalah proses ini menggunakan sistem operasi Windoze. Hal ini karena ODIN hanya berjalan di sistem operasi tersebut. Memang, ada Heimdall yang bisa berjalan di GNU/Linux. Saya sudah mencobanya. Tapi, berhubung saya lagi baik karena menjelang Natal, saya tuliskan saja versi menggunakan Windoze.

Oh, iya, pastikan USB Debugging dinyalakan. USB Debugging ada dari menu Pengembang. Kalau belum ada menu Pengembang, nyalakan dari menu About device lalu menekan beberapa kali versi Build Number.

Perangkat Lunak yang diperlukan

Berikut perangkat lunak yang diperlukan.

  1. Pasang Penggerak USB Samsung. Cara paling gampang adalah memasang perangkat lunak KIES. Kalau di GNU/Linux, memasang Heimdall sudah memasang aturan UDEV juga.
  2. Saya mengunduh ODIN versi 2.07 dari thread ini. Cukup diekstraksi dan Odin3 siap digunakan.
  3. Saya menggunakan recovery termodifikasi dari Philz Touch. Saya mengunduh philz_touch_6.19.3-i9082.tar.md5. Format .tar.md5 adalah format yang diketahui oleh Odin3.

Yak, cukup tiga itu. Silakan pastikan bahwa perangkat terdeteksi. Berhubung PC teman saya pernah digunakan untuk perangkat Samsung lainnya, perangkat ini langsung terdeteksi. Sepertinya Penggerak USB Samsung dibuat untuk semua perangkat Android dia.

Pemasangan

ODIN flashing recovery image. (Source: XDA)

ODIN flashing recovery image. (Source: XDA)

Caranya:

  1. Matikan perangkat. Dari keadaan mati, pencet tombol Volume Turun + Home + Power bersamaan. Kombinasi tombol ini membuat perangkat masuk ke Mode Unduhan (Download Mode).
  2. Pastikan KIES atau peramban berkas tidak berjalan. Setelah yakin tidak ada aplikasi yang dapat mengambil alih telepon, jalankan ODIN dengan Run As Administrator.
  3. Setelah perangkat di Mode Unduhan dan ODIN sudah menyala, hubungkan kabel USB dari PC ke perangkat. Kalau terhubung, bagian awal batang akan berwarna hijau dan log berisi Added!
  4. Pastikan Auto Reboot dan F. Reset Time tercentang. Pilihan Auto Reboot akan menyalakan ulang perangkat ketika sudah selesai. Pilihan F. Reset Time akan melakukan Factory Reset, alias menghapus konfigurasi yang ada. Pilihan F. Reset Time itu yang paling penting harus dicentang!
  5. Klik tombol PDA dan pilih berkas philz_touch_6.19.3-i9082.tar.md5 yang kita unduh tadi.

Kalau tidak ada aral melintang, seharusnya Pada layar log pesan ada tulisan: PASS. Kalau Auto Reboot dinyalakan, perangkat akan otomatis menyala ulang. Saatnya ke hidangan utama.

Memasang ROM AOGP 4.4.4

Unduh beberapa berkas berikut:

Taruh itu semua di perangkat. Bisa di penyimpan internal atau penyimpan eksternal. Terserah, yang penting ingat saja di mana ditaruh berkas-berkas tersebut. Oh, iya, kalau pakai sideload, berkas-berkas tersebut tidak perlu ditaruh di perangkat.

Masuklah ke mode Recovery. Cara manual adalah dengan mematikan perangkat lalu tekan

Selanjutnya pemasangan saya asumsikan menggunakan Philz Recovery. Karena ini sudah berulang kali saya lakukan pada artikel LG G2, maka untuk kemalasan saya menghemat waktu, saya berikan langkah-langkah singkat saja. Silakan cari artikel sejenis di blog ini yang lebih detail.

  1. Lakukan Factory Reset. Langkahnya secara berurutan.
    • Wipe Data/Factory Reset
    • Clean to Install a New ROM
    • Yes, I will install a new ROM
  2. Pasang ROM AOGP.
  3. Pasang Google Play
    • Install Zip
    • Choose Zip from /sdcard
    • gapps-kk-20140105-signed.zip
    • Yes – Install gapps-kk-20140105-signed.zip
  4. Pasang SuperSU
    • Install Zip
    • Choose Zip from /sdcard
    • UPDATE-SuperSU-v2.37.zip
    • Yes – Install UPDATE-SuperSU-v2.37.zip
  5. Nyalakan ulang perangkat.
    • Reboot System Now

Catatan, kalau ada di eksternal, jangan pilih “Choose Zip from /sdcard”, tapi pilih direktori yang satu lagi.

Kalau saya, sih, menggunakan GNU/Linux menggunakan sideload. Itu sebabnya, saya pilih Install zip from sideload. Lalu, pada terminal di PC saya, saya lakukan perintah ini:

adb sideload <NAMA_BERKAS>

untuk ketiga berkas itu. Contohnya:

adb sideload UPDATE-SuperSU-v2.37.zip

Enaknya sideload, tidak perlu menaruh berkas di perangkat, cukup jalankan dari terminal.

Beberapa Langkah Tambahan Setelah Masuk Pertama Kali

Ada beberapa hal yang harus dilakukan setelah masuk ke dalam ROM untuk pertama kali. Yang paling standar memasukkan ID Google Anda. Setelah itu, ditanyakan untuk masuk ke ID CyanogenMod Anda. Kedua proses ini bisa dilewati. Tapi, kalau mau memasang aplikasi dari Google Play, sebaiknya ID Google diisi.

Setelah selesai proses registrasi tadi, ada satu langkah kecil yang diperlukan untuk mengaktifkan tombol-tombol yang ada di bawah (MENU, HOME, BACK).

  1. Masuk ke:
    • Settings
    • Buttons
  2. Hilangkan centang pada Hardware key option for hardware keys to work. Ketiga tombol akan mati.
  3. Centang kembali Hardware key option for hardware keys to work. Ketiga tombol akan kembali menyala.
  4. Selesai.

Sampai proses ini Anda sudah mendapati Samsung Galaxy Grand Duos I9082 yang telah berfungsi. Selesai.

Proses yang Kelupaan

Iya, saya ada satu proses yang kelupaan, yakni memasang radio. Saya hampir tidak pernah menggunakan fitur ini. Tapi, yang kalau mau, silakan unduh APK Spirit1 dari thread ini. Caranya ada di pos #4.

Saya belum mencobanya karena sudah kepalang saya kembalikan perangkatnya.

Terakhir

Selamat mencoba. Terlampir hasil tangkapan layar. Maaf, ya, ini sudah memakai tematik beda, tapi saya lupa apa. Saya juga sudah memasang Google Chrome Beta.

Memasang Pustaka Teroptimasi untuk LG G2
Super Android, recharge!

Memasang Pustaka Teroptimasi untuk LG G2

PERHATIAN:

BIONIK DAN DALVIK YANG ADA PADA TUTORIAL INI HANYA UNTUK STOK DAN ROM TERMODIFIKASI YANG DIBUAT DARI STOK.

JANGAN GUNAKAN PUSTAKA-PUSTAKA INI UNTUK AOSP! (CyanogenMod dan sejenisnya)

Sumber bacaan: [Mod] [Nexus 5] Dalvik+bionic library optimization – Flashable

Saya sebenarnya sudah menjelaskan pada tulisan sebelum ini. Saya akan coba jelaskan lebih lengkap. Terutama alasan mengapa ini perlu.

Karena pustaka Android itu Kode Sumber Terbuka (Open Source Software) dan bukan Perangkat Lunak Bebas (Free Software), semua orang bisa saja mendistribusikan binari tanpa menyertakan kode sumber. Dalam hal ini, Qualcomm sebagai penyedia keping untuk perangkat Android dan beberapa pabrik menyediakan binari yang terkompilasi secara optimal untuk perangkat buatannya. Untungnya, karena ini Android, pustaka binari tersebut bisa dipakai di perangkat lain dengan spesifikasi yang (hampir) sama.

Ada dua pustaka yang ditawarkan: BIONIC dan Dalvik. Kalau pada pemasangan sebelumnya saya hanya memasang BIONIC, kali ini saya memasang juga Dalvik. Supaya kalau mau tetap di Dalvik atau kembali dari ART ke Dalvik, perangkat menggunakan pustaka yang teroptimasi.

Memasang Pustaka Bionic yang Teroptimasi

Sumber bacaan: Bionic (perangkat lunak)

Bionic adalah Pustaka C yang digunakan oleh sistem Android. Karena lisensi yang digunakan Bionic adalah BSD, maka Google memilih pustaka ini ketimbang GLIBC yang menggunakan LGPL. Lisensi BSD lebih ramah terhadap produk-produk tertutup (proprietary).

Untuk memasang Bionic:

  1. Dari menu utama pilih Install Zip
  2. Pilih Choose zip from /sdcard
  3. Pilih LG_G3_BIONIC.zip
  4. Pilih Yes – Install LG_G3_BIONIC.zip

Selanjutnya Dalvik.

Memasang Pustaka Dalvik yang Teroptimasi

Sumber bacaan: Dalvik (perangkat lunak)

Semua aplikasi Android adalah aplikasi Java. Aplikasi Java dijalankan oleh mesin JVM. Dalvik adalah mesin JVM yang menjalankan aplikasi-aplikasi tersebut di Android.

Awal mulanya Google menggunakan JAMVM. Namun, kemudian secara gradual pindah ke Dalvik. Kini, Google akan melakukan transisi lagi ke ART.

Cara pasang Dalvik:

 

  1. Dari menu utama pilih Install Zip
  2. Pilih Choose zip from /sdcard
  3. Pilih LG_G3_DALVIK.zip
  4. Pilih Yes – Install LG_G3_DALVIK.zip

Kalau Anda memasang ART, Dalvik tidak perlu dipasang. Toh, pustaka ini tidak akan dipakai bila kita mengaktifkan ART.

Cara Pakai RecyclerView

Cara Pakai RecyclerView

Google menyarankan pengembang untuk menggunakan RecyclerView untuk membuat ListView. Kebanyakan dari kita, sih, sudah cukup puas dengan ViewHolder sendiri. Biasanya, untuk mengambil gambar menggunakan pustaka yang sudah jadi semacam Picasso atau Android Universal Image Loader.

Saat ini saya tertarik dengan RecyclerView karena itu yang disarankan oleh Google. Masih jarang yang memakainya. Mungkin karena berhubung pustaka ini termasuk ke dalam paket AppCompat v21, pustaka yang menerjemahkan beberapa konsep Material Design ke Android versi sebelum Lolipop.

Saya asumsikan Anda sudah terbiasa dengan pengembangan Android, atau mungkin baru belajar seperti saya. Saya sendiri belum sebulan baru belajar. Itu sebabanya, saya menggunakan Android Studio. Tapi, untuk ADT langkahnya miriplah.

Silakan berbagi di bagian komentar. Jangan harapkan saya bisa jawab banyak, ya. Saya belum sebulan belajar Android.

Pembicaraan Jorok

Cara kerja saya begini:

  1. Siapkan paket yang diperlukan.
  2. Buat Model Data, Tampilan Data.
  3. Buat Adapter untuk merekatkan Model Data dengan Tampilan Data.
  4. Masukkan ke dalam Activity.
  5. Buat logika yang diperlukan untuk memroses model data.

Demikian, saya menerapkan MVC kepada proyek Android.

Persiapan

Pertama-tama, masukkan paket RecyclerView ke dalam skrip Gradle: build.gradle (Module:app)

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.+'
    compile 'com.android.support:recyclerview-v7:21.0.+'
}

Paket RecyclerView ada di com.android.support:recyclerview-v7. Appcompat-v7 untuk membuat ActionBarActivity dan beberapa widget Material Design lainnya.

Model-model yang Diperlukan

Biar tidak rumit, saya mau buat daftar yang berisi:

  1. nama pengguna; dan
  2. avatar-nya.

Saya buat sebuah POJO untuk itu.

package edu.ui.jp.pelatihan.materialdesignapps.data;

public class PersonData {
    private String name, url;

    public PersonData(String name, String url) {
        this.name = name;
        this.url = url;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}

Selanjutnya, saya rancangkan tampilan gambar avatar dan di sebelahnya ada nama.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="64dp">

    <ImageView
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:id="@+id/imgAvatar"
        android:layout_margin="8dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:id="@+id/txtName"
        android:layout_gravity="center_vertical" />
</LinearLayout>

Sudah demikian, saatnya membuat Adapter.

Adapter

RecycleView menyediakan sebuah adapter RecyclerView.Adapter yang berisi sebuah ViewHolder. Cara definisinya:

public class PersonDataViewAdapter extends RecyclerView.Adapter <PersonDataViewAdapter.ViewHolder> {
    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        return null;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {

    }

    @Override
    public int getItemCount() {
        return 0;
    }

    public class ViewHolder extends RecyclerView.ViewHolder {
        public ViewHolder(View itemView) {
            super(itemView);
        }
    }
}

Selanjutnya, mari kita definisikan semua itu. Saya suka untuk kita memulai dari model data. Ada dua model data yang hendak dipertemukan, yakni tampilan dan sekumpulan data yang hendak ditampilkan. Mari definisikan satu per satu.

Buat Model Tampilan

Model tampilan dipegang oleh sebuah kelas statik dalam adapter kita (inner class) ViewHolder. Kelas ViewHolder ini merupakan kelas statik di dalam (inner class) RecyclerView. Untuk kesederhanaan, kita hanya akan mengubah-ubah TextView untuk nama dan mengabaikan ImageView untuk avatar. Topik untuk mengisi gambar sangat menarik untuk menjadi satu pokok topik lain.

/**
 * Kelas publik yang akan dipakai sebagai ViewHolder
 */
public static class ViewHolder extends RecyclerView.ViewHolder {
   public TextView txtName;

   public ViewHolder(View itemView) {
       super(itemView);
       txtName = (TextView) itemView.findViewById(R.id.txtName);
   }
}

Seperti yang kita lihat, kelas ViewHolder kita diharuskan memanggil konstruktur RecyclerView.ViewHolder sebelum menjalankan rutinnya sendiri.

Buat Model Data yang Hendak Ditempel

Model Data yang digunakan oleh adapter biasanya dijadikan properti. Inisialisasinya dibuat dengan memanggil konstruktor adapter kita saja. Jadi, setiap kali mau membuat adapter, si pemanggil harus menyampaikan data yang hendak ditampilkan sebagai parameter.

private LinkedList listData;

/**
 * Konstruktor untuk mengisi Adapter dengan untaian data yang hendak ditaruh.
 * @param listData
 */
public PersonDataViewAdapter(LinkedList listData) {
    this.listData = listData;
}

Selanjutnya, kita mendefinisikan tiga fungsi yang wajib ada.

Definisikan fungsi yang mengembalikan total jumlah data yang ada. Tentu saja ini didapatkan dari banyaknya data yang dikandung oleh untaian data kita.

/**
 * Fungsi ini mengembalikan jumlah data yang hendak ditampilkan
 * @return Jumlah data dalam untaian.
 */
@Override
public int getItemCount() {
    return listData.size();
}

Selanjutnya, buat definisi untuk mengembalikan ViewHolder kita yang nantinya dipakai oleh LayoutManager untuk menggambar untaian. Perhatikan. Pada bagian ini ViewHolder mengambil tata letak (layout) tampilan data kita.

/**
 * Fungsi yang akan ditaruh oleh LayoutManager ketika hendak membuat tampilan (View) baru.
 * @param root Fragment/Activity yang hendak ditempeli untaian (List)
 * @param viewType Tipe View yang hendak dihasilkan.
 * @return
 */
@Override
public ViewHolder onCreateViewHolder(ViewGroup root, int viewType) {
    // Dapatkan View dari inflater
    View v = LayoutInflater.from(root.getContext()).inflate(R.layout.inf_person_view, null);

    // Masukkan ke dalam ViewHolder yang baru
    ViewHolder myVH = new ViewHolder(v);

    // Kembalikan ViewHolder yang sudah kita panggil.
    return myVH;
}

Terakhir, definisikan proses penempelan data ke tampilan.

/**
 * Fungsi ini mengisi setiap data ke View.
 * @param holder Pemegang View yang hendak diperbaharui
 * @param i Posisi data yang hendak diisi dalam untaian
 */
 @Override
public void onBindViewHolder(ViewHolder holder, int i) {
    // Mengambil satu item yang hendak ditaruh
    PersonData item = listData.get(i);

    holder.txtName.setText(item.getName());
    Log.d(this.getClass().getCanonicalName(), item.getName());
}

Setelah tampilan dan data telah kita buat, selanjutnya mari kita buat alur penampakannya di salah satu aktivitas.

Menaruh Dalam Aktivitas

Bisa saja kode ini bisa ditaruh di dalam fragmen (fragment) atau di dalam aktivitas. Yang pasti yang pasti, taruh inisialisasi pada

public class MainActivity extends ActionBarActivity {

    LinkedList<PersonData> list = new LinkedList<PersonData>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);

        populateData(); // Fill the LinkedList here.
        createPersonDataView();
    }
    
    // AND THE REST OF THE CODE GOES HERE...
}

Pertama-tama, isi data terlebih dahulu dengan populateData(). Fungsi ini terserah, entah Anda isi dengan obyek-obyek contoh yang dimasukkan manual, didapatkan dari web service, diambil dari berkas, dan sebagainya. Intinya, isi dulu LinkedList yang akan dipakai untuk menampilkan daftar.

Barulah setelah itu, kita membuat RecyclerView untuk ditampilkan. Contoh implementasinya.

private void configMyRecyclerView() {
        RecyclerView rvList = (RecyclerView) findViewById(R.id.rvNameList);

        // List kita tidak berubah-ubah ukurannya.
        rvList.setHasFixedSize(true);

        // Buat LayoutManager dari Activity ini (MainActivity)
        RecyclerView.LayoutManager layoutManager = new   LinearLayoutManager(this);
    rvList.setLayoutManager(layoutManager);

    // Taruh data kita ke dalam data
    PersonDataViewAdapter adapter = new PersonDataViewAdapter(list);

    // Taruh adapter ke dalam RecycleView
    rvList.setAdapter(adapter);

    // Sedikit animasi pemanis
    rvList.setItemAnimator(new DefaultItemAnimator());

}

Ada banyak Layout Manager yang bisa digunakan. Namun, untuk contoh kali ini gunakan saja yang biasa, yakni LinearLayoutManager. Tugas dia hanya menampilkan per baris seperti daftar pada umumnya. Kalau mau lebih lanjut, silakan coba-coba yang lain.

Terakhir

Baiklah, saya berhenti sampai sini. Sisanya, kelakukan RecyclerView mirip dengan komponen Android yang lain. Selamat berkarya!

Pengalaman Memperbaharui LG G2 Versi Saya
Super Android, recharge!

Pengalaman Memperbaharui LG G2 Versi Saya

[themify_box style=”yellow warning rounded shadow”]SEMUA INI DAPAT MERUSAK TELEPON ANDA, LG G2. SAYA TIDAK BERTANGGUNG JAWAB ATAS RUSAKNYA TELEPON ANDA. RISIKO TANGGUNG SENDIRI![/themify_box]

Setelah mencoba-coba beberapa AOSP, LG G2 saya menjadi rusak dan tidak dapat digunakan. Saya pun mengembalikan ROM LG G2 saya ke kondisi awal seperti yang saya ceritakan sebelumnya. Saya pun mencoba mengulangi menjalankan apa yang telah saya lakukan sebelumnya. Namun, kali ini saya coba jalankan versi mudah dan terintegrasi dalam satu entri agar mudah dibaca keseluruhan.

Diasumsikan kondisi awal adalah LG G2 dengan ROM Kit Kat (4.4.2) asli dari pabrikan (D80220B).

Unduh Terlebih Dahulu

Agar memudahkan tutorial ini, sebaiknya Anda sudah mengunduh berkas-berkas yang diperlukan dalam tutorial ini agar sekali jalan. Berkas-berkas itu, antara lain:

  1. D802_AutoRec.apk
  2. KK_Baseband_D802.zip
  3. CloudyG3_1.3.zip
  4. LG_G3_BIONIC.zip
  5. LG_G3_DALVIK.zip
  6. QuickWindow_Fix_V2.zip
  7. LGMessage_fix.zip

Saya berharap sebelum memulai, pastikan bahwa berkas-berkas ini sudah diunduh ke LG G2 Anda.

Memasang Recovery ROM

Sumber bacaan: AutoRec: Kit Kat Recovery Installer

Untuk dapat memasang Recovery ROM yang telah terkustomisasi perlu dilakukan dua proses secara berurutan:

  1. Memasang izin admin (rooting/jailbreaking) pada LG G2.
  2. Memasang ROM Recovery yang telah terkustomisasi. Saya menggunakan Philz Recovery ROM.

Memasang Izin Admin

Memasang izin admin (rooting/jailbreaking) adalah proses penjebolan perangkat agar dapat menjalankan tindakan yang membutuhkan kewenangan admin (root/Administrator/super user). Pada umumnya perusahaan pembuat perangkat telepon mematikan fungsi ini. Untuk dapat memodifikasi telepon, maka fungsi ini perlu diaktifkan.

ROOT LG G2 dapat dilakukan dengan menggunakan ioroot seperti yang dijelaskan pada tulisan saya yang lalu.

Memasang ROM Recovery Terkustomisasi

Untuk memasang ROM Recovery dapat menggunakan AutoRec, sebuah aplikasi yang dibuat oleh cloudyfa, seorang pengembang di Forum XDA. Sayangnya, APK aplikasi ini tak dapat ditaruh di Google Play. Android umumnya tidak secara baku mengizinkan APK selain dari Google Play Store dipasang ke perangkat. Selanjutnya mengaktifkan pemasangan dari luar Google Play Store.

Mengaktifkan Pemasangan Di Luar Google Play Store

Sebelum memasang AutoRec, pastikan LG G2 Anda dapat memasang APK dari sumber selain Google Play Store. Caranya:

  1. Masuk ke Pengaturan
  2. Pada bagian Umum pilihlah Pengamanan
  3. Pada bagian Pengamanan, pastikan pilihan Sumber tak dikenal tercentang.
    I know this is a LG G3 settings, but it is the same as LG G2.

    I know this is LG G3 settings, but it is the same as LG G2. Tick the “Unknown sources”

Setelah itu, lanjutkan dengan memasang AutoRec.

Memasang AutoRec

Pasang APK AutoRec dari Forum XDA, caranya:

  1. Pergi ke halaman unduhan AutoRec dan unduh D802_AutoRec.apk ke LG G2 Anda.
  2. Buka berkas yang sudah diunduh dengan menggunakan Pengelola File dan pilih APK tersebut untuk menjalankan aplikasi.
    Click the AutoRec APK to install it

    Click the AutoRec APK to install it

  3. Pilih Instal ketika keyakinan Anda dipertanyakan.
    Click Install to proceed

    Click Install to proceed

  4. Setelah selesai, buka aplikasi dengan menekan Buka.
    Click Open to open AutoRec after installing it.

    Click Open to open AutoRec after installing it.

Sekarang saatnya menjalankan AutoRec.

Menjalankan AutoRec

AutoRec melakukan proses-proses berikut ini; 1) memasang versi aboot.img terdahulu yang bisa digunakan untuk memasang ROM terkustomisasi; 2) memasang TWRP, salah satu ROM Recovery yang terkustomisasi. Berikut caranya:

  1. Pada saat pertama kali menjalankan aplikasi akan ditanyakan izin menjalankan AutoRec sebagai admin.
    Click Allow to allow AutoRec runs as super user.

    Click Allow to allow AutoRec runs as super user.

  2. Kalau ditanya apakah Anda benar-benar mau melakukannya, pilih saja YES.
    Select YES for confirmation.

    Select YES to confirm custom recovery installation.

  3. AutoRec akan memasang Loki (semacam pemintas agar ROM Terkustomisasi dapat dipasang). Selanjutnya, pilih Flash Recovery untuk memasang TWRP.
    AutoRec running lokifying and install a custom kernel.

    AutoRec running lokifying and install a custom kernel.

  4. Setelah memasang TWRP, akan ditanyakan untuk melanjutkan masuk ke Recovery (TWRP) atau keluar dari aplikasi. Pilih To recovery untuk masuk TWRP atau pilih exit untuk keluar.

Selanjutnya memasang Philz Touch Recovery.

(Opsional) Memasang Philz Touch Recovery

Sumber bacaan: Philz Touch 6 Recovery How to Install

TWRP Main Menu

TWRP Main Menu

Sebenarnya menggunakan TWRP pun sudah bisa. Tapi, banyak yang menyarankan untuk memasang Philz Touch Recovery untuk LG G2. Hal ini karena Philz merupakan TWRP yang dimodifikasi untuk perangkat LG G2.

  1. Masuk ke Recovery LG G2. Caranya, entah dengan cara: 1) menyolok ke komputer dan mengetik “adb reboot recovery” dari komputer;2) dengan menu di AutoRec tadi; atau3) dengan menyalakan kembali sambil menahan tombol Daya dan Volum Turun.
  2. Di TWRP tekan tombol Install.
  3. Pilih install zip from sdcard.
  4. Pilih philz_touch_6.48.4-d802.zip.
  5. Seret jari Anda pada tombol Swipe to flash untuk memasang Philz Touch Recovery.
    Swipe your finger on the blue button and drag your finger to the right.

    Swipe your finger on the blue button and drag your finger to the right.

  6. Setelah itu, tekan tombol kembali sampai ke menu utama TWRP.
  7. Terakhir, untuk masuk ke Philz, pilihlah Reboot dan lalu pilih Recovery.

Maka apa bila tak ada aral melintang, maka sistem akan masuk ke Philz Touch Recovery.

Philz Touch 6 Recovery 6.48.4 main menu

Philz Touch 6 Recovery 6.48.4 main menu

Selanjutnya memasang ROM dan konfigurasi yang saya suka.

Memasang ROM Kesukaan Saya

Setelah memasang ROM Recovery yang terkustomisasi, saatnya memasang ROM LG G2 yang menurut saya bagus. Dari awal saya memiliki Android, saya selalu menganggap sistem operasi bawaan pabrik biasanya lambat, penuh aplikasi yang tak dibutuhkan, dan lawas. Dari Nexian Journey (A890)Sony Ericsson Xperia Mini Pro (Mango/SK17i), bahkan sampai iRobot (WM8505) yang dibelikan teman di Shenzhen tak pernah lepas dari modifikasi.

Untuk LG G2, setelah saya coba-coba beberapa ROM, saya pun berkesimpulan bahwa CloudyG3 paling optimal untuk kebutuhan saya. Tentunya, versi yang saya pasang bukan versi yang begitu saja. Saya memodifikasi beberapa bagian dari CloudyG3. Saya menambahkan: 1) pustaka Bionic dan Dalvik teroptimasi; dan 2) QuickWindow (aplikasi LG G2) untuk menggantikan Quick Circle (aplikasi LG G3).

Urutan memasang ROM dengan konfigurasi kesukaan saya secara garis besar dapat dijabarkan, yaitu:

  1. Menghapus seluruh partisi (System, Data, Cache, Dalvik Cache) kecuali Internal Storage sebelum memasang ROM.
  2. Memasang Baseband Kit Kat.
  3. Memasang CloudyG3 1.3.
  4. Memasang Bionic dan Dalvik.
  5. Memasang QuickWindow.
  6. Masuk ke sistem dan mengubah Dalvik menjadi ART.

Memasang CloudyG3

Sumber bacaan: CloudyG3 1.3

CloudyG3 adalah sebuah ROM untuk LG G2. Pengembangnya mengambil ROM LG G3 dan mengonversi ROM tersebut agar dapat dijalankan ke LG G2. Dengan menggunakan CloudyG3 sebenarnya seperti menyulap LG G2 menjadi LG G3. Cuma bedanya, ROM terkustomisasi ini lebih ringan dan teroptimasi.

Saya sudah pernah membahas cara memasang CloudyG3 dengan TWRP. Kali ini saya mencoba membahasnya dengan menggunakan Philz. Asumsi saya, kita sedang berada di halaman utama Philz. Berikut langkahnya.

Hapus Semua Partisi, Kecuali Internal Storage

Internal Storage itu adalah partisi yang terlihat ketika kita mencolokkan LG G2 ke komputer atau perangkat lain. Biasanya, kita mengunduh dan menaruh berkas-berkas ke situ, termasuk ROM. Itu sebabnya, cukup sisakan partisi itu dan hapus yang lainnya. Sebab, partisi yang lainnya akan diisi dengan sistem baru dari ROM yang kita pilih.

Cara hapus:

  1. Dari menu utama, pilih Wipe Data/Factory Reset
    Select Wipe Data/Factory Reset to delete all the partitions, except Internal Partition

    Select Wipe Data/Factory Reset to delete all the partitions, except Internal Partition

  2. Pilih Clean to Install a New ROM
    Clean to Install a New ROM

    Select Clean to Install a New ROM

  3. Pilih Yes, I will install a new ROM!
    Yes, I will install a new Rom!

    Select Yes, I will install a new Rom!

Setelah proses penghapusan sistem berhasil, kembali ke halaman depan Philz dengan memilih tombol kembali. Selanjutnya, demi menghemat tulisan ini, saya tak tampilkan cuplikan menu halaman depan Philz.

Pasang Baseband Kit Kat (Stock oleh CloudyFA)

Baseband adalah sebuah partisi khusus yang berisi informasi radio dan konfigurasi pabrik yang digunakan di telepon. Baseband penting untuk setiap ROM. Ada kalanya ROM berdasarkan AOSP atau Cyanogen menggunakan baseband yang berbeda dengan baseband bawaan perangkat.

Cara pasang:

  1. Dari menu utama pilih Install Zip
    Select Install Zip to install the ROMS.

    Select Install Zip to install the ROMS.

  2. Pilih Choose zip from /sdcard
    Choose zip from /sdcard

    Select Choose zip from /sdcard

  3. Pilih KK_Baseband_D802.zip
    Pick KK_Baseband_D802.zip

    Pick KK_Baseband_D802.zip

    Pemasangan
  4. Pilih Yes – Install  KK_Baseband_D802.zip
    Yes - Install KK_Baseband_D802.zip

    Select Yes – Install KK_Baseband_D802.zip

Selanjutnya pasang CloudyG3.

Memasang CloudyG3

Cara pasangnya sama dengan memasang Baseband, yakni:

  1. Dari menu utama pilih Install Zip
  2. Pilih Choose zip from /sdcard
  3. Pilih CloudyG3_1.3.zip
    Select CloudyG3_1.3.zip

    Select CloudyG3_1.3.zip

  4. Pilih Yes – Install CloudyG3_1.3.zip

Hmm… semakin lama saya semakin malas membuat cuplikan. Kira-kira sampai poin ini pemasangan komponen yang lain hanya repetisi saja. Begitu, deh. 🙂

Memasang Pustaka Teroptimasi

Dipindahkan ke artikel tersendiri.

Selanjutnya memilih ART.

Mengaktifkan ART

Ada di artikel sebelum ini.

Intinya:

  1. Pilih Pengaturan ⇒ Umum ⇒ Opsi pengembang
  2. Pilih Pilih waktu operasi
  3. Pilih Pakai ART
  4. Nyalaulangkan LG G2 dan tunggu agak lama.

Selanjutnya memasang Quick Window.

Memasang QuickWindow

Sumber bacaan: [MOD]QuickWindow Apps for G3 Ported Roms

LG membuat QuickCircle untuk perangkat LG G3-nya dan QuickWindow untuk LG G2-nya. Kedua aplikasi ini berguna untuk menampilkan layar kecil ketika tutup telepon (tambahan yang dapat dibeli) menutup perangkat. Dengan menggunakan tutup khusus ini, pengguna tak perlu membuka teleponnya untuk mengakses beberapa informasi.

Sayangnya, tutup telepon ini berbeda bentuk antara QuickCircle dan QuickWindow. Saya juga tak tertarik membeli tutup khusus untuk QuickCircle. Itu sebabnya, saya perlu mengganti aplikasi QuickCircle dengan QuickWindow agar sesuai dengan tutup telepon yang saya miliki.

(Opsional) Memasang ZIP QuickWindow

Sayangnya, ketika saya sudah panjang lebar menjelaskan, ternyata CloudyG3 versi 1.3 sudah menyertakan QuickWindow. Ya, sudah, tetap saja memasang QuickWindow demi kepuasan batin.

 

  1. Dari menu utama pilih Install Zip
  2. Pilih Choose zip from /sdcard
  3. Pilih QuickWindow_Fix_V2.zip
  4. Pilih Yes – Install QuickWindow_Fix_V2.zip

Selanjutnya, pasang QuickWindow Message Fix:

 

  1. Dari menu utama pilih Install Zip
  2. Pilih Choose zip from /sdcard
  3. Pilih LGMessage_fix.zip
  4. Pilih Yes – Install LGMessage_fix.zip

Selanjutnya memasang aplikasi-aplikasi yang kompatibel.

Memasang Aplikasi-aplikasi QuickWindow

Sumber bacaan: Quick Circle Apps

Aplikasi QuickWindow yang dipasang masih sedikit. Untungnya, ada pengembang di XDA yang membuat aplikas-aplikasi tambahan untuk memperkaya QuickCircle/QuickWindow. Silakan saja diunduh dari Google Play Store. Nanti dapat dipilih maksimal 6 dari aplikasi-aplikasi tersebut.

Cara mengubahnya dari:

  1. Pilih Pengaturan ⇒ Umum ⇒ Aksesoris
  2. Pilih Casing QuickCircle ⇒ Pilih aplikasi
  3. Beri tanda centang untuk maksimal 6 aplikasi yang tersedia untuk aktif di QuickCircle.
  4. Pilih Simpan

Nantinya yang muncul pada QuickWindow adalah ikon-ikon dari aplikasi yang kita telah pilih.

Optimasi Baterai

Untuk bisa tahu keunggulan ROM ini perlu penyesuaian beberapa hari. Hal ini karena sistem operasi mempelajari kelakuan pemakai perangkat. Untuk mengaktifkan fitur ini, silakan:

  1. Pilih Pengaturan ⇒ Umum ⇒ Baterai
  2. Aktifkan Pengisian daya pintar dengan memberi tanda centang.
    Enable smart charging based on our behavior.

    Enable smart charging based on our behavior.

Kata Terakhir

Yak, demikian akhirnya. Panjang dan lama sekali waktu yang diperlukan untuk menulis ini. Saya sendiri sudah mencoba mengulang memasang ini dari awal. Memang, beberapa konfigurasi hilang. Tapi, saya menemukan banyak hal baru.

Hasilnya? Ya, selain banyak fitur, terutama pada pemakaian normal saya bisa mendapatkan waktu aktif lebih dari 1 hari! Cuplikan tersedia!

Battery usage with several social media and two email accounts active.

Battery usage with several social media and two email accounts active.

Beberapa media sosial yang saya aktifkan, misalnya: Telegram, WhatsApp, LINE, BBM, Twitter, dan Instagram. Ada 2 akun surel yang aktif pula. Semua itu saya aktifkan sinkronisasi akunnya. Hasilnya, tetap irit.

Selamat mencoba dan berhati-hatilah.

 

 

 

 

Bacaan Lebih Lanjut

Membetulkan “Security Error” pada LG G2

Membetulkan “Security Error” pada LG G2

Saya adalah pengguna LG G2 yang setia mencoba hal baru. Tak sengaja, saya menjalankan aplikasi AutoRec LG G2 yang ada di penyimpan karena penasaran. Alas, aplikasi tersebut memasang sebuah partisi Recovery yang tidak kompatibel. Akibatnya, perangkat G2 saya hanya secara berulang-ulang masuk ke logo dan muncul tulisan “Security Error”.

Beruntung ada trit yang menyediakan cara yang komprehensif untuk flashing dengan ROM mana pun, termasuk ROM awal. Ya, yang penting ROM tersebut dipaketkan dengan ekstensi “.kdz”. Langsung saja!

Satu catatan tambahan, PC yang dipakai adalah Windows 8 punya teman yang sudah dipasangi LG United Mobile Drivers. Ya, seharusnya kalau memakai perkakas Aplikasi LG di PC, penggerak sudah terpasang.

  1. Unduh dan ekstraksi LG Flash Tool 2014.
  2. Unduh salah satu berkas kdz dari situs ini. Yang paling masuk akal sepertinya “Indonesia D80210E_00.kdz” (versi 10E). Sepertinya itu masih versi Jelly Beans. Saya kebetulan pernah meningkatkan ke versi Kit Kat, saya menggunakan berkas saya sendiri yang pernah diunduh, “D80220A_00.kdz”.  Saya tidak tahu legalitas mencerminkan berkas ini, untuk amannya silakan cari sendiri di Internet berkasnya.
  3. Matikan G2 dengan menekan tombol daya lama (ACPI Off). Setelah itu, sambil menekan tombol Volume Naik, hubungkan dengan kabel USB ke PC. Kalau benar, maka G2 akan muncul Download Mode.
  4. Saya pun menjalankan LG Flash Tool 2014. Seperti pada trit awal, pilih CDMA; pilih “DIAG” untuk  Phone Mode; dan terakhir pilih berkas KDZ yang mau dipasang. Begitu memilih KDZ, otomatis LG Flash Tool akan membaca versi firmware yang hendak dipasang.
  5. Pilih Normal Flash untuk memasang sistem atau pilih CSE Flash untuk memasang semua dari awal (termasuk menghapus dokumen). Saya pilih CSE Flash, seharusnya cukup Normal Flash saja. Tapi, waktu itu saya takut kalau tidak beres. Ya, sudahlah, sudah terlanjur.
  6. Selanjutnya akan muncul kotak dialog yang agak besar dan pilih “Start”. Selanjutnya, muncul kotak dialog menanyakan bahasa. Langsung OK saja.
  7. Tunggu beberapa saat dan beres.

Seperti biasa, Android akan mengunduh ulang semua versi Android. Ditambah lagi, G2 akan secara otomatis memberitahukan versi yang terbaru. Silakan gunakan WIFI untuk itu.

Pemasangan versi baru

Pemasangan versi baru

Mencoba CloudyG3
Super Android, recharge!

Mencoba CloudyG3

[themify_box style=”yellow map rounded” ]PERHATIAN: BUKAN UNTUK PEMULA! SAYA TIDAK BERTANGGUNG JAWAB ATAS KERUSAKAN LG G2 ANDA. RISIKO TANGGUNG SENDIRI![/themify_box]

Diasumsikan LG G2 sudah dibebaskan dan sudah dipasangi Recovery (TWRP atau Philz).

Pasang Cloudy ROM

Sebelum mulai, unduh dan taruh ke perangkat LG G2 berkas-berkas berikut:

  1. KK_Baseband_D802.zip

  2. CloudyG3 1.3

Berkas pertama itu untuk penyesuaian baku (factory settings) D802 (LG G2 edisi Internasional) untuk Kit Kat. Berkas kedua adalah ROM Cloudy G3 itu sendiri.

Sekarang tinggal menyalakan ulang telepon untuk masuk ke Recovery. Berhubung tidak ada tombolnya, gunakan ADB dari komputer:

$ adb reboot recovery

Dari Recovery, hapus semua kecuali Internal Storage:

Wipe ⇒ Advanced Wipe ⇒ Pilih partisi yang mau dihapus:

  • Dalvik Cache
  • System
  • Data
  • Cache

Lalu geser tombol Swipe to Wipe untuk melakukan tindakan. Sekali lagi, jangan pilih Internal Storage supaya isi data kita tidak hilang.

Tekan tombol kembali beberapa kali untuk sampai ke halaman depan Recovery. Lalu, pilih Install dan pasang:

KK_Baseband_D802.zip

lalu setelah selesai, pasang

CloudyG3_1.3.zip

Setelah itu, silakan nyalakan ulang telepon dengan Reboot System atau cara yang sejenis.

Pindah dari Dalvik ke ART

ART adalah mesin baru Android pengganti Dalvik. Bila Dalvik menggunakan bytecode yang sudah dikompilasi, maka ART mengompilasi aplikasi pada saat hendak dijalankan pertama kali. Itu sebabnya, aplikasi dengan ART lebih irit tapi membutuhkan ruang lebih banyak dari Dalvik.

Opsi pengembang di LG G2

Opsi Umum pada laman Pengaturan di LG G2

Cara mengaktifkan ART adalah dengan masuk ke Pengaturan ⇒ Umum ⇒ Opsi pengembang.

Opsi pengembang

Opsi pengembang

Pada menu Opsi pengembang, pilihlah Pilih waktu operasi

Pilih Pakai ART untuk menggunakan ART.

Pilih Pakai ART untuk menggunakan ART.

Pilih Pakai ART untuk menggunakan ART. Nanti akan ditanyakan peringatan, jawab untuk melanjutkan dan nyalakan ulang telepon LG G2. Karena ART mengompilasi aplikasi saat memulai, dibutuhkan waktu agak lama untuk memperbaharui aplikasi di Android. Saya sendiri membutuhkan waktu puluhan menit untuk memperbaharui 242 aplikasi di LG G2 saya.

Kalau misalnya Anda terjebak pada layar animasi mulai LG, silakan tekan tombol Daya lama. Seperti tombol ACPI lainnya, LG G2 akan mati secara paksa. Setelah itu, nyalakan kembali perangkat itu. Saya pribadi hanya mengalami ini di awal-awal saja. Beberapa menit setelah pemakaian, telepon saya juga sempat mengalami hang. Namun, setelah di-reset paksa seperti yang telah saya sebutkan sebelumnya, perangkat berjalan normal.

Pasang Bionic Teroptimasi

Unduh berkas LG_G3_BIONIC.zip dari forum dan taruh ke perangkat LG G2. Dalvik tidak perlu karena kita menggunakan ART.

Lalu, lakukan proses yang sama seperti memasang ROM dan Baseband; 1) masuk ke Recovery; 2) pasang LG_G3_BIONIC.zip; dan 3) nyalakan kembali perangkat. Pada proses ini tidak perlu menghapus data apa pun. Bionic adalah pustaka C yang digunakan Android seperti GNU Libc. Bionic digunakan karena masalah lisensi GPL pada GNU Libc.

Yak, selesai.

Fitur CloudyG3 dan Kesan

CloudyG3 sebenarnya adalah ROM LG G3 yang disesuaikan untuk LG G2. Beberapa aplikasi LG yang dirasa tak perlu dihapus mereka (debloated). Jadi, ya, menggunakan LG G2 mirip seperti LG G3 dengan tambahan modul eXposed dan ROOT.

Menambah Perangkat Android Ke Daftar ADB
Super Android, recharge!

Menambah Perangkat Android Ke Daftar ADB

Sering kali perangkat Android gagal dikenali kendati sudah ditambahkan di UDEV. Ketika kita cari perangkat yang terhubung, ADB mengembalikan daftar kosong:

$ adb devices
List of devices attached 



Android ternyata menyediakan cara manual untuk menambahkan perangkat secara manual. Cukup tambahkan satu baris Vendor ID pada berkas adb_usb.ini. Berikut caranya.

Cari tahu Vendor ID untuk perangkat kita. Contohnya LG G2 saya:

$ lsusb
Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 011 Device 003: ID 04ca:0030 Lite-On Technology Corp. 
Bus 011 Device 002: ID 076b:5321 OmniKey AG 
Bus 011 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 002: ID 04b3:3025 IBM Corp. NetVista Full Width Keyboard
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 067: ID 1004:61f1 LG Electronics, Inc. Optimus Android Phone [LG Software mode]
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Perhatikan untuk LG G2, Vendor ID-nya adalah 0x1004. Untuk itu, silakan masukkan ke berkas adb_usb.ini

$ echo 0x1004 >> $HOME.android/adb_usb.ini

Jadinya berkas tersebut berisi:

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x1004

Perhatikan bahwa berkas tersebut sebenarnya hasil perintah pembaharuan. Tapi, selama tidak kita lakukan perintah tersebut, daftar takkan terotak-atik. Muat ulang kembali peladen ADB.

$ adb kill-server
$ adb start-server

Kalau benar, maka alatnya ada:

$ adb devices
List of devices attached 
03020af49f549229        device


Semoga membantu. Oh, iya, jangan lupa menyalakan Perunutan USB (USB Debugging) pada perangkat Android. Kalau tidak, sampai kiamat pun takkan pernah bisa terdeteksi.

Memasang ROM Hepta Erro (GB 4.2.2) pada Xperia Mini Pro SK-17
Super Android, recharge!

Memasang ROM Hepta Erro (GB 4.2.2) pada Xperia Mini Pro SK-17

TULISAN INI BUKAN UNTUK ORANG AWAM DAN DAPAT MERUSAK TELEPON GENGGAM ANDA!

Di Sabtu pagi yang cerah ini rasanya enak untuk iseng-iseng. Eh, di XDA-Developer ada sebuah entri baru namanya Hepta Erro. Katanya, sih, dia ROM Jelly Beans paling enteng dan cepat. Kebetulan saya pernah menulis tentang memasang ROM termodifikasi di sini. Langsung saja saya praktekkan tulisan saya.

Tulisan ini sebenarnya cuma mengikuti tulisan yang ada di entri Hepta Erro ditambah pengalaman saya. Saya sendiri tidak begitu cepat menulis.

Unduh bahan-bahan utama ini:

  1. ROM Hepta Erro.
  2. GApps yang versi ringan.
  3. Kernel LuPuS JB v8.

Saya asumsikan Anda sudah memasang Android SDK dengan baik. Taruh/unduh ROM Hepta Erro dan GApps ke dalam SDCard. Nanti mereka akan digunakan.

Pasang Image BOOT

Saya asumsikan telepon dalam keadaan mati. Saat ini kita hendak masuk ke Fastboot Mode. Caranya dengan menekan dan tahan tombol VOLUME NAIK (VOL UP) lalu sambungkan dengan kabel USB komputer. Bila berhasil, maka lampu LED biru akan menyala.

Setelah tersambung ke komputer, saatnya memasang kernel. Kebetulan saya menggunakan versi 7, tapi mirip-miriplah caranya:

# /opt/android-sdk-update-manager/platform-tools/fastboot flash boot
LuPuS_mango_jBv7.img

Pasang ROM dan GApps

Selanjutnya memasang ROM. Untuk dapat memasang ROM dan GApps, masuk ke dalam modus Recovery (Recovery Mode) yang disediakan oleh kernel. Caranya:

  1. Matikan telepon.
  2. Nyalakan kembali sambil memencet berulang-ulang tombol VOLUME NAIK.
  3. Terus pencet-pencet sampai masuk Recovery Mode.

Saat di menu Recovery, lakukan langkah-langkah berikut:

  1. Hapus sistem dan data (Wipe System and Data).
  2. Pasang kedua ZIP (ROM dan GApps) melalui Install Zip → Choose zip from SD card lalu pilih kedua ZIP untuk dipasang. Ketika memasang ROM sistem seperti membeku. Itu karena berkas-berkas yang dipasang banyak sehingga berhenti agak lama.
  3. Terakhir, hapus tembolok (Wipe Cache and Dalvik Cache).

Setelah semua selesai, silakan nyalakan ulang telepon. Tinggal mengisi ulang konfigurasi dan telepon siap digunakan kembali.