Pemrograman

Insight & Tutorials in Bahasa Indonesia

Follow publication

React Native Android di Linux

Equan P.
Pemrograman
Published in
3 min readSep 16, 2015

--

Setelah beberapa saat menunggu akhirnya di release juga React Native untuk versi Android. Pada saat artikel ini ditulis ada kabar bahwa React Native Android hanya bisa di gunakan pada lingkungan OS X tapi sebenarnya React Native Android bisa digunakan pada OS Linux juga.

Semua instalasi berikut di lakukan pada OS Fedora 22 dan untuk distro Linux lainnya kurang lebih sama. Diasumsikan bahwa SDK Android sudah terinstall dan versi Android Build Tool minimal adalah versi 23.0.1 dan Node.js mempunyai versi 4.x.x.

Watchman

React Native memerlukan software satu ini untuk mengawasi atau watch perubahan dari file aplikasi yang sedang dikembangkan. Silahkan dilihat website resminya untuk mengetahui lebih detil fungsi dari watchman ini.

Untuk instalasi dari source code ketik perintah dibawah ini

$ git clone https://github.com/facebook/watchman.git
$ cd watchman
$ git checkout v3.7.0 # the latest stable release
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

Kalau tidak ada error silahkan lanjut…

Facebook Flow

Sepertinya Facebook alergi kalau tidak memakai produk mereka untuk memproduksi produk mereka yang lain (ngiklan pastinya…). Facebook Flow merupakan tool untuk static type checking pada JavaScript.

Flow hanya support untuk platform x64 untuk platform x32 silahkan cek di halaman resmi Github Flow

$ wget https://facebook.github.io/flow/downloads/flow-linux64-latest.zip
$ unzip flow-linux64-latest.zip
$ sudo mvflow /usr/bin
$ flow --version
Flow, a static type checker for JavaScript, version 0.15.0

React Native Android

Sepertinya tidak perlu dijelaskan lagi.

$ sudo npm install -g react-native-cli

Ayo Macul!

Inisialisasi aplikasi bisa dilakukan melalui perintah berikut

$ react-native init HellReaction

Untuk menjalankan aplikasi pada device Android secara langsung anda bisa menjalankan melalui perintah berikut

$ cd HellReaction
$ react-native run-android

Jika berhasil tidak ada yang perlu dilakukan lagi jika terjadi error mungkin solusinya ada di bawah ini.

Troubleshooting

  1. Unable to upload some APKs
    Kalau anda mengalami error seperti tidak bisa install file apk
Error tidak bisa upload file apk secara otomatis

Solusinya install file apk hasil build secara manual melalui adb

$ adb install android/app/build/outputs/apk/app-debug.apk3281 KB/s (7223455 bytes in 2.149s)
pkg: /data/local/tmp/app-debug.apk
Success

2. Unable to download JS bundle

Jika apk bisa terinstall tetapi jika aplikasi dijalankan muncul error seperti screenshoot berikut ini

Nasty!

Maka solusinya menurut link berikut untuk debugging React Native langsung pada device Android melalui USB syaratnya adalah

USB Debugging harus di enable

Pastikan checkbox USB debugging di centang pada menu Developer options

Memakai adb reverse

Fitur ini hanya ada pada Android versi 5.0+ jadi untuk Jelly Bean ke bawah mungkin sudah waktunya upgrade ke Lollipop.

$ sudo /opt/sdk/platform-tools/adb reverse tcp:8081 tcp:8081

Jika tanpa root adb sudah bisa mengenali device Android anda maka sudo tidak diperlukan.

Start server React Native

Pakai perintah berikut untuk menjalankan server React Native

$ react-native start

3. The user limit on the total number of inotify watches was reached

Jika terjadi error seperti dibawah ini solusinya juga ada :)

Maka yang anda perlu lakukan adalah meningkatkan nilai dari key berikut

fs.inotify.max_user_watches

$ sudo sysctl fs.inotify.max_user_watches=<set_nilai_yang_baru>

Terakhir yaitu menjalankan kembali aplikasi pada device Android atau menekan tombole Reload JS. Jika berhasil maka tampilan default seperti screenshot di bawah ini

Mantap!

Happy hacking!

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response