Android系统版本
Android System Version
在我的 Moto Maxx 和 Moto Razr HD(可能是所有 Moto 设备)上,关于 Phone 设置中有一个条目说明系统版本。我正在编写一个从 phone 提取此信息的应用程序,但我找不到摩托罗拉从何处提取该信息。所有 Build.VERSION、Build.DISPLAY 等都不包含它。我什至读过 Linux 系统中的“/proc/version”,其中也不包含它。想法?
更新: 在大家的帮助下,它把我推向了正确的方向。我的解决方案是:
private String getDeviceBuildVersion() {
//Get Moto Info
String line = "Note sure...";
try {
Process ifc = Runtime.getRuntime().exec("getprop " + "ro.build.version.full");
BufferedReader bis = new BufferedReader(new InputStreamReader(ifc.getInputStream()));
line = bis.readLine();
ifc.destroy();
} catch (java.io.IOException e) {
e.printStackTrace();
}
return line;
}
它很可能存储为 Android 系统 属性。
假设您通过 adb 连接到 phone,运行 此命令:
adb shell getprop
这将列出系统中设置的所有系统属性。查找该系统版本字符串,您将看到它存储为哪个 属性。然后,当您知道 属性 的存储名称时,您可以使用 System.getProperty() 以编程方式获取它。
如果不在那里,摩托罗拉可能将字符串隐藏在他们修改后的源代码中的某个地方,不幸的是您将无法访问它。
CODENAME
:当前开发代号,如果是发布版本则为字符串 "REL"。
INCREMENTAL
: 底层源代码管理用来表示此构建的内部值。
RELEASE
: 用户可见的版本字符串。
在我的 Moto Maxx 和 Moto Razr HD(可能是所有 Moto 设备)上,关于 Phone 设置中有一个条目说明系统版本。我正在编写一个从 phone 提取此信息的应用程序,但我找不到摩托罗拉从何处提取该信息。所有 Build.VERSION、Build.DISPLAY 等都不包含它。我什至读过 Linux 系统中的“/proc/version”,其中也不包含它。想法?
更新: 在大家的帮助下,它把我推向了正确的方向。我的解决方案是:
private String getDeviceBuildVersion() {
//Get Moto Info
String line = "Note sure...";
try {
Process ifc = Runtime.getRuntime().exec("getprop " + "ro.build.version.full");
BufferedReader bis = new BufferedReader(new InputStreamReader(ifc.getInputStream()));
line = bis.readLine();
ifc.destroy();
} catch (java.io.IOException e) {
e.printStackTrace();
}
return line;
}
它很可能存储为 Android 系统 属性。
假设您通过 adb 连接到 phone,运行 此命令:
adb shell getprop
这将列出系统中设置的所有系统属性。查找该系统版本字符串,您将看到它存储为哪个 属性。然后,当您知道 属性 的存储名称时,您可以使用 System.getProperty() 以编程方式获取它。
如果不在那里,摩托罗拉可能将字符串隐藏在他们修改后的源代码中的某个地方,不幸的是您将无法访问它。
CODENAME
:当前开发代号,如果是发布版本则为字符串 "REL"。
INCREMENTAL
: 底层源代码管理用来表示此构建的内部值。
RELEASE
: 用户可见的版本字符串。