Версия системы Android

На моем Moto Maxx и Moto Razr HD (вероятно, на всех устройствах Moto) в настройках About Phone есть запись, в которой указана версия системы. Я пишу приложение, которое получает эту информацию с телефона, но не могу найти, откуда Motorola получает эту информацию. Все Build.VERSION, Build.DISPLAY и т. Д. Не содержат его. Я даже прочитал "/proc/version" из системы Linux, которая также не содержит его. Мысли?Мото О телефоне

ОБНОВЛЕНИЕ: С каждой помощью это подтолкнуло меня в правильном направлении. Мое решение было:

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

2 ответа

Решение

Скорее всего, он хранится как системное свойство Android.

Предполагая, что вы подключены к телефону через ADB, выполните эту команду:

adb shell getprop

Это перечислит все системные свойства, установленные в системе. Ищите эту строку системной версии, и вы увидите, какое свойство хранится как. Затем, когда вы знаете имя свойства, в котором оно хранится, вы можете использовать System.getProperty(), чтобы получить его программным способом.

Если это не так, Motorola, вероятно, скрывает строку где-то в их модифицированном источнике, и, к сожалению, вы не сможете добраться до нее.

Посмотри на android.os.Build.VERSION,

CODENAME: Текущее кодовое имя разработки или строка "REL", если это сборка выпуска.
INCREMENTAL: Внутреннее значение, используемое базовым источником контроля для представления этой сборки.
RELEASE: Видимая пользователем строка версии.

Другие вопросы по тегам