Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Android Seminar Presentation [March 2019]

910 Aufrufe

Veröffentlicht am

Topic : Android
Author : Jowin John Chemban <https://www.linkedin.com/in/jowinjohnchemban/>
Date : March 2019

# https://www.android.com/
# https://en.wikipedia.org/wiki/Android_(operating_system)
# https://www.addictivetips.com/mobile/android-partitions-explained-boot-system-recovery-data-cache-misc/
# https://www.google.com/search?q=android


Donate @ https://www.paypal.me/jowinjohnchemban

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Android Seminar Presentation [March 2019]

  1. 1. What is android?
  2. 2. Android is a mobile operating system developed by Google. It is based on a modified version of the Linux kernel and other open source software, and is designed primarily for touchscreen mobile devices such as smartphones and tablets. In addition, Google has further developed Android TV for televisions, Android Auto for cars, and Wear OS for wrist watches, each with a specialized user interface. Variants of Android are also used on game consoles, digital cameras, PCs and other electronics.
  3. 3. • Founder : Andy Rubin,Rich Miner,Nick Sears,Chris White • Current Developer : Google, Open Handset Alliance • Written in : Java (UI), C (core), C++ and others • OS family : Unix-like (Modified Linux kernel) • Initial release : 23rd September 2008 • Lateset release : 6th August 2018 [Android 9 Pie] • Kernel type : Monolithic • Source model : Open Source • Default UI : Garphical (multi-touch) • License : Apache License 2.0, GNU GPL v2 • Official Website : www.android.com
  4. 4. History • Android Inc. was founded in Palo Alto, California, in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White. • The early intentions of the company were to develop an advanced operating system for digital cameras, and this was the basis of its pitch to investors in April 2004. • Rubin had difficulty attracting investors early on, and Android was facing eviction from its office space. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope, and shortly thereafter wired an undisclosed amount as seed funding. Perlman refused a stake in the company, and has stated "I did it because I believed in the thing, and I wanted to help Andy.” • In July 2005, Google acquired Android Inc. for at least $50 million. Its key employees, including Rubin, Miner and White, joined Google as part of the acquisition. • At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradeable system.
  5. 5. First Release • The first commercially available smartphone running Android was the HTC Dream, also known as T-Mobile G1, announced on September 23, 2008. • On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC, Motorola and Samsung, wireless carriers such as Sprint and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop "the first truly open and comprehensive platform for mobile devices”. • In 2010, Google launched its Nexus series of devices, a lineup in which Google partnered with different device manufacturers to produce new devices and introduce new Android versions. The series was described as having "played a pivotal role in Android's history by introducing new software iterations and hardware standards across the board", and became known for its "bloat-free" software with "timely ... updates". • Google introduced the Pixel and Pixel XL smartphones in October 2016, marketed as being the first phones made by Google
  6. 6. Features • General Features Messaging, Auto Correction and Dictionary, Web Browser, Voice-based features, Multi-touch, Multitasking, Screen capture, TV recording, Video calling, Multiple language support, Accessibility, etc.. • Connectivity GSM/EDGE, Wi-Fi, Bluetooth, LTE, CDMA, EV-DO, UMTS, NFC, IDEN, WiMAX, Tethering, etc.. • Media Streaming media support, Media support, External storage, etc.. • Hardware Support Cameras, touchscreens, GPS, accelerometers, gyroscopes, barometers, magnetometers, proximity and pressure sensors, thermometers, GPU, etc.. • Other Java support, Handset layouts, Storage, Native Apps,Instant Apps, etc..
  7. 7. Inferface • Android's default user interface is mainly based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, along with a virtual keyboard. • Game controllers and full-size physical keyboards are supported via Bluetooth or USB. • The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. • Internal hardware, such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of a steering wheel. • Along the top of the screen is a status bar, showing information about the device and its connectivity. This status bar can be "pulled" down to reveal a notification screen where apps display important information or updates
  8. 8. Hardware • The main hardware platform for Android is ARM (the ARMv7 and ARMv8-A architectures), with x86 and x86-64 architectures also officially supported in later versions of Android. • Requirements for the minimum amount of RAM for devices running Android 7.1 range from in practice 2 GB for best hardware, down to 1 GB for the most common screen, to absolute minimum 512 MB for the lowest spec 32-bit smartphone. • Android devices incorporate many optional hardware components, including cameras, GPS, orientation sensors, dedicated gaming controls, accelerometers, gyroscopes, barometers, magnetometers, proximity sensors, pressure sensors, thermometers, and touchscreens. • In addition to running on smartphones and tablets, several vendors run Android natively on regular PC hardware with a keyboard and mouse
  9. 9. Development • Android is developed by Google until the latest changes and updates are ready to be released, at which point the source code is made available to the Android Open Source Project (AOSP), an open source initiative led by Google. • Android's source code does not contain the often proprietary device drivers that are needed for certain hardware components. The source code is, in turn, customized and adapted by original equipment manufacturers (OEMs) to run on their hardware. • The AOSP code can be found without modification on select devices, mainly the Nexus and Pixel series of devices. The stack of Android Open Source Project
  10. 10. Updates • Google announces major incremental upgrades to Android on a yearly basis. The updates can be installed on devices over-the-air. The latest major release is 9 "Pie". • The extensive variation of hardware in Android devices causes significant delays for software upgrades, with new versions of the operating system and security patches typically taking months before reaching consumers, or sometimes not at all. • In 2012, Google began decoupling certain aspects of the operating system (particularly its core applications) so they could be updated through the Google Play store independently of the OS. One of those components, Google Play Services, is a closed-source system-level process providing APIs for Google services, installed automatically on nearly all devices running Android 2.2 "Froyo" and higher. • In May 2017, with the announcement of Android 8.0, Google introduced Project Treble, a major re-architect of the Android OS framework designed to make it easier, faster, and less costly for manufacturers to update devices to newer versions of Android.
  11. 11. ANDROID Versions  There were at least two internal releases of the software inside Google. o Alpha o Beta  Version 1.0 (no code name) Linux kernel version : _ Initial release date : September 23, 2008 API level : 1  Version 1.1 (Petit Four) Linux kernel version : 2.6 Initial release date : February 9, 2009 API level : 2
  12. 12. ANDROID 1.5 Cupcake o Support for 3rd-party virtual keyboards o Text prediction o Widgets were enabled o Video recording and playback o Copy and paste feature added Linux kernel version : 2.6.27 Initial release date : April 27, 2009 API level : 3
  13. 13. ANDROID 1.6 Donut o Quick Search Box o Screen Size Diversity o Google Play Linux kernel version : 2.6.29 Initial release date : September 15, 2009 API level : 4
  14. 14. ANDROID 2.1 Eclair o Google maps Navigation o Home Screen Customisation o Speech-to-text Linux kernel version : 2.6.29 Initial release date : October 26, 2009 API level : 5 - 7
  15. 15. ANDROID 2.2 Froyo o Voice Actions o Portable Hotspot o Performance Linux kernel version : 2.6.32 Initial release date : May 20, 2010 API level : 8
  16. 16. ANDROID 2.3 Gingerbread o Gaming APIs o NFC o Battery Management Linux kernel version : 2.6.35 Initial release date : December 6, 2010 API level : 9 - 10
  17. 17. ANDROID 3.0 Honeycomb o Tablet-Friendly Design o System Bar o Quick Settings Linux kernel version : 2.6.36 Initial release date : February 22, 2011 API level : 11 - 13
  18. 18. ANDROID 4.0 Ice Cream Sandwich o Customise Home Screen o Data usage Control o Android Beam Linux kernel version : 3.0.1 Initial release date : October 18, 2011 API level : 14 - 15
  19. 19. ANDROID 4.1 Jelly Bean o Google Now o Actionable Notifications o Account Switching Linux kernel version : 3.0.31 – 3.4.39 Initial release date : July 9, 2012 API level : 16 - 18
  20. 20. ANDROID 4.4 KitKat o Voice : OK Google o Immersive Design o Smart Dialler Linux kernel version : 3.10 Initial release date : October 31, 2013 API level : 19 - 20
  21. 21. ANDROID 5.1 Lollipop o Material Design o Multiscreen o Notifications Linux kernel version : 3.16 Initial release date : November 12, 2014 API level : 21 - 22
  22. 22. ANDROID 6.0 Marshmallow o Now on Tap o Permission o Battery Linux kernel version : 3.18 Initial release date : October 5, 2015 API level : 23
  23. 23. ANDROID 7.0 Nougat o Speaks your languages o Multi-window view o Quick switch between apps o Enjoy simple, high quality VR o Smarter battery o Security Linux kernel version : 4.4 Initial release date : August 22, 2016 API level : 24 - 25
  24. 24. ANDROID 8.0 Oreo o 2x faster moves o Background limits o AutoFill o Picture-in-picture o Dive into more apps Linux kernel version : 4.10 Initial release date : August 21, 2017 API level : 26 - 27
  25. 25. ANDROID 9.0 Pie o Adaptive Battery o Adaptive Brightness o App Actions o Slices o Intuitive Navigation o Digital Wellbeing o Dashboard o App Timers o Wind Down and Do not Disturb Linux kernel version : 4.4.107, 4.9.84 & 4.14.42 Initial release date : August 6, 2018 API level : 28
  26. 26. ANDROID Kernel
  27. 27. A kernel in an operating system—in this case Android—is the component responsible for helping your applications communicate with your hardware. It manages the system resources, communicates with external devices when needed, and so on. Android uses a variation of the Linux kernel. A kernel is not the same as a ROM, even though you install them in mostly the same way. A ROM is a bit more all-encompassing. It's the operating system you use on your phone, the software your phone uses to get things done, the kernel is the bridge between that ROM and your hardware. All ROMs come with a kernel installed, but you can install a third-party one if you like—.
  28. 28. • Android's kernel is based on the Linux kernel's long-term support (LTS) branches. (The actual kernel depends on the individual device.) • Android's variant of the Linux kernel has further architectural changes that are implemented by Google outside the typical Linux kernel development cycle, such as the inclusion of components like device trees, ashmem, ION, and different out of memory (OOM) handling.. • Google engineer Patrick Brady once stated in the company's developer conference that,  "Android is not Linux“  "Let me make it simple for you, without Linux, there is no Android". • “Although Android is built on top of the Linux kernel, the platform has very little in common with the conventional desktop Linux stack" Understanding the facts
  29. 29. Android File System Structure • Android uses the Linux file system structure which has a single root • The flash storage on Android devices is split into several partitions, such as /system for the operating system itself, and /data for user data and application installations • In contrast to desktop Linux distributions, Android device owners are not given root access to the operating system and sensitive partitions such as /system are read-only. • However, root access can be obtained by exploiting security flaws in Android, which is used frequently by the open-source community to enhance the capabilities of their devices, but also by malicious parties to install viruses and malware.
  30. 30. Android Partitions Standard internal memory partitions on Android phones and tablets are, • /boot • /system • /recovery • /data • /cache • /misc In addition, there are the SD card partitions. • /sdcard • /sd-ext
  31. 31. /boot • This is the partition that enables the phone to boot, as the name suggests. It includes the kernel and the ramdisk. • Without this partition, the device will simply not be able to boot. • 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.
  32. 32. /recovery • The recovery partition can be considered as an alternative boot partition that lets you boot the device into a recovery console for performing advanced recovery and maintenance operations on it. • All Android devices ship with a recovery console that is basically a partition on the device’s internal memory and can be booted into. • The stock recovery of almost all Android devices provides a few basic yet handy options that allow you to factory reset your device, clear its cache partition, and recover its operating system using an official ROM in zip format, but that’s all you can do with it.
  33. 33. /data • Also called userdata, the data partition contains the user’s data – this is where your contacts, messages, settings and apps that you have installed go. • Wiping this partition essentially performs a factory reset on your device, restoring it to the way it was when you first booted it, or the way it was after the last official or custom ROM installation. • When you perform a wipe data/factory reset from recovery, it is this partition that you are wiping.
  34. 34. /cache • 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.
  35. 35. /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.
  36. 36. /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. /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.
  37. 37. Android System Architecture
  38. 38. Software stack • On top of the Linux kernel, there are the middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries. Development of the Linux kernel continues independently of Android's other source code projects. • Android uses Android Runtime (ART) as its runtime environment (introduced in version 4.4), which uses ahead-of-time (AOT) compilation to entirely compile the application bytecode into machine code upon the installation of an application. • In Android 4.4, ART was an experimental feature and not enabled by default; it became the only runtime option in the next major version of Android, 5.0. • Until version 5.0 when ART took over, Android previously used Dalvik as a process virtual machine with trace-based just-in-time (JIT) compilation to run Dalvik "dex-code" (Dalvik Executable), which is usually translated from the Java bytecode.
  39. 39. • For its Java library, the Android platform uses a subset of the now discontinued Apache Harmony project.[179] In December 2015, Google announced that the next version of Android would switch to a Java implementation based on the OpenJDK project. • Android's standard C library, Bionic, was developed by Google specifically for Android, as a derivation of the BSD's standard C library code. Bionic itself has been designed with several major features specific to the Linux kernel. The main benefits of using Bionic instead of the GNU C Library (glibc) or uClibc are its smaller runtime footprint, and optimization for low-frequency CPUs. Software stack
  40. 40. Open-source community • Android's source code is released by Google under an open source license. • Its open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community- driven projects, which deliver updates to older devices, add new features for advanced users or bring Android to devices originally shipped with other operating systems. • These community-developed releases often bring new features and updates to devices faster than through the official manufacturer/carrier channels, with a comparable level of quality. • Community releases often come pre-rooted and contain modifications not provided by the original vendor, such as the ability to overclock or over/undervolt the device's processor. • Example for Community releases of Android are LineageOS, etc..
  41. 41. Technical Security Features • Android applications run in a sandbox, an isolated area of the system that does not have access to the rest of the system's resources, unless access permissions are explicitly granted by the user when the application is installed, however this may not be possible for pre-installed apps. • Since February 2012, Google has used its Google Bouncer malware scanner to watch over and scan apps available in the Google Play store. A "Verify Apps" feature was introduced in November 2012, as part of the Android 4.2 "Jelly Bean" operating system version, to scan all apps, both from Google Play and from third-party sources, for malicious behavior. • Before installing an application, the Google Play store displays a list of the requirements an app needs to function. After reviewing these permissions, the user can choose to accept or refuse them, installing the application only if they accept. In Android 6.0 "Marshmallow", the permissions system was changed; apps are no longer automatically granted all of their specified permissions at installation time. • In August 2013, Google announced Android Device Manager (renamed Find My Device in May 2017), a service that allows users to remotely track, locate, and wipe their Android device, with an Android app for the service released in December.
  42. 42. The "Sooner" prototype phone, running a pre-release version of Android HTC Dream or T-Mobile G1, the first commercially released device running Android (2008)
  43. 43. Jowin John Chemban S6 CSE Holy Grace Academy of Engineering