Code Monkey home page Code Monkey logo

why_bump_android_minsdk's Introduction

You should always keep bumping your minSdk version for the Android app. Newer API levels (OS versions in Android) come with more fixes and features that you can start using. But if you're required to make that case, this document should help.

What you get:

Features:

Android Studio currently already provides a neat listing (with a picker and all) everytime you create an Android Studio project. For the lazy, i'll include a screenshot from each of those APIs.

If there's a feature not on that list, that you think is worth calling out, send a PR and we'll add it here!

Bugs:

Sometimes there are terrible bugs/limitations with OS versions (or the phone manufacturer variant of that OS). If you notice these and want to make the world for AndroidDev better, send a PR and we'll add it here!

Features that are not user facing:

There are programmer facing features like language features (Lambdas, method references, try with resources) that are hugely critical for developers. These are usually not called out in that new Android Studio project creator listing. If you know of these and want to make the lives of other AndroidDev better, send a PR!

minSdkVersion 25 (7.1) Nougat

minSdkVersion 24 (7.0) Nougat

  • Multi-Window Support
  • Java 8 language features and API (Note: some of the known and loved features like Lambdas and Method references are already available via Android Studio. However certain other features like Streams, functions, FunctionalInterface etc. are only available from 24. See linked doc for details).

minSdkVersion 23 (6.0) Marshmallow

api 23 features

minSdkVersion 22 (5.1) Lollipop

api 22 features

minSdkVersion 21 (5.0) Lollipop

api 21 features

minSdkVersion 19 (4.4 - 4.4.4) KitKat

api 19 features

minSdkVersion 18 (4.3.x) Jelly Bean

api 18 features

minSdkVersion 17 (4.2.x) Jelly Bean MR1

api 17 features

  • Samsung bug with RTL (you need to have some padding on everything, otherwise Samsung will blow up cause they overrode or had their own version of rtl before Android had it built in?). Listen to this Fragmented episode with Dan Lew where he talks about it.
  • WebP support (but not lossless, see note in API 19)
  • Location objects send back elapsed realtime nanoseconds (this is important for getting the "age" of the location fix)

minSdkVersion 16 (4.1.x) Jelly Bean

api 16 features

minSdkVersion 14 (4.0.1 - 4.0.2) Ice Cream Sandwich

  • Holo theme introduced
  • USB On-The-Go support.

minSdkVersion < 14

No, don't use anything below 14 please.

Resources

why_bump_android_minsdk's People

Contributors

bachhuberdesign avatar erluxman avatar kaushikgopal avatar kevalpatel2106 avatar remcomokveld avatar subinkrishna avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

why_bump_android_minsdk's Issues

Broken link to Fragement Podcast

There's a malformed link under the min sdk 17 section.

9845f9b

Current link is [this Fragmented episode with Dan Lew](fragmentedpodcast.com/episodes/049) . I think just add https:// to the front of that and it will work.

Question: did you mix up the sdks?

I don't think you should always bump the minSdkVersion to the newest version, because then your app can only be installed on this version and all users with older Android versions cannot use your app, right?

So what you should do is to always bump the compileSdkVersion and probably also the targetSdkVersion.

And when your minSdkVersion is lower than your targetSdkVersion, then you need to carefully handle backward compatibility in your code.

related links:

Wow! This is just plain misleading :/

I'm giving you the benefit of doubt if this was a typo but

minSdkVersion 25 (7.1) Nougat

Wow! That needs to be targetSdk not minSdk. If it had to be minSdk, we would basically never have new features because who is going to abandon >99% of their user base just so they could have the sweet new app shortcuts?!

..!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.