ROM Android: Arsitektur Android

From OnnoWiki
Jump to navigation Jump to search

saya cukup yakin bahwa jika Anda adalah seorang pemilik android, sesekali Anda mungkin telah menemui beberapa istilah yang akan membuat Anda benar-benar bingung. Hal-hal seperti rooting, ROM dll mungkin pernah anda dengan dan tampaknya seperti membuang-buang waktu, tapi jujur istilah-istilah tersebut adalah kekuatan terbesar dari platform ini.

Di masa lalu kami telah menulis beberapa posting tentang CyanogenMod ROM dan adat tetapi tidak memberikan gambaran lengkap tentang apa yang sebenarnya mereka. Jadi di sini saya mencoba untuk menjawab beberapa pertanyaan yang sering diangkat.

Mari kita mulai dari yang mendasar.

Apa itu Android?

Dalam istilah awam, Android adalah sistem yang beroperasi pada terutama pada platform mobile (Cellphone / tablet). Yang pasti, Android bukan hardware yang anda dapatkan ketika Anda membeli telepon.

Arsitektur Android

Sebelum kita membahas lebih dalam tentang ROM dan Super User, mari kita bahas sedikit tentang arsitektur android. Agar sebuah perangkat komputasi untuk bekerja, diperlukan perangkat lunak yang mampy berinteraksi dengan perangkat keras / hardware. Hardware sendiri tidak dapat berbuat apa-apa kecuali diarahkan / diperintah untuk melakukan sesuatu. Arah / interaksi dengan hardware dilakukan melalui lapisan paling dalam dari sistem operasi yang dikenal sebagai kernel. Kernel dalam android adalah turunan dari kernel sistem operasi Linux.

Lapisan atas kernel adalah apa yang memberi instruksi kernel untuk melakukan tugas-tugas tertentu. Misalnya jika Anda klik pada ikon pada launcher, input ditafsirkan oleh kernel (seperti berinteraksi dengan hardware), tetapi apa yang harus dilakukan dengan input ini dipahami oleh lapisan berikutnya, yaitu aplikasi. Dalam hal ini launcher. Jadi pertanyaannya adalah bagaimana cara kerja launcher? Launcher tidak secara langsung bekerja dengan kernel, akan tetapi melalu sebuah perantara yaitu Dalvik Virtual Machine yang menjalankan aplikasi launcher ini. Jika Anda sudah familiar dengan Java Anda akan memahami hal ini cukup mudah, tetapi jika Anda belum familiar dengan Java maka terima saja konsep ini.

Pendek kata, hardware berinteraksi dengan kernel yang berinteraksi dengan mesin virtual Dalvik yang berinteraksi dengan aplikasi, dan semua ini bersama-sama digabungkan disebut ROM.


ROM, RAM dan Firmware

ROM adalah singkatan dari Read Only Memory, ada banyak jenis ROM, ada yang dapat dihapus, ada yang hanya diprogram. ROM digunakan untuk menyimpan seluruh stack yang di atas. Kernel, DVM dan Aplikasi disimpan dalam ROM tersebut, maka kita sering menyebutkan keseluruhannya sebagai ROM.

Ada perbedaan yang cukup besar antara ROM dan RAM jadi jangan bingung. Di satu sisi ROM seperti penyimpanan permanen, RAM adalah penyimpanan sementara. RAM menyimpan data run time yang dihasilkan selama pemrosesan.

Dan, jika Anda mendengar seseorang mengatakan sesuatu tentang 'firmware' jangan bingung karena ROM dan Firmware pada dasarnya hampir sama.


Apa itu Rooting? Siapa Super User?

Jika Anda adalah seorang pengguna Linux / Unix maka anda kemungkinan besar sudah tahu jawabannya, akan tetapi untuk mereka yang tidak menggunakan Linux kita perlu memberikan penjelasan. Dari penjelasan yang ada tampak bahwa kernel Linux menjadi jantung dari sistem operasi android. Jadi semua fitur yang melekat dari sistem operasi akan sama seperti Linux. Pertanyaanya siapakah pengguna yang paling berkuasa yang dapat melakukan apa saja / segala sesuatu pada sistem Linux?

Jawabannya adalah Root yang juga di kenal sebagai super user, oleh karena itu muncul istilah rooting.

Rooting memberikan kita hak / izin untuk melakukan tugas-tugas tertentu pada android yang biasanya telah diblokir oleh pembuat handset agar menjaga kesederhanaan dan keamanan perangkat. Kita mungkin memperhatikan bahwa ketika kita menginstali aplikasi dari Google Play, aplikasi tersebut akan meminta izin tertentu. Demikian pula ada beberapa aplikasi yang membutuhkan hak akses tingkat sistem, bagi aplikasi ini akan di perlukan rooting.


Ada berbagai cara untuk me-root android (tergantung pada versi), tapi kita tidak akan membahas lebih dalam disini.

Flashing ROM

Seperti kita ketahui, Android adalah sebuah inisiatif open source dan siapa saja dapat membuat sistem operasi Android-nya sendiri untuk handset mereka masing-masing. Ada banyak pengembang yang bekerja pada membangun versi Android mereka sendiri. Salah satu yang cukup terkenal adalah Cyanogenmod. Ada banyak ROM tersebut dibangun untuk berbagai perangkat yang berbeda, dan proses instalasi ROM pada handset biasanya di sebut flashing.Proses flashing bervariasi dari handset ke handset dan ROM ke ROM. Ini bukan tugas yang sulit, tapi pasti membutuhkan banyak penelitian.

Saya pikir ini harus cukup untuk dasar-dasar, meskipun Anda harus tahu tentang beberapa istilah umum yang digunakan dalam kaitannya dengan android.

  • Deodexed – Jika Anda baru untuk flashing dan modding, jangan repot-repot dengan yang satu ini. Ini adalah bagi mereka yang berani dan sedikit jauh ke dalamnya. Dan jika Anda benar-benar tertarik untuk mengetahui apa sebenarnya yang Anda membaca tentang hal itu dalam artikel di addictivetips.com.
  • Partitions – Jangan bingung ketika seseorang mengatakan 'partisi ROM harus ext4 atau Reiserfs'. Partisi adalah membagi memori internal handset, dan ext4 / reiserfs adalah jenis file sistem. Seperti pada Windows, kita mengenal file sistem FAT32 dan ntfs.


  • Bootloader – Again, if you are linux user I don’t need to explain you this, but for the ignorant ones, bootloader is what loads the kernel into the main memory so that it can interact with hardware. I won’t go deep into how it works, but would point out that the moment your device starts the first thing that comes up after powering on is Bootloader, which loads the modules of kernel in memory.

Ok enough of complex stuffs, let me tell you about the applications you might need if you think of flashing.

  • Odin – Its a Windows application which interacts with the device at hardware level and can write on ROM (Read only memory) of the handset.
  • CWM – Clockwork Mod is an application installed on android device that manages the ROM(the stack) installed in the system. It can be used to install or backup the roms.

This is more than enough information for one read. If you wish to know more about your handset post your queries here and I will guide you to right place. Also for most of HTC/Samsung/Motorola phones the best place to venture is XDA Forum.

The objective of this post was to let you know more about Android. I have not discussed the advantages and disadvantages of custom roms or rooting, but then again I said it requires a lot of research. Just a little help to your research, read this article.



4 Basic Android Customizations by: Radu Tyrsina

Updated on April 18th, 2011


   Android

Share 0 Recomended Understand the Basic Android Terminologies Understand the Basic Android Terminologies

Awesome Gmail Themes and Customizations Awesome Gmail Themes and Customizations

Quick Launch: The Ultimate Custom Lock Screen Launcher for Android Quick Launch: The Ultimate Custom Lock Screen Launcher for Android


android-customization

Android phones came with the slogan that was totally in contrary with their major competitor, the iOS from Apple. While Apple has a wide selection of apps that can do pretty much everything you can think of and beyond, Android equipped phones are capable of completely changing the experience of using one. The idea behind Android being an open source one is that people could change anything they wanted. So the app base is already pretty good compared to iOS since the platform is new. The best part of being an open source platform is virtually no limitation to the customizations. Android is just that. If you are interested in Android customizations, then here are some tips:

1. Wallpaper: Good old wallpapers are age old concepts of customizing a device. It is the simplest method too. You can have a lot of wallpapers for free from the internet for your Android device. A different approach made here on this platform is the option of using ‘live wallpapers’. These wallpapers are essentially changing images that are displayed in succession. Some apps and widgets come with their very own version of live wallpapers. You can use them or you can choose your own by searching the internet.

2. Widgets: Widgets are quite familiar to most of us. These are small apps that can be placed on the home screen of a device to add functionality. There are many widgets that provide different information or customization to the home screen. Some of these are available for free and they can still be very useful ways of customization. Widgets usually display information like weather and temperature info, calendar etc.

3. Launcher: Launchers can replace the default bottom part of the screen on your Android device. While the basic function provided also by the basic launcher is the ability to launch applications, they can be used for certain other customization options. There are many free launcher apps. They are like apps, so at any point, you can change or remove them if you don’t want them to function anymore. Some launchers come with widgets that can be useful. You can take a look at their functionality.

4. ROMs: ROMs are the core of all Android phones. But if you want to change the experience at a hardware level, then these are your first steps. Custom ROMs with different functionality are targets of a lot of customers who want to modify their dream devices to make them heavenly ones. Some ROMs are cheaper than others. But you have to make sure that the ROM you are going to buy will work.





Android File System Structure/Architecture/Layout Details February 17, 2013 Android Tutorial, Tutorials

Android File System Structure/Architecture/Layout Details

Most of the Android user are using their Android phone just for calls, SMS, browsing and basic apps, But form the development prospective, we should know about Android internal structure. Android uses several partitions (like boot, system, recovery,data etc) to organize files and folders on the device just like Windows OS. Each of these partitions has it’s own functionality, But most of us don’t know the significance of each partition and its contents. In this article, we will take you on a tour of Android partitions. So lets start the android file system tutorial.

There are mainly 6 partitions in Android phones, tablets and other Android devices. Below is the list of partition for Android File System. Note that there might be some other partitions available, it differs from Model to Model. But logically below 6 partitions can be found in any Android devices.

   /boot
   /system
   /recovery
   /data
   /cache
   /misc

partition-size-in-android-device

Also Below are the for SD Card Fie System Partitions.

   /sdcard
   /sd-ext

Please Note: Only /sdcard partition can be found in all Android devices and the rest are present only in select devices. Know Your Android Device Partition Size using adb Command

You can know which partitions are available along with the partition size for all partition in your android device. Go through the below image and run the adb command as shown in that image. For more adb commands, you can read my atricle Useful adb Commands for Android Development. Also for more details for android architecture, you can read my article Android Architecture.



partition-size-in-android-device

Note: boot and recovery partition is not displayed in the above image. So after adb shell, you need to run mount command. like cat proc/mounts /boot

This is the boot partition of your Android device, as the name suggests. It includes the android kernel and the ramdisk. The device will not boot without this partition. Wiping this partition from recovery should only be done if absolutely required and once done, the device must NOT be rebooted before installing a new one, which can be done by installing a ROM that includes a /boot partition. /system

As the name suggests, this partition contains the entire Android OS, other than the kernel and the ramdisk. This includes the Android GUI and all the system applications that come pre-installed on the device. Wiping this partition will remove Android from the device without rendering it unbootable, and you will still be able to put the phone into recovery or bootloader mode to install a new ROM. /recovery

This is specially designed for backup. The recovery partition can be considered as an alternative boot partition, that lets the device boot into a recovery console for performing advanced recovery and maintenance operations on it. /data

Again as the name suggest, it is called userdata partition. This partition contains the user’s data like your contacts, sms, settings and all android applications that you have installed. While you are doing factory reset on your device, this partition will wipe out, Then your device will be in the state, when you use for he first time, or the way it was after the last official or custom ROM installation. /cache

I hope you have some idea about cache, as you are expert on internet browsing. This is the partition where Android stores frequently accessed data and app components. Wiping the cache doesn’t effect your personal data but simply gets rid of the existing data there, which gets automatically rebuilt as you continue using the device. /misc

This partition contains miscellaneous system settings in form of on/off switches. These settings may include CID (Carrier or Region ID), USB configuration and certain hardware settings etc. This is an important partition and if it is corrupt or missing, several of the device’s features will will not function normally. /sdcard

This is not a partition on the internal memory of the device but rather the SD card. In terms of usage, this is your storage space to use as you see fit, to store your media, documents, ROMs etc. on it. Wiping it is perfectly safe as long as you backup all the data you require from it, to your computer first. Though several user-installed apps save their data and settings on the SD card and wiping this partition will make you lose all that data.

On devices with both an internal and an external SD card – devices like the Samsung Galaxy S and several tablets – the /sdcard partition is always used to refer to the internal SD card. For the external SD card – if present – an alternative partition is used, which differs from device to device. In case of Samsung Galaxy S series devices, it is /sdcard/sd while in many other devices, it is /sdcard2. Unlike /sdcard, no system or app data whatsoever is stored automatically on this external SD card and everything present on it has been added there by the user. You can safely wipe it after backing up any data from it that you need to save. /sd-ext

This is not a standard Android partition, but has become popular in the custom ROM scene. It is basically an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have special features called APP2SD+ or data2ext enabled. It is especially useful on devices with little internal memory allotted to the /data partition. Thus, users who want to install more programs than the internal memory allows can make this partition and use it with a custom ROM that supports this feature, to get additional storage for installing their apps. Wiping this partition is essentially the same as wiping the /data partition – you lose your contacts, SMS, market apps and settings.

Now when you install a new binary, you can know what you’re going to loose, make sure to backup your data before flash new binary in your android device.

I hope this small tutorial will help you at it’s best. If you have nay query or comments, please share with us, we will get back to you asap.

Referensi