Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建CyanogenMod 13:通过makefile自定义build.prop_Makefile_Build_Cyanogenmod - Fatal编程技术网

构建CyanogenMod 13:通过makefile自定义build.prop

构建CyanogenMod 13:通过makefile自定义build.prop,makefile,build,cyanogenmod,Makefile,Build,Cyanogenmod,按照CMWiki上的指南,我已经为自己的设备编译了一年多的CM,但这只不过是重新创建夜间构建。我一直想冒险超越基础,今天我着手迈出了一些第一步 我现在计划做的是在构建之前定制/system/build.prop,而不是在闪烁之后修改它。我做了一些研究,确定了一些脚本和makefile负责生成它,其中一个makefile是vendor/cm/config/common.mk。我想修改的部分改变了设置中显示的“CyanogenMod version”字段,如下图所示: common.mk具有与之对

按照CMWiki上的指南,我已经为自己的设备编译了一年多的CM,但这只不过是重新创建夜间构建。我一直想冒险超越基础,今天我着手迈出了一些第一步

我现在计划做的是在构建之前定制
/system/build.prop
,而不是在闪烁之后修改它。我做了一些研究,确定了一些脚本和makefile负责生成它,其中一个makefile是
vendor/cm/config/common.mk
。我想修改的部分改变了设置中显示的“CyanogenMod version”字段,如下图所示:

common.mk
具有与之对应的以下行(稍微修改以缩短):

现在,我想定义另一个带有空格的变量,该变量存储我要在该字段中显示的自定义字符串,例如“CM13 FOO BAR”,因此我要写以下内容:

ifndef CM_VERSION_CUSTOM
    CM_VERSION_CUSTOM := CM13 FOO BAR
endif
…并将CM_版本自定义指定给CM_版本适用的位置

实际上,这根本不起作用-字符串被错误地输出到
/build.prop
,有时好像每个空格都是换行符,有时好像第一个空格后的内容不存在,如下所示:

ro.cm.version=CM13
FOO
BAR
ro.modversion=CM13
ro.cm.display.version=CM13
#!/sbin/sh

CM_VER="CyanogenMod 12.1 Nightly CGMod"
sed -i "s/ro.cm.version=.*/ro.cm.version=$CM_VER/g" /system/build.prop

我尝试将引号('和“tested”)添加到字符串定义或引用CM_VERSION CUSTOM的位置(如“$(CM_VERSION_CUSTOM)”),但没有任何帮助。我对makefile一点也不熟悉,所以我现在不知所措。有人能给我指出正确的方法吗?

我最终只是为此编写了一个shell脚本。我将脚本打包在一个可闪存的zip中,让更新程序脚本调用该脚本。脚本本身是这样的:

ro.cm.version=CM13
FOO
BAR
ro.modversion=CM13
ro.cm.display.version=CM13
#!/sbin/sh

CM_VER="CyanogenMod 12.1 Nightly CGMod"
sed -i "s/ro.cm.version=.*/ro.cm.version=$CM_VER/g" /system/build.prop
这不仅允许我修改此属性,还允许修改其他属性,如构建类型、日期和其他(借助于
grep
)在构建之前难以触及的属性