我想用Linux工具解析一个Android build.prop,但我不知道该用哪个。我想解析的行如下:
ro.build.version.incremental=eng.yannik.20130823.034129
ro.product.name=occam
现在,输出应该是eng.yannik.2013823.034129,并且应该写入一个名为version occam的文件(从ro.product.name解析).txt
我该怎么做,或者哪个程序适合?
没有必要解析此文件,因为在Java中可以使用SDK常量值访问这些值:
Build.VERSION.INCREMENTAL
Build.PRODUCT
有关这些值的更多信息,请访问此处:http://developer.android.com/reference/android/os/Build.VERSION.html
如果位于build.prop
中的一些值没有被SDK公开,您可以使用安卓shell中的getprop
命令行实用程序检索它们:
getprop # retrieves all the existing key/value pairs
getprop ro.product.name
为完整起见,请注意getprop
在内部使用property_get
C API,该API在Android NDK中可用。
关于这一点的更多信息,请点击此处:https://github.com/android/platform_system_core/blob/master/toolbox/getprop.c.
编辑:
如果你希望在Android环境(即SDK和NDK)之外自己解析这个文件,你可以
- 用标记器为它编写一个简单的解析器
- 编写一个执行此操作的脚本shell(例如:
grep ro.build.version.incremental | cut -d '=' -f 2
) - 尝试使用Android内部使用的内容来解析此文件(https://android.googlesource.com/platform/bionic/+/5e9a086145764d64c0f7fbce5489d820aa7fdcd4/libc/bionic/system_properties_compat.c)