Mobile SDK

On this page 7

A mobile SDK (mobile software development kit) is a packaged set of libraries, APIs, build tools, emulators and documentation that developers use to create applications for a mobile platform such as Android or iOS, or to integrate a specific service, such as payments, maps or analytics, into a mobile app. In mobile platforms, the term covers two related things: the platform SDK published by the operating system vendor and the third-party SDKs that companies ship for embedding their services.

The SDK defines what an app is allowed and able to do on a given platform version. Its API level, supported languages and tooling decide which devices an app can reach and how it behaves on them.

What a mobile SDK contains

A mobile SDK contains everything needed to compile, run, test and debug code for a target platform or service. The platform SDKs are large toolchains, while a typical third-party SDK is a single library with a small configuration surface.

ComponentPurposeAndroid exampleiOS example
API librariesAccess to system featuresAndroid framework APIs, JetpackUIKit, SwiftUI, Foundation
Compiler and build toolsTurn source code into an app packageGradle, D8 and R8Swift and Clang compilers, xcodebuild
Emulator or simulatorRun apps without a physical deviceAndroid EmulatoriOS Simulator
Debugging and profilingFind defects and performance problemsadb, Android Studio profilersLLDB, Xcode Instruments
Packaging and signingProduce installable, verifiable buildsAPK and AAB signingIPA and code signing
Documentation and samplesExplain usage and best practiceReference docs, codelabsReference docs, sample projects
Typical components of a platform SDK

On Android, the SDK is installed through Android Studio and its SDK Manager and works on Windows, macOS and Linux. On iOS, the SDK ships inside Xcode, which runs only on macOS, so building iOS apps requires Apple hardware or a hosted macOS build service.

How SDK versions and API levels work

Each mobile operating system release comes with a new SDK version that adds APIs, deprecates old ones and sometimes changes default behavior. Developers must decide which versions to compile against, which to optimize for and which minimum version to support.

Android expresses this with integer API levels and three settings in the build configuration. iOS uses a deployment target for the minimum version and the SDK bundled in the current Xcode for compilation, with availability checks guarding newer APIs.

SettingMeaningPractical effect
minSdkVersionLowest API level the app installs onDefines the reachable device base
targetSdkVersionAPI level whose behavior the app is tested forOpts into new runtime rules and restrictions
compileSdkVersionAPI level used to compile the codeMakes new APIs available at build time
Android SDK version settings

Stores enforce minimum target levels: Google Play requires new apps and updates to target a recent API level within about a year of each Android release, and Apple requires submissions to be built with a recent Xcode and SDK. Raising the target often brings behavior changes, such as stricter background limits or new permission prompts, that must be tested.

Platform SDKs and third-party SDKs compared

Platform SDKs and third-party SDKs differ in scope, ownership and risk. The platform SDK is mandatory and maintained by the OS vendor, while third-party SDKs are optional components that bring external code, and often external data flows, into the app.

KindProvided byTypical examplesMain concern
Platform SDKOperating system vendorAndroid SDK, iOS SDKVersion support, behavior changes
Cross-platform framework SDKFramework maintainerFlutter SDK, React NativeLag behind new platform features
Service SDKService providerPayments, maps, authenticationVendor lock-in, API changes
Analytics and advertising SDKData or ad companyAttribution, crash reporting, adsPrivacy, data collection, app size
Hardware or accessory SDKDevice makerWearables, scanners, card readersLimited device coverage
Kinds of mobile SDKs

Some platform services are not in the open-source part of a platform at all. On Android, functions such as push messaging and location APIs often come from Google Play services rather than AOSP, so devices without them, including many HarmonyOS phones, need alternative SDKs for the same tasks.

Choosing and integrating a third-party SDK

Every third-party SDK adds code the team does not control to the app. It runs with the same permissions as the app itself, so its behavior becomes the app’s responsibility in store reviews and privacy law.

  • Data practices: check what personal data the SDK collects and whether it supports consent controls; both stores require this to be declared.
  • Size and startup cost: measure the increase in download size and launch time, since many SDKs initialize at startup.
  • Maintenance: prefer SDKs with regular releases that follow new OS versions quickly.
  • Dependency conflicts: check transitive libraries that may clash with versions already used in the app.
  • Exit strategy: wrap the SDK behind an internal interface so it can be replaced without rewriting the app.

Apple requires privacy manifests and signatures for commonly used third-party SDKs, and Google Play requires a data safety declaration covering SDK data collection. A team that adds SDKs without review can find its app rejected or flagged for practices it never intended.

Common mistakes with mobile SDKs

The most frequent mistake is letting SDK versions drift. An app that stays on an old target level or an outdated service SDK eventually faces store rejections, security vulnerabilities and broken features when the vendor retires an API.

Other pitfalls include setting the minimum version too high and losing users on older devices, or too low and carrying heavy compatibility code; initializing every SDK at launch, which slows app startup time; and testing only on emulators, which hides vendor-specific behavior found in Android skins such as One UI. A periodic dependency review, at least once per major OS release, keeps these risks under control.

Understanding it simply

A mobile SDK is a toolbox for people who make phone apps. It holds ready-made parts, instructions and testing tools. With it, developers do not have to build everything from scratch.

Think of building furniture from a kit. The kit includes the right screws, the tools and the manual for that exact model. The phone maker’s SDK is the main kit, and other companies offer add-on kits for things like maps or payments. Each extra kit saves time, but it also brings in parts that someone else designed.

Applied in practice

A fitness startup builds an Android and iOS app that records runs. The team uses the platform SDKs for location and health data and adds third-party SDKs for maps, crash reporting and analytics. The first release sets the Android minimum to API level 26 to cover most active devices.

Before the next major Android release, the team raises targetSdkVersion, tests the new background location rules on several real phones and finds that tracking stopped when the screen was off. They fix it with a properly declared foreground service. During the same review, they remove an unused advertising SDK, which reduces the app size and shortens the privacy declaration in both stores.