Operating System
An operating system (OS) is system software that manages computer hardware, software, and provides
common services for computer programs.
Role in Mobile Development:
Provides the foundation for running applications.
Manages device resources like CPU, memory, and storage.
Android apps run on Android OS, a Linux-based platform optimized for mobile devices.
Features of Android OS:
Open Source: Allows developers to modify and customize.
Kernel: Built on the Linux kernel, providing security, memory management, and process management.
Inter-Process Communication (IPC): Allows apps to share data securely.
Multitasking: Supports running multiple apps simultaneously.
Examples of Mobile OS:
Android (by Google)
iOS (by Apple)
HarmonyOS (by Huawei)
Windows Mobile (deprecated).
Java JDK
Definition: The Java Development Kit (JDK) is a software development environment used for developing
Java applications.
Components:
Compiler (javac): Converts Java source code into bytecode.
Java Runtime Environment (JRE): Provides the libraries and JVM for running Java applications.
Debugger (jdb): Helps identify errors in code.
JavaDoc: Tool for generating API documentation.
Role in Android Development:
Android apps are primarily written in Java (or Kotlin).
JDK provides essential tools to compile, debug, and run Java code during Android app development.
Installation:
Download from Oracle's official site or OpenJDK for open-source versions.
Required to set up the JAVA_HOME environment variable.
Android SDK
Definition: The Android Software Development Kit (SDK) is a collection of tools and libraries necessary to
develop Android applications.
Components:
Android Studio: Official IDE for Android development.
Emulator: Simulates an Android device for testing.
ADB (Android Debug Bridge): Tool to communicate with Android devices during development.
API Libraries: Provide access to Android features like camera, location, and storage.
Key Features:
Gradle Build System: Manages dependencies and builds the app.
Support for Multiple Android Versions: Allows targeting specific Android API levels.
Layouts and UI Tools: For designing user interfaces.
ProGuard: Optimizes and obfuscates the code for release.
Installation:
Integrated into Android Studio.
Regularly updated to include support for new Android versions.