天天看點

Android 擷取ROM版本号

今天産品提到了這個問題,有了一個想法,隻是實際實作可能成本太高。

首先,通過

adb shell getprop

指令,可以擷取目前手機的所有屬性,由于ROM由不同的廠商自己定制的,所有不同廠商對ROM版本号的字段定義也不同,比如錘子手機的ROM版本号放在

ro.smartisan.version

裡,而小米的則放在

ro.miui.ui.version.name

裡,是以我們需要的是不同品牌手機的ROM版本号所對應的字段。

然後通過

android.os.Build.BRAND

可以擷取手機的品牌,我們可以建立一個枚舉類,然後對不同的手機,取到品牌之後,進行判斷,根據不同的品牌,選擇對應的版本号字段propName,然後執行:

Runtime.getRuntime().exec("getprop " + propName);

就可以活得對應的ROM版本号。

這隻是一個初步的想法,沒有去實作,如果有更好的辦法的,忘告知,如果有人去實作了,麻煩把代碼做成一個包!