在Linux中解析build.prop



我想用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)

最新更新