serba serbi android dan project aplikasi android

advertisement
SERBA SERBI ANDROID
DAN PROJECT APLIKASI
ANDROID
Oleh:
Handoyo
201122091
FAKULTAS TEKNIK INFORMATIKA
UNIVERSITAS SURAKARTA
2012
PENDAHULUAN
1. LatarBelakang
Android adalah sebuah system operasi dengan kernel linux yang umumnya berjalan pada
perangkat dengan processor ARM dan bisaanya diimplementasikan pada perangkat telepon
selular atau tablet PC bahkan PC yang sudah ada pada masa kini dengan storage yang relative
berukuran tidak terlalu besar. Akhir-akhir ini begitu banyak perangkat komunikasi baik
berupa telepon selular maupun tablet PC yang beredar di pasaran menggunakan system
operasi Android.
Seringkali kita tidak puas dengan software bawaan yang dibangun oleh vendor, sehingga
kita terdorong untuk menambahkan aplikasi-aplikasi yang dapat dijalankan pada system
operasi Android.Untuk menambahkan sebuah aplikasi kedalam ponsel yang berbasis Android,
tentunya tidaklah semudah kalau aplikasi itu dibangun dengan menggunakan sebuah PC.
Maka dari itu dibutuhkan sebuah metode yang dinamakan Cross Compile yaitu metode
membuat program yang ditujukan untuk platform tertentu tapi proses pengerjaan
compilingnya dilakukan di platform lain. Personal Komputer baik itu notebook atau netbook
yang banyak beredar mempunyai platform linux atau windows dan merupakan dua platform
yang sangat berbeda.Sehingga jika kita membuat program di windows, program itu tidak bias
dijalankan di linux. Begitu juga sebaliknya. Cara lama adalah kita membuat program untuk
platform tertentu dalam lingkungan platform tersebut.Misalnya dalam membuat sebuah
aplikasi untuk windows harus dengan perangkat windows, dan menggunakan compiler yang
untuk windows.Begitu juga dengan Linux dengan compiler linuxjuga. Dengan metode cross
compiling, kita bias dengan bebas membuat aplikasi windows di linux. Sehingga kita tidak
direpotkan lagi dengan keterbatasan platform tersebut. Meski demikian, cross compiling
hanya sebatas pada cara kita dapat membuat program atau aplikasi untuk platform tersebut,
namun bukan berarti kita dapat menjalankan program tersebut di platform yang bukan
seharusnya. Misal kita bikin aplikasi windows di linux, memang kita bias membuat
programnya tapi untuk menjalankannya kita harus pakai “alatbantu” semacam emulator. 3
Tapi yang jelas, kita sudah mendapatkan kemudahan untuk membuat aplikasi untuk
platform-platform lain tanpa harus punya platform tersebut.
2. Tujuan
Tujuan project ini adalah untuk mengetahui perkembangan android dan seluk beluknya
serta membuat sebuah aplikasi sederhana yang bisa ditanam pada perangkat dengan platform
Android dengan metode cross compile di linux.
ANDROID
1. Sejarah Android
Android merupakan salah satu sistem operasi yang dewasa ini semakin terkenal.
Android merupakan software stack yang digunakan oleh perangkat mobile yang mencakup
sistem operasi, middleware, dan aplikasi kunci, pertama kali didesain oleh Andy Rubin.
Android sendiri merupakan sistem operasi yang digunakan untuk telepon selular yang
berbasiskan Linux. Android menyediakan platform yang bersifat terbuka sehingga mampu
dimanfaatkan pengguna untuk mengembangkan aplikasi mereka sendiri untuk digunakan
oleh mobile device.
Android Inc. kemudian dibeli oleh Google Inc, untuk mengembangkan Android mereka
membentuj Open Headset Alliance yang berisikan berbagai perusahaan besar seperti
Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Terdapat dua badan
khusus dostributor Android yaitu yang mendapat dukungan penuh dari Google yaitu Google
Mail Service (GSM) dan yang sama sekali tidak didukung oleh Google yaitu Open Handset
Distribution.
Android pertama kali diterapkan sebagai operasi sistem pada perangkat mobile HTC
Dream yang dirilis 22 Oktober 2008. Selanjutnya Android mengalami beberapa
pengembangan.
Android versi 1.1
Dikeluarkan oleh Google pada 9 Maret 2009, dilengkapi dengan penambahan fitur
berupa pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara),
pengiriman pesan dengan Gmail, dan pemberitahuan email.
Android versi 1.5 (Cupcake)
Tidak berselang lama dari 9 Maret 2009, yaitu pada Mei 2009, Google kembali merilis
telepon seluler dengan menggunakan Android tetapi Android yang kini digunakan
merupakan versi 1.5 yang dikenal dengan nama Cupcake. Kemampuan tambahan dari
Android 1.1 adalah berupa penambahan fitur merekam dan menonton video dengan
menggunakan kamera selular, menggugah video pada website YouTube dan gambar ke
Picasa langsung melalui device mobilenya, dukungan Bluetooth A2DP, mampu terhubung
secara otomatis pada bluetooth headseat, menampilkan animasi layar, dan menampilkan
layar keyboard.
Android versi 1.6 (Donut)
Donut dirilis pada September 2009 dengan perbaikan sistem dari Android berupa proses
pencarian yang lebih baik, penggunaan baterai indikator dan kontrol applet VPN,
penyediaan galeri yang memungkinkan pengguna dapat menghapus foto dari koleksi foto
yang tersimpan di galerinya, terintegrasinya kamera, camcorder, dan galeri, kemampuan dial
kontak, teknologi text to change speech.
Android versi 2.0/2.1 (Eclair)
Eclair diluncurkan pada 3 Desmber 2009, menitikberatkan pada pengoptimalkan hardware,
peningkatan Google Maps 3.1.2, browser yang telah mendukung pendukung HTML5,
penambahan flash untuk kamera dengan 3.2 MP, digital Zoom dan penyediaan Bluetooth 2.1.
Android versi 2.2 (Froyo : Frozen Yoghurt)
Diluncurkan pada 20 Mei 2010, Froyo diluncurkan dengan penambahan kemampuan berupa
kemampuannya untuk mendukung Adobe Flash 10.1, kecepatan kinerja yang menigkat, integrasi
V8 JavaScript yang digunakan oleh Google Chrome yang mampu mempercepat kemampuan
rendering browser, kemampuan aplikasi dalam SD Card, WiFi Hotspot portabel, dan
kemampuan auto update pada Androis Market.
Android versi 2.3 (Gingerbread)
Pada Android versi 2.3 yang dirilis pada 6 Desember 2010. peningkatan dilakukan dari sisi
fungsi copy paste, disein ulang pada user interface, dukungan format video VP8 dan WebM, efek
audia tambahan seperti equalization dan bass boost, kemapuan tambahan yang mendukung Near
Field Communicatin (NFC). dan mampu mendukung penggunaan kamera lebih dari satu.
Android versi 3.0/3.1 (Honeycomb)
Versi 3.0 ini dirancang khusus untuk digunakan pada tablet, mendukung penggunaan
android pada layar dengan ukuran lebih besar, oleh karena itu terdapat perubahan pada User
Interface agar sesuai digunakan pada tablet. Honeycomb mendukung pemakaian multi prosesor
dan akselerasi hardware untuk grafis. Tablet pertama yang mengimplemantsikan sistem operasi
Android versi 3.0 ini adalah Motorola Xoom. Penggunaan Android versi 3.0 ini mulai masuk
pasar Indonesia pada Mei 2011.
Android versi 4.0 (Ice Cream Sandwich)
Merupakan pengembangan Honeycomb yang kini dipakai untuk smartphone. Diumumkan
pada 19 Oktober 2011 dengan penambahan fitur berupa penggunaan deteksi wajah untuk
membuka kunci telepon, jaringan data pemantauan pengunaan dan kontrol, terintegrasinya
kontak dengan jaringan sosial media, pearangkat tambahan untuk melakukan bidang fotografi,
pencarian email secara offline, dan penayampaian informasi menggunakan NFC.
Kelebihan dan Kekurangan Android
Kelebihan Android
Beberapa kelebihan dan keunggulan Android adalah :
- Android bersifat open source, karena berbasis linux. Sehingga banyak developer yang ingin
mengembangkan Android.
- Merupakan realisasi dari Cloud Computing, karena semua fitur Google sudah terintegrasi
dengan mobile yang terpasang Android. Contact pada telepon seluler pun akan tersimpan
secara otomatis pada account google.
- Dengan tersedianya Android Market, cara mendapatkan OS Android ini pun terbilang mudah.
- Fleksibel, karena bisa digunakan pada banyak platform hardware.
- Android memberikan pilihan untuk memilih Hardware yang digunakan.
- Android dapat mengubah Pengaturan dengan Cepat
- Android dapat menjalankan beberapa Aplikasi pada waktu yang bersamaan atau disebut juga
Multitasking.
- Kemudahan dalam Notifikasi, karena setiap ada SMS, Email, atau bahkan artikel terbaru dari
RSS Reader, akan selalu ada notifikasi di Home Screen Ponsel Android.
Kekurangan Android
Adapun beberapa kekurangan Android adalah :
- Keterbergantungan pada koneksi internet yang simultan.
- Kurang tersedianya Aplikasi tambahan pihak ketiga.
2. Arsitektur Android
Sistem operasi android memilik 4 lapisan (layer) yang merupakan komponen sistem android.
Gambar 1 Layer pada Sistem Operasi Android
setiap lapisan yang ada berperan dalam fungsi-fungsi spesifik dari sistem operasi, sebagai
berikut:
1. Linux Kernel
Lapisan yang berada pada lapisan paling bawah adalah kernel. Google membangun sistem
operasi android menggunakan kernel linux 2.6. kernel linux ini mencakup manajemen memori,
pengaturan keamanan, manajemen ketersediaan tenaga, dan beberapa driver hardware. Layer
kernel menjadi layer abstraksi yang menjadi penghubung antara hardware dan software. Android
bukan linux, android hanya berjalan di atas kernel linux 2.6. linux merupakan sistem operasi
terbuka yang ahli dalam hal manajemen memori dan manajemen proses. android hanya
menyediakan keamanan, manajemen memori, manajemen proses, jaringan dan driver. Linux
menyediakan driver layar, kamera, keypad, wifi, flash memory, audio, dan IPC.
2. Android Run Time
Android runtime berisi core libraries dan dalvik virtual machine. Core libraries berisi
seluruh inti library Java. Android menempatkan sebagian besar fungsi-fungsi yang ada pada
library dasar bahasa pemrograman java di dalam librarynya. Dalvik adalah java virtual machine
yang berguna untuk optimalisasi sistem android pada telepon selular. dalvik dibuat agar device
yang digunakan dapat menjalankan multi virtual machine. Virtual machine ini akan
mengeksekusi file dengan format dalvik executable (.dex) yang telah dioptimasi untuk
menggunakan minimal memory footprint. virtual machine ini akan menjalankan class-class yang
dicompile menggunakan compiler java yang selanjutnya akan diubah formatnya menjadi format
.dex. Dalvik virtual machine menggunakan kernel linux untuk menjalankan fungsi-fungsi seperti
threading dan low-level memory management.
3. Libraries
Android menyediakan satu set library-library dalam bahasa C/C++ yang dapat digunakan
oleh berbagai komponen yang ada pada sistem android. Library ini dapat diakses oleh
programmer melalui android application framework.
● System C Library
Didapatkan dari turunan implementasi library standar C (libc) milik BSD, dioptimasi untuk
device embedded berbasis linux.
● Media Libraries
Library ini mendukung playback dan recording dari berbagai format audio dan video
populer, seperti MP3, ACC, JPG, MPEG4, H.264, AMR, dan PNG.
● Surface Manager
Mengatur akses pada dispaly dan lapisan composites 2D dan 3D graphic dari berbagai
aplikasi.
● Libwebcore
Web browser engine yang mensupport android browser maupun embeddable web view.
● SGL
Engine Grafik 2D yang dasar.
● 3D libraries
Library ini menggunakan hardware akselerasi 3D dan highly optimized 3D software
rasterizer
● Free Type
Bitmap dan vector font rendering.
● SQLit
Engine database relasional yang ringan namun powerful untuk semua aplikasi.
Library ini bukan merupakan aplikasi yang dapat berjalan sendiri. Library dapat digunakan
oleh program yang ada di level atasnya. namun sejak versi 1.5, programmer dan developer
bisa menggunakan library sendiri menggunakan Native Development Toolkit (NDK).
4. Applications Framework
Lapisan application framework mencakup program untuk mengatur fungsi-fungsi dasar
smartphone. Application Framework merupakan serangkaian tool dasar seperti alokasi
resource smartphone, aplikasi telepon, pergantian antar – proses atau program, dan pelacakan
lokasi fisik telepon. Programmer mendapatkan akses penuh untuk memanfaatkan API-API
(Android Protocol Interface) yang juga digunakan core applications. Arsitektur aplikasi
didesain untuk menyederhanakan pemakaian kembali komponen-komponen, setiap aplikasi
dapat menunjukkan kemampuannya dan aplikasi lain dapat memakai kemampuan tersebut.
Mekanisme yang sama memungkinkan pengguna mengganti komponen-komponen yang
dikehendaki. Di dalam semua aplikasi terdapat servis dan sistem yang meliputi :
● Satu set Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grids, text
boxes, buttons, dan embeddable web browser.
● Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain
(misalnya Contacts), atau untuk membagi data yang dimilikinya.
● Resource Manager, menyediakan akses ke non-code resources misalnya localized strings,
graphics, dan layout files.
● Notification Manager yang memungkinkan semua aplikasi untuk menampilkan custom
alerts pada the status bar.
● Activity Manager yang memanage life cycle of dari aplikasi dan menyediakan common
navigation backstack.
5. Applications
Berada di tingkatan paling atas. Di lapisan ini dapat ditemukan fungsi-fungsi dasar
smartphone seperti menelepon dan mengirim pesan singkat, menjalankan web browser,
mengakses daftar kontak, dan lain-lain. layer ini merupakan layer yang paling sering diakses
oleh pengguna melalui user interface.
3. File System pada Android
File system pada Android berstandar pada kernel Linux. Struktur file yang digunakan
sama persis dengan sistem operasi Linux. File system yang sering digunakan pada android
terbagi kedalam beberapa file system, yaitu :
1. Root
Mount Point
Device
:/
: Linux Kernel, RAM
Layaknya linux, semua filesystem akan berada di dalam Root. Tidak seperti Windows
yang memilah-milahnya ke dalam drive. Dalam linux semua device dapat diakses melalui
filesystem dan menggunakan system stream, baik itu penyimpanan, display, ataupun input
dan output device.
2. System
Mount Point
Device
: /system
: Internal Memory
Partisi ini berisi file-file system, dimana file-file system operasi Android dan aplikasiaplikasi bawaannya disimpan. Partisi system ini selalu disimpan dalam Internal Storage
(storage pada ponsel), dan tidak dapat diubah isinya kecuali telah dilakukan rooting. Berikut
adalah beberapa file-file yang berada pada partisi ini :
a. /data/app – Berisi file-file .apk dari aplikasi-aplikasi yang diinstal, baik itu dari market
atau dari aplikasi yang diinstall secara manual.
b. /data/data – Berisi file-file data aplikasi, baik itu aplikasi system ataupun yang diinstall
oleh user. Isi direktori ini memuat berbagai macam data yang disimpan oleh aplikasi,
seperti save game, database (sqlite), juga file-file assets dan resource dari aplikasi tersebut.
Direktori inilah yang biasanya membesar dan bila kita menginstall banyak aplikasi, maka
Low Disk Space biasanya muncul dikarenakan isi direktori ini sudah terlalu besar.
c. /data/dalvik-cache – Merupakan tempat penyimpanan file-file .dex untuk dijalankan
secara langsung oleh dalvik virtual machine.
3. Boot
Mount Point
Device
: /boot
: Internal Memory
Partisi ini memuat Kernel Linux dan merupakan partisi awal yang akan menerima sinyal
booting dari device. Kernel inilah yang secara langsung mengakses hardware pada device
kita.
4. SDCard
Mount Point : /sdcard, /mnt/sdcard
Device : MMC / External Storage
Layout : FAT32
Berbeda dengan partisi-partisi lainnya. Partisi ini adalah area bebas, dimana kita dapat
melakukan perubahan sesuai dengan keinginan. Kita dapat menyimpan lagu, foto, dan video
di dalamnya, kita juga dapat menggunakannya untuk penyimpanan backup data, dan dapat
juga digunakan sebagai USB drive.
5. SD-EXT
Merupakan modifikasi yang bisa dilakukan pada Custom ROM dimana bila internal
Memory tidak mencukupi untuk memuat data-data penting system, maka dilakukanlah pempartisi-an pada memory card kita. Dimana memory card kita akan dibagi menjadi 2 partisi,
partisi pertama berformat FAT32 yang akan dijadikan sebagai /sdcard, dan partisi kedua
berformat EXT(x).
Inilah kehebatan Linux dan Android, dimana device yang memiliki umur yang tua yang
tidak dapat lagi memuat system Android yang semakin hari semakin berukuran besar dan
tidak dapat dimuat di dalam Internal Memory yang memiliki keterbatasan ukuran, dapat tetap
mengikuti perkembangan zaman.
SD-EXT ini memanfaatkan fasilitas Symlink yang didukung oleh Linux, dimana kita dapat
melakukan symbolic link (memetakan) suatu file atau direktori dari satu partisi menuju partisi
lainnya. Contohnya, kita memiliki direktori /sd-ext/app_s pada SD-EXT, dan lazimnya semua
aplikasi system disimpan dalam /system/app, maka kita dapat melakukan symlink dari /sdext/app_s menuju /system/app, sehingga ketika system mengakses file/direktori dari
/system/app maka system akan membaca file/direktori itu dari /sd-ext/app_s.
Beberapa pengembangan SD-EXT ini telah dilakukan oleh beberapa developer dan
custom-ROM chef, seperti app2sd, data2sd, dan Modifikasi yang saya buat sendiri AD2SDX (
Lihat di XDA-Developers ). Dimana mod-mod tersebut memiliki fungsinya masing-masing
yang sebenarnya memiliki tujuan yang sama, yaitu memanipulasi filesystem yang terbatas
agar dapat memanfaatkan penyimpanan data system di dalam External Memory.
6. Dev, Tmp, Proc
Direktori-direktori tersebut bukanlah merupakan Storage, tapi merupakan virtual. dimana
/dev merupakan direktori yang memuat semua stream hardware, /tmp merupakan
penyimpanan temporary pada ram, dan/proc merupakan direktori untuk menyimpan informasi
proses yang berjalan.
Seperti halnya linux pada PC, semua akses aplikasi menuju hardware dapat dilakukan
dengan mengakses stream pada /dev, seperti halnya kita mengakses file biasa. Kita dapat
mengakses framebuffer display secara langsung pada file /dev/graphics/fb0, atau mengakses
input device secara langsung pada /dev/input. Sistem Android mengakses hardware melalui
/dev ini, dimana /dev ini lah yang diatur oleh Kernel Linux.
Kita juga dapat mengetahui ID suatu proses dan proses apa saja yang sedang berjalan pada
direktori /proc. dan dapat juga menyimpan file temporary pada direktori /tmp untuk dilakukan
proses selanjutnya.
Hanya saja direktori-direktori ini hanya dapat diakses bila Anda memiliki permission root.
4. Manajemen Memori pada Android
Proses dapat dibunuh menurut tingkat prioritasnya. proses dengan tingkat prioritas yang
lebih rendah akan dibunuh terlebih dahulu. Prioritasnya juga dapat dipengaruhi oleh
ketergantungan antar proses. Semua aplikasi Android akan tetap berjalan dan berada dalam
memori sampai sistem membutuhkan resource untuk aplikasi lain
Gambar 2 State Aplikasi
Sangat penting untuk merancang aplikasi dengan benar untuk memastikan bahwa
prioritas sesuai untuk melakukan pekerjaan itu. Jika tidak, aplikasi tersebut bisa dibunuh
ketika berada pada sesuatu yang penting.
Berikut rincian masing-masing state dari aplikasi yang ditunjukkan pada gambar di atas :
Active Processes Active (foreground) merupakan proses aplikasi hosting yang memugkinkan
komponen untuk berinteraksi dengan pengguna. Merupakan upaya Android untuk selalu
responsif.
Proses Active meliputi:
* Aktivitas yang dilakukan pada keadaan sistem operasai berada pada kondisi “active”, yaitu
proses dasar yang memungkinkan terjadinya event yang diminta oleh user.
* Baik kegiatan, service, atau penerimaan broadcast yang sedang melaksanakan event handler
onReceive.
* Layanan saat melaksanakan onStart, OnCreate, atau event handler onDestroy.
Visible Processes Visible, Kegiatan hosting bertipe ini memungkinkan proses terlihat, tetapi
mereka tidak dapat menanggapi inputan dari pengguna. Proses ini umumnya sangat sedikit,
mereka akan berhenti bekerja pada keadaan ekstrim dan proses selanjutnya akan dilakukan oleh
proses yang aktif..
Started Service Processes, Layanan ini mendukung proses berkelanjutan, namun dengan tidak
menampilkan antarmuka. Started Service Process tidak memungkinkan interaksi langsung
dengan pengguna, oleh karena itu proses dengan tipe ini menerima prioritas yang lebih rendah di
banding aktivitas “active”. Proses ini tidak akan dihentikan kecuali apabila sumber daya yang
mereka butuhkan sama dengan proses “active”.
Background Processes, aktivitas proses hosting yang tidak terlihat dan yang tidak memiliki
layanan yang telah dimulai dianggap sebagai proses background. pada umumnya terdapat banyak
proses background yang akan dibunuh oleh anroid menggunakan pola last seen first killed untuk
mendapatkan sumber daya untuk proses foreground.
Empty Processes Untuk meningkatkan kinerja sistem secara keseluruhan, Android sering
mempertahankan aplikasi dalam memori setelah mereka telah mencapai akhir lifetime. Android
mengelola cache untuk meningkatkan waktu start-up aplikasi ketika mereka dijalankan kembali.
Proses ini dibunuh secara rutin sesuai kebutuhan.
Cara menggunakan memori dengan efisien
Android mengelola aplikasi yang berjalan di belakang (belakang). Android menutup aplikasi bila
sistem membutuhkan memori dengan jumlah yang lebih banyak. Namun, kebanyakan pengguna
android tidak puas dengan cara ini, karena apabila terlalu banyak proses yang dilakukan dapat
menyebabkan penurunan kinerjai. Kita dapat menggunakan task manager untuk mengelola
memori dengan lebih efisien.
TAHAP PEMBUATAN APLIKASI
1. Tahap Persiapan
a. Kebutuhan Perangkat :
PC / Laptop
Sistem Operasi : Linux Ubuntu
Java 5 / Java 6
Kabel serial
Devkit8000
Sources bisa diunduh di:
http://192.168.1.115/downloads/devkit8000
b. Paket Pendukung pada Ubuntu
$ sudo apt-get install add-apt-repositery
$ sudo add-apt-repositery "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ ubuntu lucid
partner"
$ sudo apt-get update
$ sudo apt-get install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev
libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
minicom gtkterm tftpd uboot-mkimage expect
$ sudo update-java-alternatives -s java-6-sun
c. Mempersiapkan Source
Menggunakan Repo Pre-package
Unduh paket
$ mkdir rowboat-android
$ cd rowboat-android
$ Download the pre-packaged repo from http://software-dl.ti.com/dsps/
dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_4_D
evKit_2_1/index_FDS.html
$ tar -xvzf XXXX.tar.gz
$ tar -zxvf beagleboard-rev-c4.tar.gz
$ cd XXXX cd beagleboard-rev-c4
$ ./.repo/repo/repo sync –local-only
d. Hasil Source
Android file system
Kernel Linux Android (pada direktori kernel)
u-boot atau boot loader (pada directory u-boot)
x-loader (pada direktori x-loader)
Toolchain
e. Setup Toolchain
Pergi ke direktori 'Toolchain'
$ cd ~/toolchain/
Install toolchain
$ tar xjvf toolchain-arm-xxx.tar.bz2
Export ke Path
$ export PATH=~/toolchain/arm-android-eabi-xxx/bin:$PATH
f. Kompilasi Silang Source
Kompilasi x-loader
Pergi ke direktori x-loader
Lalu kompilasi
$ make CROSS_COMPILE=arm-android-eabi- distclean
$ make CROSS_COMPILE=arm-android-eabi- omap3beagle_config
$ make CROSS_COMPILE=arm-android-eabiManfaatkan tools 'signGP'
$ ./signGP ./x-load.bin
$ mv x-load.bin.ift MLO
Kompilasi boot loader (u-boot)
$ make CROSS_COMPILE=arm-android-eabi- distclean
$ make CROSS_COMPILE=arm-android-eabi- omap3_devkit8000_config
$ make CROSS_COMPILE=arm-android-eabiHasil langkah tsb adalah : file 'u-boot.bin
Kompilasi kernel
Pergi ke direktori kernel
$ make ARCH=arm CROSS_COMPILE=arm-android-eabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-android-eabi
omap3_devkit8000_android_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-android-eabi- uImage
g. Menanam ke SD/MMC Card
Buat Direktori khusus untuk menyimpan hasil kompilasi yang akan ditanam ke
SD/MMC Card
$ mkdir Boot_Images
Salin file MLO, u-boot.bin dan uImage ke direktori Boot_Images
$ cp ~/MLO ~/Boot_Images
$ cp ~/u-boot.bin ~/Boot_Images
$ cp ~/uImage ~/Boot_Images
Buat Direktori Filesystem & salin root filesystem
$ mkdir Filesystem
$ cp ~/rootfs_beagle.tar.bz2 ~/Filesystem
Jalankan script 'mkmmc-android.sh'
$ ./mkmmc-android.sh /dev/sdc
2. Tahap Pembuatan Aplikasi
a. Kebutuhan aplikasi emulator Android sdk sebagai implementasi aplikasi yang
dipraktekan
Dalam penginstalan Android sdk ini sebagai media emulator yangg kelompok kami coba
adalah media emulator Android sdk yang bersifat portable yang langsung dijalankan di
linux dan sebagai catatannya adalah didalamnya harus terinstal flatform android,sample
android,media alat dimana program android dijalankan di hardware android.dan secara
langsung karena media emulatornya dengan posisi sudah terinstall seperti dibawah ini
tampilan screenshotnya
b. Kebutuhan aplikasi editor Eclipse dengan plug-in Android
Download melalui Ubuntu Software Center atau dapat juga mengcopy dari sumber yang
sudah ada.Dan untuk yang harus diperhatikan ketika menginstal Eclipse ini perlu
menambahkan plugin di new software yang servernya menuju repository dari andropid.jika
di linux menambahkan nama plugin misal
ADTplugin dan locationnya adalah
screenshotnya seperti dibawah ini
https://dl-ssl.google.com/android/eclipse
dan
APLIKASI MULTIMEDIA PLAYER MP3
Kelompok kami akan membuat aplikasi sederhana memutar sebuah file berekstensi .mp3
melalui sebuah tombol yang kami beri nama mainkan. Dalam kondisi normal, jika tombol
mainkan diklik, mp3 akan dimainkan dan pada saat player sedang memainkan audiotombol
mainkan berubah tidak bisa diklik. Namun jika mp3 selesai berputar, baru kemudian tombol
mainkan dapat diklik kembali. Mulai membuat aplikasi:
Membuat project baru
1. Jalankan Enclipse, buat Project baru.
Klik file > new
KetikplayingAudiopada kotakProject name
pilih Create new project in workspace
KlikNext
Pilih GALAXY Tab Addons pada kotak dialogBuild Target > Next
KetikMemutar file audiopada kotakApplication name
Ketikcontoh.playingAudiopada kotakPackage name
PilihCreate Activity, dan isikan playingAudio
PilihMinimum SDK version 8
Klik Finish
Membuat project player audio
1. Buat gambar apa saja(misal :mainkan)dengan format *.png
2. Buat folder baru dengan nama drawable di folder res. Masukkan gambar berlabel mainkan
(atau apa saja untuk mewakili icon player) dalam format * .png
Copykan gambarmainkanberformat *.png ke dalam folder drawable
3. Buat folder baru lagi di res, kali ini beri nama raw. Masukkan file mp3(misal kautsar.mp3)
ke dalam folder raw.
4. Kemudian ketikkan script berikut ini pada main.xml.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Memainkan Musik"
android:textSize="15px" >
</TextView>
<ImageButton
android:id="@+id/putarMusik"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:adjustViewBounds="false"
android:src="@drawable/play" >
</ImageButton>
<TextView
android:id="@+id/ket"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text=""
android:textSize="15px" >
</TextView>
</LinearLayout>
5. Ketiklah script playingAudio.java seperti berikut
package contoh.playingAudio;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;
public class playingAudio extends Activity{
ImageButton mainkan;
TextView keterangan;
MediaPlayer mp;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
keterangan=(TextView)findViewById(R.id.ket);
keterangan.setText("Silakan klik tombol play");
mainkan=(ImageButton)findViewById(R.id.putarMusik);
mainkan.setOnClickListener(new OnClickListener(){
public void onClick(View arg0){
mainkan.setEnabled(false);
keterangan.setText("Tombol play tidak aktif");
go();
}
});
}
public void go(){
mp=MediaPlayer.create(playingAudio.this, R.raw.kautsar);
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
mp.setOnCompletionListener(new OnCompletionListener(){
public void onCompletion(MediaPlayer arg0){
mainkan.setEnabled(true);
keterangan.setText("Silakan klik tombol play");
}
});}}
Bila script berantakan, lakukan Format (source > format).
Lakukan RUN dan lihat hasilnya.
Download