Brief technical summary: The 5.x series begins with 5.0 and includes incremental updates 5.0.1 and 5.0.2 before the more stable 5.1 and 5.1.1 builds. Initial public rollout of 5.0 occurred in November 2014 (major devices and Nexus images), with the 5.1 family becoming broadly available in March–April 2015. If you need a single target for upgrades or troubleshooting, prioritize 5.1.1 as it contains the most driver fixes, memory-leak corrections and OTA fixes for that branch.
Concrete platform changes to expect: material-design visual overhaul across system and supported apps; ART as the default runtime (with 64-bit support added for ARM64/x86_64); heads-up and lock-screen notifications; redesigned recent-apps carousel; Battery Saver mode and Project Volta optimizations targeted at improving standby time; Smart Lock (trusted devices/places) and improved SELinux enforcement for tighter sandboxing. Early 5.0 builds showed regressions in memory management and occasional battery anomalies; the 5.1.x updates focused on stability and network/telephony fixes.
Practical recommendations for device owners and admins: (1) Install 5.1. If you are you looking for more on 1xbet download visit the web page. 1 where official OEM builds exist; that minimizes post-upgrade faults. (2) If the vendor no longer supplies updates, switch to a maintained custom distribution with back-ported security patches rather than staying on stock 5.0. (3) Back up full system and data before applying any 5.x upgrade; keep a recovery image or factory image available. (4) After upgrading, verify SELinux mode, encryption state and SIM/network connectivity; test commonly used apps for background memory behavior. (5) Continue installing monthly security fixes from your vendor or trusted community builds to mitigate known CVEs affecting the 5.x codebase.
Lollipop Version Numbers
Target the 5.0–5.1 family by supporting API 21 and API 22: compile against API 22, set minSdk=21 only if you intend to limit support to the 5.x line, otherwise keep minSdk lower and gate 5.x-specific code paths at runtime. Favor builds and device testing on API 22 for the latest fixes in that branch.
Numeric mapping: 5.0 = API 21 (includes 5.0.1 and 5.0.2 sub-releases that remain API 21); 5.1 = API 22 (includes 5.1.1 and other 5.1.x updates under API 22). API 21 introduced the ART runtime as default and added native 64-bit support plus the Material UI framework and changed notification behaviour (lock-screen visibility and heads-up delivery). API 22 focuses on stability, bug corrections and telephony enhancements such as better multi-SIM handling.
Developer checklist: compileSdk >= 22; keep minSdk set to the lowest audience you must support and use runtime checks for API 21 vs 22 differences; build 64-bit native binaries if your app has NDK code; test on emulators and at least one physical device for each API level; use Jetpack libraries to backport modern widgets and to reduce conditional code. Monitor security patches and prioritize updates for devices still running the 5.x branch.
Android 5.0 (Lollipop) – API level 21
Recommendation: Compile against API 21 (compileSdkVersion >= 21) and test with targetSdkVersion set to 21 when you add platform-specific capabilities such as camera2, JobScheduler, material elevation and new notification behaviors; continue to ship AppCompat (or AndroidX) for backward compatibility.
UI and material paradigms: API 21 introduced elevation, real-time shadows and the transitions framework. Use android:transitionName and ActivityOptions.makeSceneTransitionAnimation for shared-element animations. Keep AppCompat Toolbar and material widgets for pre-21 devices, and use view.setElevation() or android:elevation only when running on API 21+ (check Build.VERSION.SDK_INT) or via compat libraries that emulate shadows.
Notifications and lockscreen control: Implement Notification.Builder additions available in API 21: setVisibility(Visibility.PUBLIC/PRIVATE/SECRET), setCategory, setPriority(Notification.PRIORITY_HIGH) for heads-up behavior, and setFullScreenIntent where appropriate. For compatibility use NotificationCompat and guard API-21-only calls with runtime checks.
Camera and media: Adopt camera2 API (android.hardware.camera2) for finer control over capture, formats and post-processing; retain legacy Camera API fallback for devices that lack full camera2 support. Profile camera pipelines with CameraCharacteristics.isHardwareLevelLegacy to decide strategy.
Background work and scheduling: Prefer JobScheduler (android.app.job.JobScheduler) for deferred, constraint-based background tasks on API 21+. For apps that must support older releases, introduce a compatibility layer (e.g., JobIntentService, WorkManager or platform-specific shims) so scheduling behavior remains consistent across API levels.
Runtime and performance: ART became the default runtime, changing JIT/AOT characteristics and memory behavior. Re-run profiling (heap, CPU, systrace) after switching targets; verify startup, dex2oat impacts and native library 64-bit behavior if you enable 64-bit ABIs (arm64-v8a, x86_64) introduced at this platform level.
Security and SELinux: SELinux moved to enforcing mode and stricter process separation affects native helper tools and file access. Audit file permissions, SELinux contexts, and use FileProvider for sharing files instead of world-readable file paths.
Migration checklist (practical steps): 1) set compileSdkVersion >= 21 and temporarily targetSdkVersion = 21 for testing; 2) run strict mode and functional tests to catch behavior changes; 3) replace deprecated APIs with camera2, JobScheduler, transition APIs where beneficial; 4) keep AppCompat/AndroidX and NotificationCompat to preserve UX on older platforms; 5) test on physical devices and emulators with 32- and 64-bit ABIs; 6) profile memory and startup with ART.