diff -r fb70ea8b7b2d Lib/platform.py
--- a/Lib/platform.py Tue Apr 26 09:31:11 2016 +0300
+++ b/Lib/platform.py Tue Apr 26 09:30:40 2016 +0200
@@ -646,6 +646,36 @@
# If that also doesn't work return the default values
return release, versioninfo, machine
+_android_ver = None
+
+def android_ver(release='', sdk=''):
+ """ Get android version information and return it as a tuple.
+
+ Entries which cannot be determined are set to the parameter values
+ which default to ''. All tuple entries are strings.
+ """
+
+ global _android_ver
+ if _android_ver is None:
+ properties = '/system/build.prop'
+ if os.path.isfile(properties):
+ import configparser
+ from itertools import chain
+ try:
+ with open(properties) as f:
+ cfg = configparser.ConfigParser(strict=False,
+ allow_no_value=True)
+ cfg.read_file(chain(['[prop]'], f), f.name)
+ if cfg.has_section('prop'):
+ release = \
+ cfg['prop'].get('ro.build.version.release', '')
+ sdk = cfg['prop'].get('ro.build.version.sdk', '')
+ except (OSError, configparser.Error):
+ pass
+ _android_ver = (release, sdk)
+
+ return _android_ver
+
def _java_getprop(name, default):
from java.lang import System