Ass. Wr. Wb.
Pada kesempatan ini kita akan belajar membuat code assembly untuk android ARM. Disini akan dipraktekkan bagaimana cara membuat aplikasi android tanpa gradle atau tanpa build system. Jadi kita akan membuat aplikasi android tanpa Android Studio. Mengapa kita perlu untuk belajar membuat aplikasi android tanpa Android studio dan gradle, ya karena koneksi internet di indonesia belum merata dan masih mahal. Jadi kita perlu cara untuk mendevelop aplikasi android secara offline. Peralatan yang diperlukan adalah Android NDK r21 dari situs https://android-developers.googleblog.com cukup download sekali, sudah bisa dipakai di banyak komputer secara offline. System yang saya pakai adalah windows 64bit, jadi download NDKnya ya untuk windows64bit juga.
Untuk teman-teman bisa sesuaikan dengan system yang dipakai, apakah linux atau mac. Adapun device yang digunakan untuk demo programnya adalah android ice cream sandwich atau ICS, bukan emulator. Alasannya adalah untuk memastikan apakah aplikasi benar-benar akan berjalan di android device smartphone. Perlu diperhatikan bahwa bahasa assembly ini harus dijalankan pada emulator yang bisa mengemulasi processor ARM. Bluestack, NOX, PrimeOS, PhoenixOS semuanya x86_64 tidak bisa ARM. Pada kesempatan lain kita akan menggunakan QEMU, karena qemu ini bisa mengemulasi perangkat keras seperti processor arm 32bit, arm 64bit, x86_64 dan lain-lain. Untuk mengetahui lebih dalam silahkan merujuk ke www.qemu.org.
; Code program sebaiknya diberi keterangan lengkap agar mudah di fahami
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Nama Program : Halo Dunia Robot
; Nama file : halo.s
; Dibuat oleh : Gunawan Jinnu
; Tanggal pembuatan : 20 September 2020
; Tanggal update : 20 September 2020
; Deskripsi :
; - Menampilkan pesan Halo Dunia Robot
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Nama Program : Halo Dunia Robot
; Nama file : halo.s
; Dibuat oleh : Gunawan Jinnu
; Tanggal pembuatan : 20 September 2020
; Tanggal update : 20 September 2020
; Deskripsi :
; - Menampilkan pesan Halo Dunia Robot
; Compiler : NDK r21 x86_64 https://android-developers.googleblog.com
; Compile dengan cara :
; arm-linux-androideabi/bin/as -o halo.o halo.s
; Link dengan cara :
; arm-linux-androideabi/bin/ld -o halo halo.o
; arm-linux-androideabi/bin/as -o halo.o halo.s
; Link dengan cara :
; arm-linux-androideabi/bin/ld -o halo halo.o
;Link source code : https://re-pinrang.blogspot.com
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
pesan: .ascii "Halo Dunia Robot.\n"
len_pesan = . - pesan
.bss
.text
| .globl _start | |
| _start: | |
| mov %r0, $1 // file descriptor 1 (stdout) | |
| ldr %r1, =pesan | |
| mov %r2, $len_pesan | |
| mov %r7, $4 // syscall 4 (syswrite) | |
| swi $0 //linux kernel syscall | |
| mov %r0, $0 // exit status return 0 | |
| mov %r7, $1 // syscall 1 (exit) | |
| swi $0 //linux kernel syscall | |
Cara compile :
Extrack NDK r21 yang sudah di download, cari lokasi folder android-ndk-r21b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\arm-linux-androideabi\bin
as -o halo.o halo.s
menghasilkan file objek halo.o
link dengan cara:
ld -o halo halo.o
Cara running di android :
1. Hubungkan dengan kabel usb, buka cmd, ketik : adb push halo /sdcard/
2. Ketik : adb shell
3. mkdir /data/user/temp
4. mv /sdcard/halo /data/user/temp/
5. cd /data/user/temp
6. ./halo
Setelah itu harusnya muncul pesan Halo Dunia Robot.
Ok. Semoga bermanfaat. Terimakasih.
Tidak ada komentar:
Posting Komentar