Android Application Framework
Tweet |
Android is a versatile working framework dependent on an adjusted form of the Linux part and other open-source programming, planned fundamentally for touchscreen cell phones, for example, cell phones and tablets. Android is created by a consortium of designers known as the Open Handset Alliance and economically supported by Google. In this article arrangement we'll show different devices to lead pentest on Android APK, manual investigation of the application just as the significant weaknesses; how to distinguish and fix them. Yet, prior to starting that, it is essential to comprehend the engineering of an Android gadget, how is an application incorporated and in particular the sythesis of an Android application. History of Android os: Android Inc. was established in Palo Alto, California, in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White. In July 2005, Google procured Android Inc. for at any rate $50 million. Its key representatives, including Rubin, Miner and White, joined Google as a component of the securing. At Google, the group drove by Rubin built up a cell phone stage fueled by the Linux piece. Google promoted the stage to handset creators and transporters on the guarantee of giving an adaptable, upgradeable framework. The first monetarily accessible cell phone running Android was the HTC Dream, otherwise called T-Mobile G1, reported on September 23, 2008.
Kernel As of 2020, Android uses versions 4.4, 4.9 or 4.14 of Linux Kernel. Android Kernel is based on Linux Kernel’s Long Term Support (LTS) branch. File System Ever since the release of Android, it has made use of the YAFFS2. After Android 2.3 it used EXT4 file system, although many OEMs have experimented with F2FS. The following directories are there by default in any installation of Android:
Android ArchitectureKernel The kernel is the most important part of the Android OS that provides an interface for the user to communicate with the hardware. It contains the essential drivers that are used by programs to instruct a hardware component a perform a specific function. These drivers are audio, display, Bluetooth etc. Hardware Abstraction Layer (HAL) A hardware abstraction layer (HAL) is a logical division of code that serves as an abstraction layer between a computer’s physical hardware and its software. It provides a device driver interface allowing a program to communicate with the hardware. Libraries Sitting on the top of the kernel, libraries provide developer support to develop applications, resource file and even manifest. There are some native libraries like SSL, SQLite, Libc etc that are required by native codes to effectively perform a task.
|
|
Android Evolution
Android Application Framework
Android is a versatile working framework dependent on an adjusted form of the Linux part and other open-source programming, planned fundamentally for touchscreen cell phones, for example, cell phones and tablets. Android is created by a consortium of designers known as the Open Handset Alliance and economically supported by Google. In this article arrangement we'll show different devices to lead pentest on Android APK, manual investigation of the application just as the significant weaknesses; how to distinguish and fix them. Yet, prior to starting that, it is essential to comprehend the engineering of an Android gadget, how is an application incorporated and in particular the sythesis of an Android application.
History of Android os:
Android Inc. was established in Palo Alto, California, in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White.
In July 2005, Google procured Android Inc. for at any rate $50 million. Its key representatives, including Rubin, Miner and White, joined Google as a component of the securing. At Google, the group drove by Rubin built up a cell phone stage fueled by the Linux piece. Google promoted the stage to handset creators and transporters on the guarantee of giving an adaptable, upgradeable framework.
The first monetarily accessible cell phone running Android was the HTC Dream, otherwise called T-Mobile G1, reported on September 23, 2008.
Android kernels |
Android’s main hardware platform for Android is ARM with x86 and x86-64 architectures also supported in the later releases. Since Android 5.0 Lollipop, 64-bit variants of all platforms are supported in addition to 32-bit variant.
Kernel
As of 2020, Android uses versions 4.4, 4.9 or 4.14 of Linux Kernel. Android Kernel is based on Linux Kernel’s Long Term Support (LTS) branch.
File System
Ever since the release of Android, it has made use of the YAFFS2. After Android 2.3 it used EXT4 file system, although many OEMs have experimented with F2FS. The following directories are there by default in any installation of Android:
- Boot: The partition contains the kernel, ramdisk etc. which is required for the phone to boot when powered on.
- System: Contains OS files which include Android UI and pre-installed apps
- Recovery: Alternative option to booting into OS, allows recovery and backup of partitions.
- Data: Saves user data, apps data, messaging, music etc. Can be traversed through the file browser. This is wiped when the factory reset is pressed. Sub-folders are:
- Android – Default for app cache and saved data.
- Alarms – Custom audio files for alarms.
- Cardboard – Contains data for VR files.
- DCIM – Stores pictures and videos were taken by Camera app.
- Downloads – Stores downloaded files from the internet.
- Notifications – Custom tones for notifications of some apps.
- Music, Movies – Default folders to store songs and videos from third-party apps.
- Pictures – Default folder to store pictures taken by third-party apps.
- Podcasts – Stores podcasts files when you use a podcast app.
- Videos – Stores downloaded videos from third-party apps.
- Cache: Storage of frequently used data and app components.
- Misc: Contains other important system setting information. Like USB config, carrier ID.
Android Architecture
Kernel
The kernel is the most important part of the Android OS that provides an interface for the user to communicate with the hardware. It contains the essential drivers that are used by programs to instruct a hardware component a perform a specific function. These drivers are audio, display, Bluetooth etc.
Hardware Abstraction Layer (HAL)
A hardware abstraction layer (HAL) is a logical division of code that serves as an abstraction layer between a computer’s physical hardware and its software. It provides a device driver interface allowing a program to communicate with the hardware.
Libraries
Sitting on the top of the kernel, libraries provide developer support to develop applications, resource file and even manifest. There are some native libraries like SSL, SQLite, Libc etc that are required by native codes to effectively perform a task.
Android Architecture |
0 Comments:
Post a Comment