在手机的设置—关于手机中,有一个开发版本(build version)信息。此信息我们经常要修改.
为了更好的对软件版本信息管理和修改,我们一般是在mk文件中,对其配置。
那么,为什么我们在mk文件中配置,就可以应用java中显示了,事实的真相到底是什么了?
好吧,那就在codebase中走一遭吧。
在mk文件中定义软件变量
在文件./device/qcom/l9010_cla/l9010_cla.mk中:
定义变量:CUSTOM_BUILD_VERNO
CUSTOM_BUILD_VERNO := Ilium L950_CLARO_SW_01
在sh文件中给属性变量赋值
在文件中./device/qcom/l9010_cla/custom_files/buildinfo.sh,对ro.custom.build.version实现赋值:
echo "ro.custom.build.version=$CUSTOM_BUILD_VERNO"
其实,现在我们就应该是知道了为什么在java文件中可以实现软件版本的配置了。关键是属性变量的应用。而事实也是如此。
在java文件的读取此变量
import android.os.SystemProperties;
String customVersion = SystemProperties.get("ro.custom.build.version");
到此,我们明白了为什么可以在mk文件中配置一个软件版本信息,就可以在设置应用java的文件中读取此值了。
事实的真相往往就是这么的简单明了,只是从外面看觉得不可思议,非常神奇的样子。