2017-03-18 92 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