KEMBAR78
Chapter One - Introduction to Mobile Oses | PPTX
UNIT 1
Introduction to Mobile Oses
flutterjunction.co
m
Course Outline
● Introduction to Mobile Oses
● Build and Structure of Mobile Oses
● Introduction to development environment
● Introduction to Android
● API Levels/ Android Versions
● Pros and Cons of Android
● Comparison of Android with other OS
● Introduction to Android VM and Run time
● Installation and Configuration of Android Studio
● Running Emulator
● Adb Command line interfaces
flutterjunction.co
m
Introduction to Mobile OSes
Android
● Open-source OS
● Customizable by manufacturers (e.g., Samsung, Xiaomi).
● Powers phones, tablets, TVs, and cars (Android Auto).
● Based on Linux Kernel
● Largest app ecosystem via Google Play Store.
flutterjunction.co
m
Introduction to Mobile OSes
iOS
● Closed-source, exclusive to iPhones/iPads.
● Optimized for performance and security.
● Strict app review process for quality control.
● Was programmed in C,C++ and objective C
● App ecosystem via App Store.
flutterjunction.co
m
Introduction to Mobile OSes
Ubuntu Touch
● Linux-based
● Supports phone-to-desktop convergence.
● Focused on privacy and open-source values.
● Limited app ecosystem compared to Android/iOS.
● Offers a unique "convergence" feature, allowing the device to function
as both a smartphone and a desktop computer when connected to a
monitor and keyboard.
flutterjunction.co
m
Introduction to Mobile OSes
BlackBerry OS
● Legacy OS known for physical keyboards and encryption.
● Targeted enterprise/business users.
● Replaced by Android on modern BlackBerry devices.
● Helped to establish the importance of mobile security and productivity
features in smartphones.
flutterjunction.co
m
Introduction to Mobile OSes
Tizen(Samsung)
● Built with HTML5, C, C++.
● Used in wearables (Galaxy Watch) and smart TVs.
● Lightweight and energy-efficient.
● Limited third-party app support.
● Developed by Samsung and Intel.
flutterjunction.co
m
Introduction to Mobile OSes
Firefox OS
● Open source Os
● Discontinued
● Apps built with HTML5/JavaScript.
● Aimed at low-cost devices.
● Relied on web technologies instead of native apps.
flutterjunction.co
m
Introduction to Mobile OSes
Symbian(Nokia)
● Dominated early smartphones (pre-2010).
● Modular design for hardware flexibility.
● Phased out due to competition from Android/iOS.
flutterjunction.co
m
Introduction to Mobile OSes
Windows Phone
● Discontinued
● Featured Live Tiles for dynamic updates.
● Integrated with Microsoft services (Office, OneDrive).
● Struggled with app shortages.
flutterjunction.co
m
flutterjunction.co
m
Components
Build and Structure of Mobile Os
1. Hardware
Physical components that form the foundation of a mobile device.
● Core components: CPU(Processor), RAM(Memory) , Storage (ROM)
● Sensors: GPS, accelerometer, gyroscope, proximity sensor, fingerprint scanner
● Connectivity Modules: Cellular (4G/5G modems), Wi-Fi, Bluetooth, NFC
● Multimedia Hardware: Camera, Speaker, Touchscreen
● Power Management: Battery
● Security Hardware: Secure Enclave (iOS) or Titan M Chip (Android)
flutterjunction.co
m
Build and Structure of Mobile Os
2. Kernel
● Core engine of OS
● Boss or conductor of computer’s brain
● Interacts with hardware
● Manages hardware, memory, CPU and processes
● Android: Modified Linux Kernel
● iOS: XNU Kernel (Darwin-based)
flutterjunction.co
m
Build and Structure of Mobile Os
3. Hardware Abstraction Layer (HAL)
● Interface between the hardware and software layers
● Provides standard APIs to access hardware (e.g., camera, sensors)
● Enables hardware-independent programming for developers
● Example: Android's Camera HAL allows apps to use device cameras
without knowing hardware specifics
flutterjunction.co
m
Build and Structure of Mobile Os
4 . Middleware
● Libraries, APIs and Runtime environment
● Includes GPS, Wi-Fi, security, multimedia, etc.
● Android: Android Runtime (ART), native libraries
● iOS: Cocoa Touch frameworks
Role: Connects kernel to application framework and apps
flutterjunction.co
m
Build and Structure of Mobile Os
5. Application Framework
● High-level API layer for developers
Manages: Application lifecycle, User interface (UI), Notifications,
background tasks, and permissions
Android: Activities, Services, Fragments
iOS: ViewControllers, UIKit, SwiftUI
flutterjunction.co
m
Build and Structure of Mobile Os
6. Application
● Topmost layer where user apps live
● System Apps: Pre-installed (e.g., Camera, Dialer)
● User Apps: Installed from app stores (e.g., WhatsApp, Instagram)
● Apps run in isolated environments (sandboxing) for security
flutterjunction.co
m
flutterjunction.co
m
flutterjunction.com
flutterjunction.co
m
Core Architecture Layers Working Example
When Volume Button is Pressed
Kernel Layer
● Button driver in the kernel receives the hardware interrupt
● Kernel identifies which button was pressed
● Kernel passes this raw input event to the HAL
flutterjunction.co
m
Core Architecture Layers Working Example
When Volume Button is Pressed
Hardware Abstraction Layer (HAL)
● Volume button HAL module receives the event
● Translates hardware-specific signal into a standardized format
● Routes the standardized event to the appropriate system service
flutterjunction.co
m
Core Architecture Layers Working Example
When Volume Button is Pressed
Middleware Layer
● Audio Service receives the volume change event
● Checks system settings for volume limits and restrictions
● Calculates new volume level based on current state
● Updates system audio settings in memory
● Triggers UI feedback mechanisms
flutterjunction.co
m
Core Architecture Layers Working Example
When Volume Button is Pressed
Application Framework Layer
● Volume Manager notifies registered applications about volume change
● UI System receives instruction to display volume indicator
● Notification system prepares to notify affected applications
flutterjunction.co
m
Core Architecture Layers Working Example
When Volume Button is Pressed
Application Layer
● Volume UI overlay appears on screen showing volume level
● Currently active media applications receive volume change notification
● Applications adjust their audio output accordingly
● Any app with volume-change listeners reacts to the event
flutterjunction.co
m
Development Environment
● It's the tools and technologies used to build mobile apps.
● Includes IDEs, frameworks, emulators, and languages.
● IDEs: Android Studio, Xcode.
● Programming Languages: Java, Kotlin (Android); Swift, Objective-C (iOS).
● Frameworks Flutter, React Native (cross-platform); Jetpack, UIKit
(native).
● Emulators/Simulators Android Emulator, iOS Simulator.
● SDKs & Build Tools Android SDK, iOS SDK; Gradle, CocoaPods.
● Version Control: Git, GitHub, GitLab.
flutterjunction.co
m
Development Environment
🌍 1. HTML5
💻 Languages: HTML5, CSS3, JavaScript
🧰 Frameworks: Bootstrap, jQuery Mobile, Foundation
📦 Distribution: Via URL — not in app stores
🔍 Examples: Wikipedia Mobile, old Facebook Mobile
🏆 Pros: Single codebase, quick updates
⚠️Cons: No native access, limited offline support
flutterjunction.co
m
Development Environment
🧪 2. Hybrid
🧠 Web Apps Wrapped in Native Shell
💻 Languages: HTML, CSS, JavaScript
🧰 Frameworks: Cordova, Ionic, PhoneGap (discontinued but foundational)
📦 Distribution: Play Store / App Store
🔍 Examples: Early Instagram, Pacifica
🏆 Pros: Web tech + native distribution
⚠️Cons: Dependent on WebView, slower UI
flutterjunction.co
m
Development Environment
🔄 3. Cross Platform
🔁 One Codebase for Multiple Platforms
💻 Languages & Tools: Flutter (Dart) , React Native (JavaScript) Xamarin (.NET /
C#), Kotlin Multiplatform
📦 Distribution: Play Store / App Store
🔍 Examples: Google Ads (Flutter), Discord (React Native), Skype (Xamarin)
🏆 Pros: Near-native experience, cost-effective
⚠️Cons: Slight performance hit, complex debugging
flutterjunction.co
m
Development Environment
🌟 4. Progress Web Apps (PWAs)
🌐 Web Apps with App-like Behavior
💻 Languages: HTML, CSS, JS + service workers
🧰 Frameworks: Angular + Angular PWA Toolkit, React + Workbox, Vue + Vue CLI PWA plugin
📦 Distribution: Browser "Add to Home Screen"
→
🔍 Examples: Twitter Lite, Starbucks PWA, Pinterest
🏆 Pros: Offline support, installable, no app store needed
⚠️Cons: Limited native access, browser-dependent
flutterjunction.co
m
Development Environment
✅ 5. Native
📱 Platform-Specific Development
💻 Languages & Tools: Android: Java / Kotlin + Android Studio, iOS: Swift / Objective-C + Xcode
🧰 Frameworks: Jetpack (Android), Swift UI, UIKit (iOS)
📦 Distribution: Google Play Store / Apple App Store
🔍 Examples: WhatsApp, Snapchat, TikTok
🏆 Pros: Full performance, hardware access
⚠️Cons: Separate codebases, higher cost
flutterjunction.co
m
Feature Native HTML5 Web Hybrid Cross-Platform PWA
Language Java,Kotlin,
Swift
HTML, JS HTML, JS Dart, JS, C# HTML, JS
Frameworks Jetpack,
SwiftUI
Bootstrap,
jQuery
Ionic,
Cordova
Flutter, React
Native
Angular, React,
Vue
Codebase Separate Single Single Single Single
Performance ✅ Best ❌ Lowest ⚠️Moderate ✅ Near-native ⚠️Moderate
Hardware
Access
✅ Full ❌ Limited ⚠️Plugin-
based
✅ Good ⚠️Partial
Offline
Support
✅ Yes ❌ No ⚠️Some ✅ Yes ✅ Yes
Store
Distribution
✅ Yes ❌ No ✅ Yes ✅ Yes ⚠️No (Web only)
Examples TikTok Wikipedia MarketWatch Discord, Google
Ads
Starbucks, Twitter
Lite
flutterjunction.co
Android
● Open-source mobile operating system developed by Google.
● Based on the Linux kernel and designed primarily for touchscreen devices.
Key Highlights
● Launched: 2008
● Current Owner: Google
● Programming Languages: Java, Kotlin, C++
● App Store: Google Play Store
● Uses: Smartphones, Tablets, TVs, Smartwatches, Cars (Android Auto)
flutterjunction.co
Android API Levels
● API levels define the set of available features and system behaviors.
● Developers use them to maintain backward compatibility.
flutterjunction.co
Android API Levels
Version Name Version Number API Level Release Year
Cupcake 1.5 3 2009
Gingerbread 2.3 9-10 2010
Jelly Bean 4.1 - 4.3 16-18 2012–2013
Lollipop 5.0 - 5.1 21-22 2014–2015
Marshmallow 6.0 23 2015
Nougat 7.0 - 7.1 24-25 2016
Oreo 8.0 - 8.1 26-27 2017
flutterjunction.co
Android API Levels
Version Name Version Number API Level Release Year
Pie 9.0 28 2018
10 (Q) 10.0 29 2019
11 (R) 11.0 30 2020
12 (S) 12.0 31 2021
13 (Tiramisu) 13.0 33 2022
14 14.0 34 2023
15 (Vanilla Ice Cream) 15.0 35 2024
flutterjunction.co
Advantages of Android
🔓 Open-source and highly customizable
🌐 Wide device support from multiple brands
📦 Huge app ecosystem via Play Store
🔄 Seamless integration with Google services
🔧 Developer-friendly tools (Android Studio, Jetpack)
flutterjunction.co
Disadvantages of Android
🧩 Fragmentation: Devices run on many different Android versions
🐢 Slower updates due to manufacturer delays
🦠 Security concerns due to openness and sideloading
⚙️Varied performance on low-end vs high-end devices
flutterjunction.co
Comparison
Feature Android iOS HarmonyOS KaiOS
Developer Google Apple Huawei KaiOS Tech
Source Open-source Closed-source Open-source Linux-based
App Store Google Play App Store AppGallery KaiStore
Customization ✅ High ❌ Low ⚠️Medium ⚠️Low
flutterjunction.co
Comparison
Feature Android iOS HarmonyOS KaiOS
Device Variety ✅ Wide ❌ Apple only ✅ Huawei/Honor ⚠️Feature phones
Security ⚠️Moderate ✅ High ⚠️Improving ⚠️Limited
Popular Apps ✅ Most supported ✅ Most supported ❌ Limited ❌ Limited
Market Share 🌍 ~70%+ (global) 🌎 ~25% 🌏 Growing (Asia) 📱 Small markets
flutterjunction.co
Introduction to VM and Runtime
● A Virtual Machine is a software-based simulation of a computer.
○ It runs programs as if they are running on real hardware, but inside a controlled, isolated
environment.
○ It allows apps to be portable, so they can run on different devices without rewriting the
code for each one.
● A Runtime is the environment where the app runs, including:
○ System libraries
○ Memory management
○ Code execution
○ Garbage collection (clearing unused memory)
flutterjunction.co
Introduction to Android VM and Runtime
What is Android Runtime?
Android uses a Virtual Machine (VM) to run apps, providing isolation,
memory management, and performance optimization.
flutterjunction.co
Dalvik Virtual Machine
● Used in Android versions < Android 5.0 (Lollipop)
● Based on Just-In-Time (JIT) compilation
● Apps compiled into .dex (Dalvik Executable) files
● Each app runs in its own process & instance of Dalvik VM
🧩 Example: Launching an app compiles code on the fly, slowing down start
time.
flutterjunction.co
Dalvik Virtual Machine
flutterjunction.co
ART - Ahead-Of-Time Compilation
● Replaced Dalvik from Android 5.0 onwards
● Uses Ahead-Of-Time (AOT) compilation
● Faster app execution and better battery life
● Supports improved garbage collection and debugging
🧪 Example: Apps are compiled during installation, so they run faster later.
flutterjunction.co
Dalvik Vs ART
Feature Dalvik (JIT) ART (AOT)
Compilation Time During execution During installation
Performance Slower Faster
Battery Usage More Optimized
Storage Smaller APKs Larger due to cache
flutterjunction.co
ADB Command Lines
Command Description
adb devices Lists connected devices
adb install <apk> Installs an APK on the device
adb uninstall <package> Uninstalls an app
adb logcat Shows system logs (useful for debugging)
adb shell Opens a command shell on the device
adb push <file> <location> Pushes a file to the device
adb pull <file> Pulls a file from the device
adb reboot Reboots the connected device
flutterjunction.co

Chapter One - Introduction to Mobile Oses

  • 1.
    UNIT 1 Introduction toMobile Oses flutterjunction.co m
  • 2.
    Course Outline ● Introductionto Mobile Oses ● Build and Structure of Mobile Oses ● Introduction to development environment ● Introduction to Android ● API Levels/ Android Versions ● Pros and Cons of Android ● Comparison of Android with other OS ● Introduction to Android VM and Run time ● Installation and Configuration of Android Studio ● Running Emulator ● Adb Command line interfaces flutterjunction.co m
  • 3.
    Introduction to MobileOSes Android ● Open-source OS ● Customizable by manufacturers (e.g., Samsung, Xiaomi). ● Powers phones, tablets, TVs, and cars (Android Auto). ● Based on Linux Kernel ● Largest app ecosystem via Google Play Store. flutterjunction.co m
  • 4.
    Introduction to MobileOSes iOS ● Closed-source, exclusive to iPhones/iPads. ● Optimized for performance and security. ● Strict app review process for quality control. ● Was programmed in C,C++ and objective C ● App ecosystem via App Store. flutterjunction.co m
  • 5.
    Introduction to MobileOSes Ubuntu Touch ● Linux-based ● Supports phone-to-desktop convergence. ● Focused on privacy and open-source values. ● Limited app ecosystem compared to Android/iOS. ● Offers a unique "convergence" feature, allowing the device to function as both a smartphone and a desktop computer when connected to a monitor and keyboard. flutterjunction.co m
  • 6.
    Introduction to MobileOSes BlackBerry OS ● Legacy OS known for physical keyboards and encryption. ● Targeted enterprise/business users. ● Replaced by Android on modern BlackBerry devices. ● Helped to establish the importance of mobile security and productivity features in smartphones. flutterjunction.co m
  • 7.
    Introduction to MobileOSes Tizen(Samsung) ● Built with HTML5, C, C++. ● Used in wearables (Galaxy Watch) and smart TVs. ● Lightweight and energy-efficient. ● Limited third-party app support. ● Developed by Samsung and Intel. flutterjunction.co m
  • 8.
    Introduction to MobileOSes Firefox OS ● Open source Os ● Discontinued ● Apps built with HTML5/JavaScript. ● Aimed at low-cost devices. ● Relied on web technologies instead of native apps. flutterjunction.co m
  • 9.
    Introduction to MobileOSes Symbian(Nokia) ● Dominated early smartphones (pre-2010). ● Modular design for hardware flexibility. ● Phased out due to competition from Android/iOS. flutterjunction.co m
  • 10.
    Introduction to MobileOSes Windows Phone ● Discontinued ● Featured Live Tiles for dynamic updates. ● Integrated with Microsoft services (Office, OneDrive). ● Struggled with app shortages. flutterjunction.co m
  • 11.
  • 12.
    Build and Structureof Mobile Os 1. Hardware Physical components that form the foundation of a mobile device. ● Core components: CPU(Processor), RAM(Memory) , Storage (ROM) ● Sensors: GPS, accelerometer, gyroscope, proximity sensor, fingerprint scanner ● Connectivity Modules: Cellular (4G/5G modems), Wi-Fi, Bluetooth, NFC ● Multimedia Hardware: Camera, Speaker, Touchscreen ● Power Management: Battery ● Security Hardware: Secure Enclave (iOS) or Titan M Chip (Android) flutterjunction.co m
  • 13.
    Build and Structureof Mobile Os 2. Kernel ● Core engine of OS ● Boss or conductor of computer’s brain ● Interacts with hardware ● Manages hardware, memory, CPU and processes ● Android: Modified Linux Kernel ● iOS: XNU Kernel (Darwin-based) flutterjunction.co m
  • 14.
    Build and Structureof Mobile Os 3. Hardware Abstraction Layer (HAL) ● Interface between the hardware and software layers ● Provides standard APIs to access hardware (e.g., camera, sensors) ● Enables hardware-independent programming for developers ● Example: Android's Camera HAL allows apps to use device cameras without knowing hardware specifics flutterjunction.co m
  • 15.
    Build and Structureof Mobile Os 4 . Middleware ● Libraries, APIs and Runtime environment ● Includes GPS, Wi-Fi, security, multimedia, etc. ● Android: Android Runtime (ART), native libraries ● iOS: Cocoa Touch frameworks Role: Connects kernel to application framework and apps flutterjunction.co m
  • 16.
    Build and Structureof Mobile Os 5. Application Framework ● High-level API layer for developers Manages: Application lifecycle, User interface (UI), Notifications, background tasks, and permissions Android: Activities, Services, Fragments iOS: ViewControllers, UIKit, SwiftUI flutterjunction.co m
  • 17.
    Build and Structureof Mobile Os 6. Application ● Topmost layer where user apps live ● System Apps: Pre-installed (e.g., Camera, Dialer) ● User Apps: Installed from app stores (e.g., WhatsApp, Instagram) ● Apps run in isolated environments (sandboxing) for security flutterjunction.co m
  • 18.
  • 19.
    Core Architecture LayersWorking Example When Volume Button is Pressed Kernel Layer ● Button driver in the kernel receives the hardware interrupt ● Kernel identifies which button was pressed ● Kernel passes this raw input event to the HAL flutterjunction.co m
  • 20.
    Core Architecture LayersWorking Example When Volume Button is Pressed Hardware Abstraction Layer (HAL) ● Volume button HAL module receives the event ● Translates hardware-specific signal into a standardized format ● Routes the standardized event to the appropriate system service flutterjunction.co m
  • 21.
    Core Architecture LayersWorking Example When Volume Button is Pressed Middleware Layer ● Audio Service receives the volume change event ● Checks system settings for volume limits and restrictions ● Calculates new volume level based on current state ● Updates system audio settings in memory ● Triggers UI feedback mechanisms flutterjunction.co m
  • 22.
    Core Architecture LayersWorking Example When Volume Button is Pressed Application Framework Layer ● Volume Manager notifies registered applications about volume change ● UI System receives instruction to display volume indicator ● Notification system prepares to notify affected applications flutterjunction.co m
  • 23.
    Core Architecture LayersWorking Example When Volume Button is Pressed Application Layer ● Volume UI overlay appears on screen showing volume level ● Currently active media applications receive volume change notification ● Applications adjust their audio output accordingly ● Any app with volume-change listeners reacts to the event flutterjunction.co m
  • 24.
    Development Environment ● It'sthe tools and technologies used to build mobile apps. ● Includes IDEs, frameworks, emulators, and languages. ● IDEs: Android Studio, Xcode. ● Programming Languages: Java, Kotlin (Android); Swift, Objective-C (iOS). ● Frameworks Flutter, React Native (cross-platform); Jetpack, UIKit (native). ● Emulators/Simulators Android Emulator, iOS Simulator. ● SDKs & Build Tools Android SDK, iOS SDK; Gradle, CocoaPods. ● Version Control: Git, GitHub, GitLab. flutterjunction.co m
  • 25.
    Development Environment 🌍 1.HTML5 💻 Languages: HTML5, CSS3, JavaScript 🧰 Frameworks: Bootstrap, jQuery Mobile, Foundation 📦 Distribution: Via URL — not in app stores 🔍 Examples: Wikipedia Mobile, old Facebook Mobile 🏆 Pros: Single codebase, quick updates ⚠️Cons: No native access, limited offline support flutterjunction.co m
  • 26.
    Development Environment 🧪 2.Hybrid 🧠 Web Apps Wrapped in Native Shell 💻 Languages: HTML, CSS, JavaScript 🧰 Frameworks: Cordova, Ionic, PhoneGap (discontinued but foundational) 📦 Distribution: Play Store / App Store 🔍 Examples: Early Instagram, Pacifica 🏆 Pros: Web tech + native distribution ⚠️Cons: Dependent on WebView, slower UI flutterjunction.co m
  • 27.
    Development Environment 🔄 3.Cross Platform 🔁 One Codebase for Multiple Platforms 💻 Languages & Tools: Flutter (Dart) , React Native (JavaScript) Xamarin (.NET / C#), Kotlin Multiplatform 📦 Distribution: Play Store / App Store 🔍 Examples: Google Ads (Flutter), Discord (React Native), Skype (Xamarin) 🏆 Pros: Near-native experience, cost-effective ⚠️Cons: Slight performance hit, complex debugging flutterjunction.co m
  • 28.
    Development Environment 🌟 4.Progress Web Apps (PWAs) 🌐 Web Apps with App-like Behavior 💻 Languages: HTML, CSS, JS + service workers 🧰 Frameworks: Angular + Angular PWA Toolkit, React + Workbox, Vue + Vue CLI PWA plugin 📦 Distribution: Browser "Add to Home Screen" → 🔍 Examples: Twitter Lite, Starbucks PWA, Pinterest 🏆 Pros: Offline support, installable, no app store needed ⚠️Cons: Limited native access, browser-dependent flutterjunction.co m
  • 29.
    Development Environment ✅ 5.Native 📱 Platform-Specific Development 💻 Languages & Tools: Android: Java / Kotlin + Android Studio, iOS: Swift / Objective-C + Xcode 🧰 Frameworks: Jetpack (Android), Swift UI, UIKit (iOS) 📦 Distribution: Google Play Store / Apple App Store 🔍 Examples: WhatsApp, Snapchat, TikTok 🏆 Pros: Full performance, hardware access ⚠️Cons: Separate codebases, higher cost flutterjunction.co m
  • 30.
    Feature Native HTML5Web Hybrid Cross-Platform PWA Language Java,Kotlin, Swift HTML, JS HTML, JS Dart, JS, C# HTML, JS Frameworks Jetpack, SwiftUI Bootstrap, jQuery Ionic, Cordova Flutter, React Native Angular, React, Vue Codebase Separate Single Single Single Single Performance ✅ Best ❌ Lowest ⚠️Moderate ✅ Near-native ⚠️Moderate Hardware Access ✅ Full ❌ Limited ⚠️Plugin- based ✅ Good ⚠️Partial Offline Support ✅ Yes ❌ No ⚠️Some ✅ Yes ✅ Yes Store Distribution ✅ Yes ❌ No ✅ Yes ✅ Yes ⚠️No (Web only) Examples TikTok Wikipedia MarketWatch Discord, Google Ads Starbucks, Twitter Lite flutterjunction.co
  • 31.
    Android ● Open-source mobileoperating system developed by Google. ● Based on the Linux kernel and designed primarily for touchscreen devices. Key Highlights ● Launched: 2008 ● Current Owner: Google ● Programming Languages: Java, Kotlin, C++ ● App Store: Google Play Store ● Uses: Smartphones, Tablets, TVs, Smartwatches, Cars (Android Auto) flutterjunction.co
  • 32.
    Android API Levels ●API levels define the set of available features and system behaviors. ● Developers use them to maintain backward compatibility. flutterjunction.co
  • 33.
    Android API Levels VersionName Version Number API Level Release Year Cupcake 1.5 3 2009 Gingerbread 2.3 9-10 2010 Jelly Bean 4.1 - 4.3 16-18 2012–2013 Lollipop 5.0 - 5.1 21-22 2014–2015 Marshmallow 6.0 23 2015 Nougat 7.0 - 7.1 24-25 2016 Oreo 8.0 - 8.1 26-27 2017 flutterjunction.co
  • 34.
    Android API Levels VersionName Version Number API Level Release Year Pie 9.0 28 2018 10 (Q) 10.0 29 2019 11 (R) 11.0 30 2020 12 (S) 12.0 31 2021 13 (Tiramisu) 13.0 33 2022 14 14.0 34 2023 15 (Vanilla Ice Cream) 15.0 35 2024 flutterjunction.co
  • 35.
    Advantages of Android 🔓Open-source and highly customizable 🌐 Wide device support from multiple brands 📦 Huge app ecosystem via Play Store 🔄 Seamless integration with Google services 🔧 Developer-friendly tools (Android Studio, Jetpack) flutterjunction.co
  • 36.
    Disadvantages of Android 🧩Fragmentation: Devices run on many different Android versions 🐢 Slower updates due to manufacturer delays 🦠 Security concerns due to openness and sideloading ⚙️Varied performance on low-end vs high-end devices flutterjunction.co
  • 37.
    Comparison Feature Android iOSHarmonyOS KaiOS Developer Google Apple Huawei KaiOS Tech Source Open-source Closed-source Open-source Linux-based App Store Google Play App Store AppGallery KaiStore Customization ✅ High ❌ Low ⚠️Medium ⚠️Low flutterjunction.co
  • 38.
    Comparison Feature Android iOSHarmonyOS KaiOS Device Variety ✅ Wide ❌ Apple only ✅ Huawei/Honor ⚠️Feature phones Security ⚠️Moderate ✅ High ⚠️Improving ⚠️Limited Popular Apps ✅ Most supported ✅ Most supported ❌ Limited ❌ Limited Market Share 🌍 ~70%+ (global) 🌎 ~25% 🌏 Growing (Asia) 📱 Small markets flutterjunction.co
  • 39.
    Introduction to VMand Runtime ● A Virtual Machine is a software-based simulation of a computer. ○ It runs programs as if they are running on real hardware, but inside a controlled, isolated environment. ○ It allows apps to be portable, so they can run on different devices without rewriting the code for each one. ● A Runtime is the environment where the app runs, including: ○ System libraries ○ Memory management ○ Code execution ○ Garbage collection (clearing unused memory) flutterjunction.co
  • 40.
    Introduction to AndroidVM and Runtime What is Android Runtime? Android uses a Virtual Machine (VM) to run apps, providing isolation, memory management, and performance optimization. flutterjunction.co
  • 41.
    Dalvik Virtual Machine ●Used in Android versions < Android 5.0 (Lollipop) ● Based on Just-In-Time (JIT) compilation ● Apps compiled into .dex (Dalvik Executable) files ● Each app runs in its own process & instance of Dalvik VM 🧩 Example: Launching an app compiles code on the fly, slowing down start time. flutterjunction.co
  • 42.
  • 43.
    ART - Ahead-Of-TimeCompilation ● Replaced Dalvik from Android 5.0 onwards ● Uses Ahead-Of-Time (AOT) compilation ● Faster app execution and better battery life ● Supports improved garbage collection and debugging 🧪 Example: Apps are compiled during installation, so they run faster later. flutterjunction.co
  • 44.
    Dalvik Vs ART FeatureDalvik (JIT) ART (AOT) Compilation Time During execution During installation Performance Slower Faster Battery Usage More Optimized Storage Smaller APKs Larger due to cache flutterjunction.co
  • 45.
    ADB Command Lines CommandDescription adb devices Lists connected devices adb install <apk> Installs an APK on the device adb uninstall <package> Uninstalls an app adb logcat Shows system logs (useful for debugging) adb shell Opens a command shell on the device adb push <file> <location> Pushes a file to the device adb pull <file> Pulls a file from the device adb reboot Reboots the connected device flutterjunction.co