Select android os 基于版本号的名称

Select android os name based on version number

首先,祝大家今天愉快!

我的代码需要通过 getprop ro.build.version.release 检测正在使用哪个 android 版本。我使用具有 root 和 python 的系统来实现 android。

目前我测试代码的设备运行良好,但部分原因当然是因为我没有考虑新 os 版本之间的更新。我刚刚将正在测试的新版本添加到字典中。

假设我有这本字典:

VersionName = {'4.0':"Ice Cream Sandwich", '4.0.4':"Ice Cream Sandwich", '4.1':"Jelly Bean", '4.2':"Jelly Bean", '4.3':"Jelly Bean", '4.4':"KitKat", '5.0':"Lollipop", '5.1':'Lollipop', '6.0':"Marshmallow", '7.1.1':"Nougat"}

我要补充:

'4.4.2':'KitKat'

要保存和检测我正在处理的新版本,但这行不通。为了克服这个问题,我只是简单地搜索了 select android 版本的第一个和最后一个版本。

VersionName = {'Ice Cream Sandwich':['4.0', '4.0.4'], 'Jelly Bean':['4.1', '4.3.1'], 'KitKat':['4.4', '4.4.4'], 'Lollipop':['5.0', '5.1.1'], 'Marshmallow':['6.0', '6.0.1'], 'Nougat':['7.0', '7.1.1']}

如果更新版本介于这两个值之间,就会出现问题。

给定 {'KitKat':['4.4', '4.4.4']} 和设备版本 4.4.2 我如何检测它是否是 KitKat

的一部分

也许将最小值和最大值存储为两个变量,然后如果 os(version)> (min value): 然后检查 os(version) < (max value)

这就是我在提供的帮助下解决问题的方式!我知道有更好的方法所以如果有人有其他方法请分享。

def DroidName(ReleaseVersion):

   # ReleaseVersion = '4.4.2'
   VersionValue = {'Ice Cream Sandwich':['4.0', '4.0.4'], 'Jelly Bean':['4.1', '4.3.1'], 'KitKat':['4.4', '4.4.4'], 'Lollipop':['5.0', '5.1.1'], 'Marshmallow':['6.0', '6.0.1'], 'Nougat':['7.0', '7.1.1']}

   for i in VersionValue.items():
      AndroidName = i[0]
      MinimalValue = i[1][0]
      MaximunValue = i[1][1]
      if ReleaseVersion >= MinimalValue and ReleaseVersion <= MaximunValue:
         print AndroidName, ReleaseVersion
         break