Fact-checked by Grok 2 weeks ago

Android SDK

The Android Software Development Kit (SDK) is a comprehensive set of tools, libraries, APIs, and documentation provided by Google for developing, testing, and debugging applications on the Android operating system. It enables developers to build apps compatible with Android devices using programming languages such as Kotlin, Java, and C++. The SDK is licensed under the Android SDK License Agreement, granting a royalty-free license for creating applications for compatible Android implementations as defined by the Android Compatibility Definition Document. Key components of the Android SDK include the Android Emulator for simulating device environments, platform tools such as and for device interaction and debugging, build tools like AAPT2 and apksigner for compiling and signing apps, and command-line utilities managed via the sdkmanager tool. These elements are organized into packages that support multiple Android API levels, ensuring and allowing developers to target specific platform versions through the <uses-sdk> manifest element. The SDK is typically installed and updated through , Google's official (), which bundles the SDK with features like and Jetpack Compose for UI development. Introduced alongside the platform in 2007 as part of the Android Open Source Project, the SDK has evolved to incorporate modern privacy and security enhancements, such as the SDK Runtime in , which isolates third-party SDKs to improve app integrity and user data protection. Recent updates, including SDK Extensions for modular additions without full platform upgrades, reflect ongoing efforts to streamline development for emerging features like cross-device experiences. As of 2025, the SDK supports the latest 16 platform, with tools optimized for efficient app bundling and deployment across diverse device ecosystems.

Overview

Definition and Purpose

The Android Software Development Kit (SDK) is a comprehensive collection of software development tools, libraries, application programming interfaces (APIs), and documentation provided by Google to enable the creation of native applications for the Android operating system. It encompasses essential components such as Android system files, packaged APIs, and Google APIs add-ons, all licensed specifically for developing apps compatible with Android implementations as defined by the Android Compatibility Definition Document and Compatibility Test Suite. The primary purpose of the Android SDK is to streamline the development process for applications that operate across diverse Android-powered devices, including smartphones, tablets, televisions, and wearables, thereby supporting a unified ecosystem for mobile innovation. Developers use the SDK to build, test, debug, and optimize apps, ensuring they integrate seamlessly with Android's core functionalities like user interfaces, networking, and access. The SDK supports programming in languages such as and Kotlin, with Kotlin serving as the preferred language due to its modern features, conciseness, and full interoperability with Java, allowing developers to choose based on project needs. Introduced on November 12, 2007, by the alongside the Android platform announcement, the SDK was released to foster developer creativity, gather early feedback, and provide tools like an for testing applications before the first devices hit the market. As of 2025, it is tightly integrated with , Google's official , forming the foundational toolkit for millions of apps distributed via the Store.

Key Components

The Android SDK comprises several core components designed to facilitate Android app development, each serving distinct roles in building, testing, and deploying applications. These components are organized into modular packages that developers can install selectively to optimize storage and focus on specific needs. SDK Platforms provide the foundational libraries, , and system images corresponding to different OS versions, enabling developers to target specific API levels for compatibility and feature access. Each platform package includes the Java API frameworks, runtime libraries, and emulator system images tailored to that version. As of 2025, the latest SDK Platform is for Android 16 (API level 36), which supports advanced features such as predictive back gestures for improved user navigation. Platform Tools include essential utilities for interacting with devices and emulators, primarily the (ADB) for command-line debugging and file transfer, and for flashing partitions during device recovery or . These tools are versioned independently to ensure across SDK Platforms. Build Tools encompass the compilers, linkers, and packagers required to transform into executable packages (APKs or App Bundles), including components like D8 for dexing , R8 for code shrinking and , and AAPT2 for . They are tied to specific versions to align with evolving build requirements. SDK Tools (now largely integrated into command-line tools) offer utilities for emulation, profiling, and layout inspection, such as the Android Emulator for simulating devices without physical hardware and tools like Layout Inspector for debugging. Additional packages like the Native Development Kit (NDK) and support C/C++ native code integration. The SDK also incorporates comprehensive documentation and sample code repositories, which provide references, guides, and ready-to-build project templates to aid learning and . This modular architecture, managed through the SDK Manager, allows developers to download only necessary components, reducing overhead for targeted development workflows.

History

Origins and Initial Development

The Android SDK originated from the efforts of Inc., a startup founded in 2003 to develop software for mobile devices, which was acquired by in August 2005 for an estimated $50 million. Following the acquisition, the Android team at focused on creating an open-source mobile platform, emphasizing Java-based to enable developers to build applications using familiar tools and libraries. This approach aimed to lower barriers for software developers transitioning from desktop or other Java environments to mobile app creation. In November 2007, Google announced the Android platform alongside the formation of the , a of over 30 technology and industry leaders committed to advancing open standards. On November 12, 2007, an early preview of the Android SDK was released to developers, providing initial access to core , tools, and for prototyping mobile applications. The SDK highlighted an integrated emulator for simulating device hardware and software behaviors, allowing testing without physical handsets, and included support for the through plugins that streamlined project setup and debugging. The first commercial release of the Android SDK, version 1.0, arrived on September 23, 2008, coinciding with the launch of the (T-Mobile G1 in the ), the inaugural Android-powered device. This version stabilized the APIs for production use and introduced foundational features like web browsing integration and media support. Complementing the SDK, launched the Android Market on October 22, 2008, an app distribution platform that enabled developers to publish and monetize applications, significantly accelerating SDK adoption by fostering a vibrant ecosystem from the outset.

Evolution and Major Releases

The Android SDK underwent significant maturation following its initial release, with a pivotal shift in development tooling occurring in 2013. That year, at , Google announced as the official (), replacing the Eclipse-based Android Development Tools (ADT) plugin to provide a more unified and performant workflow for developers. Concurrently, the SDK introduced the build system as the default for Android projects, enabling more flexible, declarative configuration of builds, dependencies, and tasks compared to the prior Ant-based system. Key milestones in the SDK's evolution are marked by major Android platform releases, each introducing APIs that expanded developer capabilities. Android 4.0 (Ice Cream Sandwich, API level 14, released 2011) added the Fragments API, allowing reusable UI components to enable more modular and responsive app designs across devices. Android 5.0 (Lollipop, API level 21, released 2014) debuted Material Design APIs, including new theming, animation, and widget libraries to support visually consistent, adaptive interfaces. By Android 10 (API level 29, released 2019), the focus shifted to privacy enhancements in the SDK, such as scoped storage for file access, one-time location permissions, and restrictions on background activity starts to better protect user data. In 2020, with the release of (API level 30), implemented stricter non-SDK interface restrictions to curb app misuse of undocumented or hidden , enforcing a greylist and blacklist system that blocks or warns against access to internal platform elements, thereby improving system stability and security. This measure built on earlier warnings introduced in Android 9 but marked a key enforcement milestone. More recently, (API level 36, released 2025) integrates capabilities via the model, including new ML Kit GenAI powered by Gemini Nano for on-device tasks like text summarization, rewriting, and image description, enabling developers to embed generative directly into apps. The SDK supports annual platform updates through the SDK Manager, which facilitates downloading and installing incremental API levels (e.g., from API 35 in Android 15 to 36 in Android 16), ensuring developers can target evolving features while maintaining .

Tools and Components

SDK Manager and Platforms

The SDK Manager is an integrated tool within Android Studio that enables developers to download, install, update, and manage essential components of the SDK, including SDK Platforms, build tools, and system images for emulators. It provides a for selecting and acquiring these packages, ensuring that developers can target specific Android versions without manual file management. Additionally, the SDK Manager supports command-line operations through the sdkmanager , allowing scripted automation for package listing, installation, and updates in environments like systems. SDK Platforms represent the core building blocks of the Android SDK, with each platform corresponding to a specific version of the Android operating system and including the associated API libraries, documentation, and sample code. For instance, the Android 16 platform encompasses API level 36, providing the necessary frameworks for compiling applications compatible with that OS release. These platforms are versioned by API level, which defines the set of available APIs and behaviors, allowing developers to maintain backward compatibility while leveraging new features. As of August 31, 2025, Google Play requires that new apps and updates target API level 35 or higher, excluding certain specialized categories like Wear OS and Android Automotive OS, to ensure enhanced security and performance on modern devices. A key feature of SDK Platforms is their support for diverse hardware architectures and device form factors, facilitating broad compatibility across Android ecosystems. Platforms include system images optimized for architectures such as (including arm64-v8a) and x86 (including x86_64), which are essential for testing on s that mimic real-world device configurations. Furthermore, specialized system images extend support to various form factors, including standard phones, televisions via , and in-vehicle systems through OS, enabling developers to build and validate applications for these environments directly from the SDK Manager.

Platform and Build Tools

The Android SDK's Platform Tools provide essential command-line utilities for interacting with devices during development and testing. These tools, including the (ADB), , and Systrace, facilitate device communication, firmware management, and performance analysis without requiring direct integration into an . ADB serves as the primary interface for communicating with devices or emulators over USB or wirelessly, enabling actions such as installing applications, transferring files, and running shell commands. It supports wireless debugging starting from (API level 30), allowing developers to pair devices via without a physical cable after initial setup. In 2025, ADB received security enhancements through Android's October patch, which restricts its ability to override carrier configurations, bolstering protection against unauthorized modifications in Android 16 environments. Additionally, ADB powers logcat, a utility that captures and application messages for debugging, and enables of files directly to devices without root access or involvement. Fastboot complements ADB by handling low-level operations on a device's , such as flashing partitions, unlocking or relocking the bootloader, and installing recoveries or full images. This tool is crucial for advanced tasks like device unbricking or applying factory images, operating in fastboot mode triggered via ADB or hardware keys. Systrace offers a profiling mechanism to trace -wide performance events, capturing data on UI rendering, CPU usage, and interactions across Android subsystems. Developers invoke Systrace via ADB to generate reports, aiding in the identification of bottlenecks in graphics, input handling, or app responsiveness without needing device rooting. The Build Tools in the SDK encompass a suite of utilities for compiling and packaging applications, installed separately through the SDK Manager and versioned independently to align with evolving Android platforms. For instance, version 36.0.0, released in 2025, supports builds targeting recent API levels with improved resource handling and optimization capabilities. Key components include the Android Asset Packaging Tool (AAPT or AAPT2), which compiles and processes app resources like XML files, images, and manifests into binary formats suitable for inclusion in . The DEX compiler, typically via the D8 tool in modern builds, converts into Dalvik Executable (DEX) format for execution on the , reducing file size and improving load times. ProGuard, integrated for code shrinking and , analyzes and optimizes by removing unused elements, renaming classes, and encrypting sensitive strings to enhance app and . These tools collectively ensure efficient app compilation, with ProGuard's optimizations particularly valuable for reducing sizes in production releases.

Development Workflow

Installation and Setup

The Android SDK is typically acquired through the (), which bundles the SDK components and has been the recommended method since its introduction in 2013. Alternatively, developers can download the standalone SDK command-line tools from the official site for use without the full . As of 2025, Android development requires (JDK) version 17 or higher, with the Android Gradle Plugin (AGP) 8.x mandating JDK 17 for builds; Android Studio bundles the Runtime (JBR), a customized distribution based on JDK 17 or later. To set up the environment, first download and install the latest stable version of , such as (2025.2.1) or its feature drops, from the official download page. Upon launching for the first time, the Setup Wizard guides users through initial configuration, including downloading essential SDK packages like platform tools and the latest platform (e.g., Android 16, API level 36). This process includes an AI-assisted option powered by , available starting in the Feature Drop, which allows prompts to generate project prototypes or configure initial settings. After installation, access the SDK Manager via Tools > SDK Manager in to select and install specific platforms, build tools, and system images tailored to development needs, such as Android 16 for testing on devices. For command-line workflows or integration with other tools, set the ANDROID_HOME to point to the SDK installation directory (typically ~/Library/Android/sdk on macOS, %USERPROFILE%\AppData\Local\Android\Sdk on Windows, or ~/Android/Sdk on ), ensuring tools like sdkmanager and adb are accessible from the terminal. A key component of the setup is configuring the Emulator for testing, which supports Android 16 system images and requires for optimal performance. Enable in the BIOS/UEFI (e.g., Intel VT-x or AMD-V) and install the appropriate hypervisor driver through the SDK Manager under SDK Tools > Android Emulator hypervisor driver: use Windows Hypervisor Platform (WHPX) on +, Hypervisor.Framework on macOS 10.10+, or KVM on distributions with support. Note that Intel HAXM has been deprecated since 2023 in favor of these native hypervisors, which provide better compatibility and performance for emulating recent Android versions like 16. Once configured, create an Virtual Device (AVD) via Tools > AVD Manager, selecting a device definition and with enabled by default for GPU and CPU optimization.

Building and Testing Applications

The building and testing process in the Android SDK begins with creating a new project in , the official () for Android development. Developers start by selecting a project template, such as an empty activity or a Compose-based app, which generates the necessary files including the module-level build.gradle file for configuration. This file defines the project's dependencies, such as libraries from the Google Maven repository, and specifies the Android Gradle Plugin version, enabling features like automatic resource shrinking and code obfuscation during builds. Once the project is set up, developers configure the build.gradle file to include dependencies like Jetpack libraries or third-party SDKs, ensuring compatibility with the target API level. The build system, integrated via the Android Gradle Plugin, then compiles the source code, processes resources, and packages the application into formats such as (Android Package) for local testing or (Android App Bundle) for distribution. Building occurs through Android Studio's Build menu or via the Gradle wrapper command line (./gradlew assembleDebug for a debug ), with tasks executing in phases: initialization, configuration, and execution to transform code into an executable app. Testing is integral to the workflow, encompassing both local unit tests and instrumented tests on devices or emulators. Unit tests, which verify individual components without the full framework, are written using 4 or 5 and placed in the src/test directory; they run on the local JVM for speed and can mock Android dependencies using libraries like . For UI testing, provides a framework to simulate user interactions and assert view states, integrated via the AndroidX Test library and executed as instrumented tests on real or virtual devices. Instrumentation occurs through the (ADB), allowing tests to be deployed and run via commands like adb shell am instrument, supporting options for filtering, sharding, or coverage reporting. As of 2025, updates include enhanced Compose Preview testing features, such as screenshot testing tools that capture and compare UI states to detect regressions during development, available experimentally in the release channel. Support for Kotlin Multiplatform projects, enabling shared code across , , and since the 2023 release, integrates seamlessly into the build process via plugins for cross-platform compilation. For release preparation, applications require signing with a keystore to verify authenticity, configurable in the build.gradle file using tasks like signingConfigs. Optimization follows with tools like Bundletool, which converts AABs into optimized APKs for submission by generating device-specific splits based on architecture, language, and screen density, reducing download sizes and improving delivery efficiency. This process ensures apps meet Play Store requirements, including code transparency verification via Bundletool's check-transparency command.

APIs and Frameworks

API Levels and Compatibility

The Android SDK assigns a unique integer value, known as an API level, to each major platform release, enabling developers to target specific versions and ensure compatibility across devices. For instance, corresponds to API level 35, while is API level 36. These levels are defined in the android.os.Build.VERSION_CODES class, which provides constants for each release to facilitate version-specific code handling. In the manifest file, developers declare the minSdkVersion attribute to specify the minimum level required for the to run, preventing installation on incompatible older devices, and the targetSdkVersion to indicate the level for which the is optimized, influencing changes and to newer features. The minSdkVersion ensures by limiting feature usage to those available at or above that level, while targetSdkVersion allows the system to apply optimizations and restrictions relevant to that version, such as permission behaviors or defaults. As of August 31, 2025, requires all new apps and updates to target level 35 ( 15) or higher, except for specific platforms like and OS, to promote security and modern feature adoption. To maintain compatibility, developers employ annotations like @RequiresApi from the AndroidX library to mark methods or classes that require a specific level, enabling compile-time warnings in and lint checks to prevent misuse on older versions. At runtime, compatibility is enforced through checks against Build.VERSION.SDK_INT, which returns the device's level, allowing conditional execution of paths; for example, an app might verify if SDK_INT >= Build.VERSION_CODES.Q before invoking -specific . Feature detection via if-statements further ensures graceful degradation, where unavailable features are bypassed to avoid crashes on older devices, prioritizing public over deprecated or hidden ones. Since 9 (API level 28), the has imposed non-SDK restrictions to limit access to undocumented internal interfaces, preventing reliance on unstable internals and promoting stable development; these restrictions have evolved in subsequent releases, with full enforcement in (API level 29) and ongoing updates based on developer feedback.

Core Libraries and Jetpack

The core libraries of the Android SDK provide the foundational essential for building applications, enabling key functionalities such as management, component lifecycle handling, and inter-component communication. The android.app package includes classes for activities and services, where activities represent a single screen with a , managing focus, state restoration, and inter-app interactions like sharing content. Services, also in android.app, facilitate background operations without a visual , such as music playback or data synchronization, and can be started for independent execution or bound to provide to other processes. Complementing these, the android.content package handles intents and contexts, with intents serving as asynchronous messaging objects that activate activities, services, or broadcast receivers—explicit intents target specific components, while implicit ones allow the system to resolve matches for actions like viewing or sharing data. Contexts in this package offer access to application-specific resources and environment information, forming the basis for component interactions across the app. The android.view package manages elements, including layouts and widgets defined via XML resources, supporting adaptive designs for varying device configurations such as screen size or . Android Jetpack extends these core libraries with a suite of modular, backward-compatible components designed to simplify modern app development while ensuring consistency across Android versions. Key libraries include for handling screen transitions and , Room for local database persistence with SQL support and live data observation, and ViewModel for storing UI-related data in a lifecycle-aware manner to survive configuration changes. Jetpack's Compose library, introduced in 2021, enables declarative UI development by describing the interface as a function of state, reaching stable version 1.9 in August 2025. As of 2025, Jetpack libraries under the AndroidX namespace generally require a minimum SDK version of 23 (Android 6.0), following updates in June 2025 to enhance and performance by dropping for older APIs. This namespace provides by shipping libraries separately from the platform, allowing developers to access modern features on older devices without fragmentation. Migration from libraries to AndroidX involves refactoring dependencies and package names, often automated via tools, to maintain consistent behavior and enable ongoing updates. Additionally, Jetpack incorporates AI capabilities through ML Kit, supporting on-device inference for tasks like image recognition and without requiring cloud connectivity.

Security

Permissions and Privacy

The Android SDK implements a permission model to regulate access to sensitive device features and user data, ensuring apps operate within defined boundaries to protect privacy. Permissions are declared in the app's manifest file using the <uses-permission> element, specifying the required access levels. Normal permissions, which pose minimal risk to user privacy (such as access to the internet or vibration), are automatically granted at install time without user intervention. In contrast, dangerous permissions—those that could expose private user data, like camera, location, or contacts—require explicit user approval and have been subject to runtime requests since Android 6.0 (API level 23, released in 2015). Developers must check for these permissions at runtime using APIs like ContextCompat.checkSelfPermission() and request them via ActivityCompat.requestPermissions() if needed, prompting users with a system dialog for consent. For instance, the REQUEST_INSTALL_PACKAGES permission, a normal permission that allows an app to request installation of other packages, requires the user to enable the "Install unknown apps" setting for the app in device settings to prevent unauthorized installations. To further safeguard user , Android introduced scoped storage starting with ( level 29), which restricts apps' broad access to and enforces a filtered view of files. By default, apps targeting or higher receive scoped access, limiting them to their own app-specific directories and specific media collections (such as photos, videos, or downloads) without needing full storage permissions like READ_EXTERNAL_STORAGE. This model promotes by preventing apps from scanning or modifying arbitrary files on the device, reducing the risk of data leakage while still allowing legitimate access through targeted , such as the MediaStore for media files or the Storage Access Framework for user-selected documents. Apps can opt out temporarily for compatibility, but encourages migration to scoped storage to align with privacy best practices. The on , announced in 2022, provides a suite of APIs designed to limit cross-app ad tracking while enabling privacy-preserving advertising solutions. These APIs, including Topics API for interest-based categorization and Protected Audience API for remarketing without personal identifiers, process data on-device to avoid sharing raw user activity with third parties. By replacing traditional tracking methods like third-party or IDs, the framework enhances user control over personalized ads without compromising advertisers' ability to measure effectiveness. Android 16 (API level 36, released in 2025) builds on these privacy controls with several enhancements. It introduces a new runtime permission, NEARBY_WIFI_DEVICES, for local network access (such as / operations), with an opt-in phase starting in the second quarter of 2025 and enforcement in 2026, requiring explicit user approval to limit unintended network communications. Additionally, it enhances partial permissions for and videos, allowing users to grant limited access more intuitively. When users choose to limit access for apps targeting 16, the system pre-selects app-owned photos and videos in the photo picker, enabling users to deselect specific items and revoke granular access. This update improves user experience in partial access scenarios, ensuring apps can highlight relevant (like recently selected items) while maintaining strict boundaries.

Secure Development Practices

Secure development practices in the Android SDK emphasize proactive measures to mitigate common vulnerabilities during app development, leveraging built-in tools and libraries to ensure , , and resistance to attacks. Developers are encouraged to integrate from the outset, focusing on robust techniques that align with Android's security model. This includes validating inputs, securing communications, and protecting stored data, all facilitated by SDK components like Jetpack libraries and build tools. Input validation is a foundational practice to prevent injection attacks, where untrusted data from users or external sources could manipulate app logic or databases. By systematically checking and sanitizing all inputs—such as strings, numbers, and files—developers can block malicious payloads that might lead to unauthorized access or . The Android SDK supports this through standard /Kotlin validation methods, ensuring that only expected formats and values are processed, thereby reducing risks like or command injection. For network communications, using with OkHttp is recommended to encrypt and prevent man-in-the-middle attacks. OkHttp, a widely adopted HTTP client integrated into many projects, enforces secure connections by default, supporting TLS 1.3 and certificate pinning to verify authenticity. Developers should configure OkHttp clients to reject cleartext traffic and validate certificates against trusted authorities, ensuring sensitive information like keys or user credentials remains protected during transmission. Encrypting sensitive data at rest is critical to safeguard information such as tokens or personal identifiers from unauthorized access if the device is compromised. The Jetpack Security library simplifies this by providing EncryptedSharedPreferences for key-value storage and EncryptedFile for file encryption, both leveraging the Keystore system for key generation and management. These components use AES-256 encryption with secure random initialization vectors, automatically handling key rotation and hardware-backed storage where available, making it easier to comply with privacy regulations without custom cryptographic implementations. To address SQL injection vulnerabilities, persistence library in the Android Jetpack suite enforces parameterized queries and compiled SQL statements, preventing direct concatenation of user input into database operations. query methods and annotations automatically bind parameters, isolating dynamic values from the SQL structure and eliminating injection risks even if inputs are malicious. Developers should always use interfaces for database interactions rather than raw queries to maintain this protection. Securing intents is essential to avoid task hijacking, where malicious apps intercept or overlay legitimate activities to steal sensitive data. By using explicit intents with fully qualified component names and packages, developers ensure that actions target specific app components, bypassing the implicit intent resolver that could allow unauthorized apps to respond. Additional flags like FLAG_ACTIVITY_NEW_TASK can further isolate tasks, preventing stacking exploits that trick users into revealing credentials or approving actions. Code obfuscation during builds protects and hinders attempts by attackers. ProGuard and its successor R8, integrated into the Android Gradle plugin, shrink, optimize, and rename classes, methods, and fields to meaningless symbols while preserving functionality. Enabling minifyEnabled in the build configuration applies these transformations, reducing APK size and exposing fewer implementation details, which is particularly useful for guarding algorithms or API endpoints. Integration with Google Play's vulnerability scans enhances security by automating detection of common issues before publication. The Play Console's App Security Improvement program scans APKs for vulnerabilities like outdated dependencies or hardcoded secrets, providing remediation guidance directly in the developer dashboard. Developers can proactively address flagged issues using SDK tools, ensuring apps meet Play's safety standards and receive timely alerts for post-publish threats.

References

  1. [1]
    Command-line tools | Android Studio
    Apr 12, 2023 · The Android SDK is composed of multiple packages that are required for app development. This page lists the most important command-line tools ...SDK Platform release notes · SDK Platform Tools release... · Sdkmanager · AAPT2
  2. [2]
    Download Android Studio & App Tools - Android Developers
    Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today.SDK Platform release notes · SDK Platform Tools release... · Install · Sdkmanager
  3. [3]
    Terms and conditions | Android Studio
    1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, ...
  4. [4]
    <uses-sdk> | App architecture - Android Developers
    Aug 20, 2025 · To help you test your application on various versions of the Android platform, the Android SDK includes multiple platforms that you can ...
  5. [5]
    Overview of the SDK Runtime on Android - Privacy Sandbox
    Mar 13, 2025 · Enhance user privacy, app security, and SDK integrity with a new Android 14 environment that allows third-party SDKs to run in isolation from the app process.
  6. [6]
    SDK Extensions | Platform - Android Developers
    Nov 19, 2024 · SDK Extensions leverage modular system components to add APIs to the public SDK for certain previously released API levels.
  7. [7]
    Set up the Android 16 SDK - Android Developers
    To set up Android 16 SDK, use Android Studio (2024.3.1+), update compileSdk and targetSdk, then install the SDK via Tools > SDK Manager.<|control11|><|separator|>
  8. [8]
    Application fundamentals | App architecture - Android Developers
    Feb 10, 2025 · Android apps can be written using Kotlin, the Java programming language, and C++ languages. The Android SDK tools compile your code along ...App components · The manifest file · Declare component capabilities
  9. [9]
    Android's Kotlin-first approach - Android Developers
    Jun 27, 2024 · Kotlin is 100% interoperable with the Java programming language, so you can have as little or as much of Kotlin in your project as you want. ...
  10. [10]
    This is the droid you're looking for - Android Developers Blog
    12 November 2007 ... One of our goals in releasing the Android SDK is to unleash the creativity of application developers on the platform.
  11. [11]
    How Google Play Works
    Google Play is a global digital content store that makes it easy for more than 2.5 billion monthly users across 190+ markets worldwide to discover millions of ...
  12. [12]
    SDK Platform release notes | Android Studio
    This page provides release information about the SDK packages available for download from the SDK Manager, in the SDK Platforms tab.
  13. [13]
    Behavior changes: Apps targeting Android 16 or higher
    For apps targeting Android 16 (API level 36), Android 16 includes changes to how the system manages orientation, resizability, and aspect ratio restrictions.
  14. [14]
    SDK Platform Tools release notes | Android Studio
    Android SDK Platform-Tools is a component for the Android SDK. It includes tools that interface with the Android platform, primarily adb and fastboot.SDK Platform release notes · Android SDK Command-Line...
  15. [15]
    Samples | Android Developers
    A selection of code samples and templates for you to use to accelerate your app development. Browse samples to learn how to build different components for your ...
  16. [16]
    Android API reference - Android Developers
    Aug 7, 2025 · Provides APIs to help you request, monitor, and manage on demand downloads for Play Feature Delivery, Play Asset Delivery, and offers additional ...Package Index · Reference · Android.os · Android.content
  17. [17]
    Google buys Android - CNET
    Aug 17, 2005 · Search giant quietly bought the wireless start-up in July for an undisclosed sum, according to a BusinessWeek report.
  18. [18]
    Google exec: Android was “best deal ever” - Reuters
    Oct 27, 2010 · Google quietly acquired Android in 2005 for an undisclosed price which has beenestimated at $50 million.
  19. [19]
    Android SDK: It's a Java API - InfoWorld
    Nov 12, 2007 · ... Android Open Handset SDK is basically a Java API. In addition, it supports XML-based layout files, and contains a variety of development ...<|control11|><|separator|>
  20. [20]
    Official Google Blog: Where's my Gphone? - The Keyword
    Nov 5, 2007 · We have developed Android in cooperation with the Open Handset Alliance, which consists of more than 30 technology and mobile leaders including ...Missing: origins | Show results with:origins
  21. [21]
    Photos: An early look at Google's Android - CNET
    Nov 12, 2007 · This is a shot of what programming would look like in the Eclipse programming tool kit included in the SDK. There's even an emulator to test ...
  22. [22]
    Google Releases Android SDK and Emulator - OSnews
    Nov 12, 2007 · The SDK is available for Linux, Mac and Win and it includes an emulator. ... November 2007 (132) · October 2007 (152) · September 2007 (153) ...
  23. [23]
    Announcing the Android 1.0 SDK, release 1
    Sep 23, 2008 · we're announcing the brand-new Android 1.0 SDK, release 1. Yes, that means we're officially at 1.0. Of course the SDK won't remain static—we'll ...
  24. [24]
    Android Market: Now available for users - Android Developers Blog
    Oct 22, 2008 · If you're a developer, you will be able to register and upload your applications starting next Monday, 2008-10-27, when we've wrapped up a few ...<|control11|><|separator|>
  25. [25]
    Google I/O 2013 - The New Android SDK Build System - YouTube
    May 19, 2013 · Xavier Ducrohet Introducing the new Gradle-based Android SDK build system that will eventually replace Ant and the Eclipse builders.
  26. [26]
    Android 5.0 Lollipop SDK and Nexus Preview Images
    Oct 17, 2014 · Android 5.0 Lollipop introduces a host of new APIs and features including: Material Design theme & APIs · Enhanced Notifications for your apps ...
  27. [27]
    Privacy in Android 10 | Platform
    from improved system UI to stricter permissions and ...
  28. [28]
    Restrictions on non-SDK interfaces | Platform - Android Developers
    Starting with Android 9 (API level 28), each API level has non-SDK interfaces that are restricted when an app targets that API level. These lists are labelled ...Missing: 2020 | Show results with:2020
  29. [29]
    Update the IDE and SDK tools | Android Studio
    Aug 14, 2025 · Once you install Android Studio, you can keep the Android Studio IDE and Android SDK tools up to date with automatic updates and the Android SDK Manager.
  30. [30]
    sdkmanager | Android Studio
    The sdkmanager is a command-line tool that allows you to view, install, update, and uninstall packages for the Android SDK.
  31. [31]
    Meet Google Play's target API level requirement - Android Developers
    Android 14 behavior changes · Android 15 behavior changes · Android 16 behavior changes. Migrate from Android 11 (API level 30) to Android 12 (API level 31).Android 16 behavior changes · Android 14 behavior changes
  32. [32]
    Support 64-bit architectures | Compatibility - Android Developers
    For the ARM architecture, the 32-bit libraries are located in armeabi-v7a. The 64-bit equivalent is arm64-v8a. For the x86 architecture, look for x86 for 32-bit ...
  33. [33]
    Test using the Android Automotive OS emulator | Android for Cars
    Before you can create Android Automotive OS virtual devices, you need to add system images through the Android Studio SDK Manager. Add generic system images.
  34. [34]
    Android Debug Bridge (adb) | Android Studio
    Sep 29, 2025 · Android Debug Bridge (adb) is a versatile command-line tool that lets you communicate with a device. The adb command facilitates a variety of device actions.Update the IDE and SDK tools · Enable Developer options · Build and run your app
  35. [35]
    October Android Security Patch Blocks ADB From Overriding Carrier ...
    Oct 9, 2025 · It is now impossible to use in the latest official OS of Pixel phones. It seems that Google has implemented the patch earlier than we expected, ...
  36. [36]
    View logs with Logcat | Android Studio
    Jan 3, 2024 · The Logcat window in Android Studio helps you debug your app by displaying logs from your device in real time.Missing: sideloading | Show results with:sideloading
  37. [37]
    How to Sideload Focus Content and Android Debug Bridge Quick Tips
    Nov 29, 2017 · To sideload apps onto your Focus device, we suggest using Android Debug Bridge (adb) or your favorite command line tool.
  38. [38]
    SDK Build Tools release notes | Android Studio
    Android SDK Build-Tools is a component of the Android SDK required for building Android apps. It's installed in the <sdk>/build-tools/ directory.<|control11|><|separator|>
  39. [39]
    AAPT2 | Android Studio
    AAPT2 (Android Asset Packaging Tool) is a build tool that Android Studio and Android Gradle Plugin use to compile and package your app's resources.
  40. [40]
    ProGuard Manual: Version History - Guardsquare
    ProGuard 7.1 adds 5 new code optimizations. These optimization aim at reducing the number of classes required by the application and help pinpointing the ...
  41. [41]
    Troubleshooting ProGuard issues on Android - Medium
    Sep 29, 2017 · ProGuard is a tool that shrinks, optimizes and obfuscates code. While there are other tools available for developers, ProGuard is readily available as part of ...
  42. [42]
    Install Android Studio | Android Developers
    Sep 18, 2025 · Follow the Setup Wizard in Android Studio and install any recommended SDK packages. The following video shows each step of the setup ...
  43. [43]
    Java versions in Android builds | Android Studio
    Whether your source code is written in Java, Kotlin, or both, there are several places you must choose a JDK or Java language version for your build.
  44. [44]
    Android Studio Narwhal | 2025.1.1 (June 2025)
    Sep 22, 2025 · Android Studio Narwhal | 2025.1.1 (June 2025) bookmark_border ...
  45. [45]
    Create a new project with AI | Android Studio
    Oct 30, 2025 · Learn how to use Gemini in Android Studio to generate functional app prototypes from natural language prompts and images, accelerating your ...
  46. [46]
    Environment variables | Android Studio
    Jul 18, 2024 · One of the most useful environment variables to set is ANDROID_HOME , which many tools read to determine the Android SDK installation directory.
  47. [47]
    Configure hardware acceleration for the Android Emulator
    Aug 8, 2025 · Select Tools > SDK Manager. Click the SDK Tools tab and select Android Emulator hypervisor driver. Click OK to download and install the Android ...General Requirements · Guide For Intel Haxm... · Check Whether Intel Haxm Is...
  48. [48]
    Emulator release notes | Android Studio
    HAXM support is removed from the Emulator. If you try to create an AVD with HAXM, will see a banner reporting missing a hypervisor and an action link to install ...
  49. [49]
    Gradle build overview | Android Studio
    Jan 14, 2025 · A Gradle build transforms source code into an executable app using tasks, plugins, and a task-based approach. It has three phases: ...What Happens When A Gradle... · Configuration Dsls · Build Variants
  50. [50]
    Build your app from the command line | Android Studio
    Jul 15, 2024 · Find out how you can execute all the build tasks available to your Android project using the Gradle wrapper command line tool.Build And Deploy An Apk · Build A Debug Apk · Generate The Manifest And...
  51. [51]
    Build local unit tests | Test your app on Android - Android Developers
    Feb 10, 2025 · Local unit tests run on your workstation, using your local JVM. They are placed in module-name/src/test/ and created as JUnit 4 test classes.Create a local unit test class · Mockable Android library
  52. [52]
    Espresso | Test your app on Android
    Feb 10, 2025 · Use Espresso to write concise, beautiful, and reliable Android UI tests. The following code snippet shows an example of an Espresso test.Espresso setup instructions · Espresso basics · Espresso cheat sheetMissing: ADB | Show results with:ADB
  53. [53]
    Test from the command line | Android Studio
    Apr 3, 2024 · When you run tests from the command line with Android Debug Bridge (adb), there are more options for choosing the tests to run than with any ...Run Tests With Adb · Am Instrument Flags · Am Instrument Options
  54. [54]
    Compose Preview Screenshot Testing | Android Studio
    Experimental: Compose Preview Screenshot Testing is still in development. Its features and APIs are subject to change substantially during the alpha phase.
  55. [55]
    Android Studio Hedgehog | 2023.1.1 (Nov 2023)
    Feb 29, 2024 · Android Studio Hedgehog includes the IntelliJ IDEA 2023.1 updates, which improve the Studio IDE experience.
  56. [56]
    bundletool | Android Studio
    Apr 11, 2024 · Enables your app bundle for local testing. Local testing allows for quick, iterative testing cycles without the need to upload to Google Play ...Build and test an app bundle · Build an app bundle · Build and test an SDK bundle...
  57. [57]
    About Android App Bundles | Other Play guides
    Jul 21, 2025 · An Android App Bundle is a publishing format that includes all your app's compiled code and resources, and defers APK generation and signing to Google Play.Instant play games · Play Core libraries · Filters on Google Play · App Licensing
  58. [58]
    Build.VERSION_CODES | API reference - Android Developers
    ... Android Studio. Android API Reference. Overview. Android Platform. Packages. API level. REL, 36.1, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22 ...<|control11|><|separator|>
  59. [59]
    RequiresApi | API reference - Android Developers
    androidx.annotation.experimental. Overview. Enums. Experimental.Level. Annotations. Experimental · UseExperimental. androidx.appcompat.app. Overview. Interfaces.
  60. [60]
  61. [61]
    Support different platform versions | Compatibility
    Aug 20, 2025 · Check system version at runtime. Android provides a unique code for each platform version in the Build constants class. Use these codes ...
  62. [62]
  63. [63]
  64. [64]
  65. [65]
  66. [66]
  67. [67]
    AndroidX releases | Jetpack - Android Developers
    See its release notes for more information. Last updated: November 5, 2025 ... Android Studio guide · Developers guides · API reference · Download Studio ...
  68. [68]
    AndroidX overview | Jetpack - Android Developers
    Aug 27, 2025 · Like the Support Library, libraries in the androidx namespace ship separately from the Android platform and provide backward compatibility ...
  69. [69]
    Permissions on Android | Privacy - Android Developers
    This page provides an overview to how Android permissions work, including a high-level workflow for using permissions, descriptions of different types of ...App permissions best practices · Request runtime permissions · Permission-group
  70. [70]
    Request runtime permissions | Privacy - Android Developers
    You can declare a runtime permission and set up a permission request that provides this access. These steps are part of the workflow for using permissions.
  71. [71]
  72. [72]
    Privacy changes in Android 10
    Android 10 (API level 29) introduces a number of features and behavior changes to better protect users' privacy.Missing: effective date
  73. [73]
    Data and file storage overview - Android Developers
    Scoped storage. To give users more control over their files and to limit file clutter, apps that target Android 10 (API level 29) and ...
  74. [74]
    Introduction to the Privacy Sandbox on Android
    Mar 11, 2025 · Our goal with the Privacy Sandbox on Android is to develop effective and privacy enhancing advertising solutions, where users know their privacy is protected.
  75. [75]
    Improve your app's security - Android Developers
    Enforce secure communication. Safeguard communication between apps · Provide the right permissions · Store data safely · Keep services and dependencies up to date.Sending the user to another app · Permission · Security checklist · Provider
  76. [76]
    Security checklist - Android Developers
    Jun 12, 2025 · Follow security best practices: Implement general security best practices in your development process, including secure coding techniques, code ...
  77. [77]
    HTTPS - OkHttp - Square Open Source
    OkHttp is the best way to stay secure. You can build your own connection spec with a custom set of TLS versions and cipher suites.
  78. [78]
    Data Encryption on Android with Jetpack Security
    Feb 25, 2020 · Using EncryptedFile and EncryptedSharedPreferences allows you to locally protect files that may contain sensitive data, API keys, OAuth tokens, ...
  79. [79]
    SQL injection | Security - Android Developers
    Sep 24, 2024 · SQL injection exploits vulnerable applications by inserting code into SQL statements to access underlying databases beyond their intentionally-exposed ...Overview · Mitigations · Replaceable parameters · Use query methods
  80. [80]
    Implicit intent hijacking | Security - Android Developers
    Sep 24, 2024 · The implicit Intent hijacking vulnerability occurs when an application does not specify a fully-qualified component class name or package when invoking an ...
  81. [81]
    Enable app optimization | App quality - Android Developers
    Sep 29, 2025 · Our app optimizer, called R8, streamlines your app by removing unused code and resources, rewriting code to optimize runtime performance, and more.
  82. [82]
    App security improvement program - Android Developers
    Sep 24, 2024 · Before any app is accepted into Google Play, we scan it for safety and security, including potential security issues. We also continuously re- ...