我们几乎尝试了Android Build的所有内容,其中没有一个是固件版本。
答案 0 :(得分:1)
固件是Android设备上可用的操作软件,它有不同制造商设计的不同版本。基本上它是软件的设备特定部分。例如,您可能在手机上运行了Android 4.2.2,但其固件号看起来完全不同,因为它与操作系统相关的细节更多。固件号由几个元素组成,所有这些元素对于手机的运行至关重要:
PDA:Android操作系统和您的自定义。 电话:设备的实际标识符。 CSC(国家/地区退出代码):语言和国家/地区特定参数。 Bootloader:启动时运行到所有单元进程的引导加载程序。
软件构建版本基本上是固件版本。
请参阅android.os.Build.VERSION
。 SDK或SDK包含API版本。 android.os.Build.VERSION_CODES
包含相关常量。
String deviceSoftwareVersion=telephonyManager.getDeviceSoftwareVersion();
请参阅此Build.VERSION
在代码中使用它的过程。
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) {
// only for gingerbread and newer versions
}
这也可以通过代码
进行检查
System.out.println("button press on device name = "+android.os.Build.MODEL +" brand = "+android.os.Build.BRAND +" OS version = "+android.os.Build.VERSION.RELEASE + " SDK version = " +android.os.Build.VERSION.SDK_INT);
更新
试试这个 -
android.os.Build.FINGERPRINT
android.os.Build.BOARD
Build.HOST
Build.ID
- 醇>
Build.SERIAL
检查以下代码。
最终更新
String mString = "";
mString.concat("VERSION.RELEASE {" + Build.VERSION.RELEASE + "}");
mString.concat("\nVERSION.INCREMENTAL {" + Build.VERSION.INCREMENTAL + "}");
mString.concat("\nVERSION.SDK {" + Build.VERSION.SDK + "}");
mString.concat("\nBOARD {" + Build.BOARD + "}");
mString.concat("\nBRAND {" + Build.BRAND + "}");
mString.concat("\nDEVICE {" + Build.DEVICE + "}");
mString.concat("\nFINGERPRINT {" + Build.FINGERPRINT + "}");
mString.concat("\nHOST {" + Build.HOST + "}");
mString.concat("\nID {" + Build.ID + "}");
((TextView) findViewById(R.id.textView1)).setText(mString);
您也可以使用
Build.DISPLAY
用于向用户显示的构建ID字符串
答案 1 :(得分:0)
我使用以下代码获取设备的固件版本:
public String getFirmwareVersion() {
try {
Class cls = Class.forName("android.os.SystemProperties");
Method method = cls.getMethod("get", String.class);
method.setAccessible(true);
return (String) method.invoke(cls, FIRMWARE_VERSION_PROPERTY);
} catch (Exception e) {
return null;
}
}
作为 FIRMWARE_VERSION_PROPERTY
我使用了 "ro.product.version"
我从设备制造商那里得到了这个属性地址。
此地址可能因设备和制造商而异,因此建议联系制造商的技术支持以获得正确的地址。