- List of Android version names
- Содержание
- Cupcake
- Donut
- Eclair
- Froyo
- Gingerbread
- Honeycomb
- Ice Cream Sandwich
- Jelly Bean
- KitKat
- Lollipop
- Marshmallow
- Nougat
- Android 10
- Tek Eye
- Android Versions by Name, Number, Availability and API Level
- List of Android Versions and Their Names, API Level and Dates
- Do you have a question or comment about this article?
- Versioning with Flutter
- The Format
- How to modify them?
- How to update an old Flutter project?
- Flutter Part
- Android Part
- iOS Part
- Bonus
List of Android version names
Android versions up to Android 10! 10 got, additionally to their nummeric version number, a code-name, which was assigned by Google. Like the naming of Ubuntu versions (names of animals with an adjective [1] ), Android version names were names of, mostly american, sweets, where the first letter was in alphabetical order.
The assignment of numeric and textual version names are not always consistent. Android 4.0 and Android 4.1, for example, have different version names, but Android 5.0, 5.1 and 5.1.1 share the same version name.
Starting with Android 10! 10, Android versions do not get a codename anymore. Since then, the Android versions will be released with their version number only. [2] [3] [4] [5]
Содержание
Cupcake
The Android version 1500! 1.5 Cupcake is the first version, which got a name assigned, which is Cupcake. Cupcakes are muffin-like cakes, which mostly has a creamy hood.
Donut
Version 1600! 1.6 Donut was given the name Donut.
Eclair
Android-Version 2000! 2 Eclair and 2100! 2.1 Eclair share the same name, Eclair. Eclairs are longly biscuits overdrawn with chocolate.
Froyo
Frozen Yogurt is a ice-like dessert made with milk and yogurt and is also the name of the Android version 2200! 2.2 Froyo.
Gingerbread
The name of Android version 2300! 2.3 «Gingerbread» is Gingerbread, which are cake-like biscuits mostly eaten around christmas time.
Honeycomb
The android version mostly made for tablets, Android 3000! 3.0 Honeycomb, is called Honeycomb. The bootanimation of this android version is also made like a honeycomb.
Ice Cream Sandwich
Android 4.0 is called after a sweet, which is made of delicious ice cream bewtween two biscuits: an Ice Cream Sandwhich.
Jelly Bean
Jelly beans are colorful, mostly made out of sugar, sweets, which have a hard shell and are filled with jelly. The following android versions share this name:
KitKat
KitKat is a brand from Nestle, and is a chocolate bar filled with waffles. Android 4.4 is named after this sweet: 4.4! 4.4 «KitKat».
Lollipop
Lollipops are sweets in different flavors on a stalk and is also the name of the following android versions:
Marshmallow
The android version 6.0, announced at 17th of august in 2015 is called after the sweet Marshmallow.
Nougat
Android 7, also called Android N, officialy got the name Nougat.
Android 8, also called Android O, carries the name Oreo, which are two crispy chocolate cookies with a vanilla cream center.
Android 9, also called Android Pie, carries the name Pie, which is the name of different sweet dishes.
The version 9! 9 was the last Android version which got a codename assigned.
Android 10
Google announced that a new Android Version will be officially known as Android 10.
Источник
Tek Eye
The table in this article lists all the different versions of Android, starting with the earliest Application Programming Interface (API) level to the latest API level. Thus the list is from the oldest Android versions to the latest.
Android Versions by Name, Number, Availability and API Level
Each version of Android is given a code name. The code name is traditionally the name of a dessert, cake or sweet, e.g, Gingerbread, Froyo, Jelly Bean, etc. — as the sugar laden picture below shows. The table that follows lists the code names, version numbers, first release date and Application Programming Interface (API) versions, along with the equivalent Software Development Kit (SDK) constants (Build.VERSION_CODES). The Android version number on a device is normally found in the settings. Select Settings, then About Phone or About Device and look at the Firmware Version or Android Version entry.
List of Android Versions and Their Names, API Level and Dates
Name | Version | Available | API | VERSION_CODES |
---|---|---|---|---|
N/A | 1.0 | October 2008 | 1 | BASE |
N/A | 1.1 | February 2009 | 2 | BASE_1_1 |
Cupcake | 1.5 | May 2009 | 3 | CUPCAKE |
Donut | 1.6 | September 2009 | 4 | DONUT |
Eclair | 2.0 | November 2009 | 5 | ECLAIR |
Eclair | 2.0.1 | December 2009 | 6 | ECLAIR_0_1 |
Eclair | 2.1 | January 2010 | 7 | ECLAIR_MR1 |
Froyo | 2.2 to 2.2.3 | June 2010 | 8 | FROYO |
Gingerbread | 2.3 to 2.3.2 | November 2010 | 9 | GINGERBREAD |
Gingerbread | 2.3.3 to 2.3.7 | February 2011 | 10 | GINGERBREAD_MR1 |
Honeycomb | 3.0 | February 2011 | 11 | HONEYCOMB |
Honeycomb | 3.1 | May 2011 | 12 | HONEYCOMB_MR1 |
Honeycomb | 3.2 to 3.2.6 | June 2011 | 13 | HONEYCOMB_MR2 |
Ice Cream Sandwich | 4.0.1 to 4.0.2 | October 2011 | 14 | ICE_CREAM_SANDWICH |
Ice Cream Sandwich | 4.0.3 to 4.0.4 | December 2011 | 15 | ICE_CREAM_SANDWICH_MR1 |
Jelly Bean | 4.1 to 4.1.1 | July 2012 | 16 | JELLY_BEAN |
Jelly Bean | 4.2 to 4.2.2 | November 2012 | 17 | JELLY_BEAN_MR1 |
Jelly Bean | 4.3 | July 2013 | 18 | JELLY_BEAN_MR2 |
Kit Kat | 4.4 to 4.4.4 | October 2013 | 19 | KITKAT |
Kit Kat | 4.4W to 4.4W.2 | June 2014 | 20 | KITKAT_WATCH |
Lollipop | 5.0 to 5.0.2 | November 2014 | 21 | LOLLIPOP |
Lollipop | 5.1 to 5.1.1 | March 2015 | 22 | LOLLIPOP_MR1 |
Marshmallow | 6.0 to 6.0.1 | October 2015 | 23 | M |
Nougat | 7.0 | August 2016 | 24 | N |
Nougat | 7.1 to 7.1.2 | October 2016 | 25 | N_MR1 |
Oreo | 8.0.0 | August 2017 | 26 | O |
Oreo | 8.1.0 | December 2017 | 27 | O_MR1 |
The above table was derived from the following sources (note that some release dates are derived from the Android developers documentation, the actual SDK availability may have been a little earlier, see the Wikipedia article):
When programming an App the API level is used to determine whether specific Android features are present or not. The API level can be read in versions prior to Donut (Cupcake, 1.1 and 1.0) using:
int APILevel = Integer.parseInt(Build.VERSION.SDK);
And from Donut onwards using:
int APILevel = Build.VERSION.SDK_INT;
(Build.VERSION.SDK is deprecated, i.e. it will be removed from the API at some future release).
When using functionality from a later API, but the App needs to support earlier Android versions, wrap the newer functionality in a separate class. Then check the API level before instantiating the class to prevent a VerifyError exception from occurring. See the article Support Multiple API Versions in Android.
Author: Daniel S. Fowler Published: 2012-05-25 Updated: 2017-01-08
Do you have a question or comment about this article?
(Alternatively, use the email address at the bottom of the web page.)
↓markdown↓ CMS is fast and simple. Build websites quickly and publish easily. For beginner to expert.
Free Android Projects and Samples:
Источник
Versioning with Flutter
Please note: This is my first article since I left university. So please be patient.
2nd note: My Java/Kotlin/Swift/Dart is much better than my English 😉
Does it bother you to increase the version in the Android as well as in the iOS part again and again? You can be helped.
Every time you want to create a new version you have to increase the build number in Android as well as in iOS: You have to modify the app/build.gradle file and the Info.plist file.
Would it be nice to have just one place to do that?
T̶h̶e̶ ̶f̶o̶l̶l̶o̶w̶i̶n̶g̶ ̶d̶e̶p̶e̶n̶d̶s̶ ̶o̶n̶ ̶#̶1̶6̶8̶5̶7̶.̶ ̶C̶u̶r̶r̶e̶n̶t̶l̶y̶,̶ ̶i̶t̶ ̶i̶s̶n̶’̶t̶ ̶m̶e̶r̶g̶e̶d̶,̶ ̶s̶o̶ ̶y̶o̶u̶ ̶h̶a̶v̶e̶ ̶t̶o̶ ̶w̶a̶i̶t̶ ̶a̶ ̶l̶i̶t̶t̶l̶e̶ ̶b̶i̶t̶.̶ ̶B̶u̶t̶ ̶a̶s̶ ̶w̶e̶ ̶s̶a̶y̶ ̶i̶n̶ ̶G̶e̶r̶m̶a̶n̶y̶:̶ ̶V̶o̶r̶f̶r̶e̶u̶d̶e̶ ̶i̶s̶t̶ ̶d̶i̶e̶ ̶s̶c̶h̶ö̶n̶s̶t̶e̶ ̶F̶r̶e̶u̶d̶e̶ ̶(̶I̶ ̶h̶a̶t̶ ̶t̶h̶i̶s̶ ̶s̶e̶n̶t̶e̶n̶c̶e̶.̶ ̶P̶a̶r̶e̶n̶t̶s̶ ̶t̶e̶l̶l̶ ̶t̶h̶i̶s̶ ̶t̶o̶ ̶t̶h̶e̶i̶r̶ ̶c̶h̶i̶l̶d̶’̶s̶ ̶b̶e̶f̶o̶r̶e̶ ̶C̶h̶r̶i̶s̶t̶m̶a̶s̶ ̶w̶h̶e̶n̶ ̶t̶h̶e̶ ̶c̶h̶i̶l̶d̶r̶e̶n̶ ̶c̶a̶n̶’̶t̶ ̶w̶a̶i̶t̶ ̶t̶o̶ ̶g̶e̶t̶ ̶t̶h̶e̶ ̶p̶r̶e̶s̶e̶n̶t̶s̶)̶.̶
O̶k̶a̶y̶,̶ ̶w̶e̶ ̶a̶s̶s̶u̶m̶e̶ ̶i̶t̶ ̶i̶s̶ ̶m̶e̶r̶g̶e̶d̶.̶
If you create a new Flutter project the pubspec.yaml file has a version property like this:
Flutter uses this value to set the version in both Android and iOS for you. You only need to call flutter run or flutter build or press the play button in IntelliJ / Android Studio / the IDE of your choice.
The Format
Flutter expects an exact format of the version property.
It has two parts separated by a + . The first part is the build name ( versionName Android / CFBundleShortVersionString iOS) and the second part is the build number ( versionCode Android / CFBundleVersion iOS).
The build name can have up to 3 integers separated by dots. The build number is just one integer.
How to modify them?
You can still edit the pubspec.yaml file by hand but sometimes you need a way to modify them automatically for example when your CI builds a new version.
To change the version automatically, you have two options —-build-name and —build-number . These two options are options of the flutter build command:
I use Fastlane to do my CI builds. My fastfile looks like this:
How to update an old Flutter project?
You can also do the above with an old flutter project, but you need to make some changes.
Flutter Part
All you have to do is to add the version property to your pubspec.yaml file. It should look like this:
Android Part
Every time you call flutter run or flutter build Flutter updates the local.properties file. You only need to use the values in your app/build.gradle file.
To do that modify you app/build.gradle file that it looks like this:
Read the values from the local.properties file (lines 14 till 22) and use them (line 39 and 40).
iOS Part
flutter run and flutter build updates the Generated.xcconfig file too, just use its values.
Change the CFBundleShortVersionString value to $(FLUTTER_BUILD_NAME) (line 18) and the CFBundleVersion value to $(FLUTTER_BUILD_NUMBER) (line 21).
Open the project in Xcode, select the Build Settings tab of the Runner target and search for versioning . Change the value of Current Project Version to $(FLUTTER_BUILD_NUMBER) .
Bonus
T̶h̶e̶ ̶f̶o̶l̶l̶o̶w̶i̶n̶g̶ ̶d̶e̶p̶e̶n̶d̶s̶ ̶o̶n̶ ̶#̶1̶6̶9̶3̶4̶.̶ ̶C̶u̶r̶r̶e̶n̶t̶l̶y̶,̶ ̶i̶t̶ ̶i̶s̶n̶’̶t̶ ̶m̶e̶r̶g̶e̶d̶,̶ ̶s̶o̶ ̶y̶o̶u̶ ̶h̶a̶v̶e̶ ̶t̶o̶ ̶w̶a̶i̶t̶ ̶a̶ ̶l̶i̶t̶t̶l̶e̶ ̶b̶i̶t̶.̶ ̶B̶u̶t̶ ̶a̶s̶ ̶w̶e̶ ̶s̶a̶y̶ ̶i̶n̶ ̶G̶e̶r̶m̶a̶n̶y̶̶…
It was never merged, but you can use the package_info plugin instead.
Now that our Flutter project knows the version it would be nice to access it to show it somewhere, in an about dialog for example.
With #16934 Flutter generates a lib/build_config.g.dart file which looks like this:
You can now easily use it to show the version or to do other fancy things depending on the build, for example, if it is a debug build or which flavor was build.
Источник