2017-03-18 107 views
0

首先,给大家好日子!根据版本号选择android操作系统名称

我的代码需要通过getprop ro.build.version.release来检测正在使用哪个Android版本。我这样做使用Android系统的root和python。

目前我测试的设备的代码事情工作很好,但部分当然,因为我没有考虑到新的操作系统版本之间的更新。我刚刚将我测试的新版本添加到字典中。

所以我们可以说我有这个词典:

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'

要保存和检测新版本,我工作,但是这不会对工作。为了克服这一点,我只是简单地进行搜索以选择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如何检测,如果它的部分奇巧

+0

现在可以使用python做android吗?这是官方的事情吗? –

+0

确定它是@ChrisHarris!事实上它已经存在了一段时间了。一个项目开始于googlecode,现在正在github上维护。如果我在概念中没有错误,你会得到一个将python调用转换为android原生java指令的RPC服务器。 – DarkXDroid

回答

1

也许存储的最小和最大的两个变量,那么做,如果操作系统(版本)>(最小值): 然后检查是否操作系统(版本)<(最大值)

+0

然后我会试一试。我尝试了类似的东西,但是我对价值评估很差。谢谢 – DarkXDroid

+0

它使用了一个小模块。我很感激你 – DarkXDroid

0

这是我将如何处理与提供的帮助问题!有更好的方法我知道,所以如果任何人有另一种方法,请分享。

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