En primer lugar, buen día para todas!

Mi código necesita detectar en qué versión de Android se está utilizando mediante getprop ro.build.version.release. Lo hago usando sistemas con root y python para Android.

Por el momento, los dispositivos que probé el código funcionaban bien, pero en parte, por supuesto, porque no he tenido en cuenta las actualizaciones entre las nuevas versiones del sistema operativo. Acabo de agregar la nueva versión que estaba probando en un diccionario.

Entonces digamos que tengo este diccionario:

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"}

Yo podria agregar:

'4.4.2':'KitKat'

Para guardar y detectar la nueva versión en la que estaba trabajando, pero eso no va a funcionar. Para superar esto, simplemente hice una búsqueda para seleccionar la primera y la última versión de una versión de 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']}

El problema surge si la versión de actualización se encuentra entre los dos valores.

Dada la {'KitKat':['4.4', '4.4.4']} y la versión del dispositivo 4.4.2, ¿cómo puedo detectar si es parte de KitKat

0
DarkXDroid 18 mar. 2017 a las 14:32

2 respuestas

La mejor respuesta

Tal vez almacene el mínimo y el máximo como dos variables, luego haga si os (versión)> (valor mínimo): luego verifique si os (versión) <(valor máximo)

1
juxt4posed 18 mar. 2017 a las 11:43

¡Así es como abordaría el problema con la ayuda brindada! Hay mejores maneras de saberlo, así que si alguien tiene otro método, por favor comparta.

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
0
DarkXDroid 18 mar. 2017 a las 15:13