thisガイドのCM Wikiに続いて、自分のデバイスのCMを1年以上編集していますが、夜間のビルドを再作成するだけです。私はいつも基礎を超えて冒険したいと思っていました。今日、私はいくつかの第一歩を踏み出しました。ビルドCyanogenMod 13:build.propでメイクファイルをカスタマイズ
今私が計画しているのは、点滅後に変更するのではなく、構築する前に/system/build.prop
をカスタマイズすることです。私はいくつかの研究を行い、いくつかのスクリプトとメイクファイルを生成する責任があることを確認しました。問題のmakefileはvendor/cm/config/common.mk
です。
common.mk
それ(少し短くするように変更)に対応するこれらの行がありますセクションでは、私は以下のPICのように、[設定] - 会社概要に表示された「CyanogenModバージョン」フィールドは変更を修正するために探しています:
ifeq ($(CM_BUILDTYPE), RELEASE)
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(CM_BUILD)
else
ifeq ($(TARGET_BUILD_VARIANT),user)
ifeq ($(CM_VERSION_MAINTENANCE),0)
CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(CM_BUILD)
else
CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(CM_VERSION_MAINTENANCE)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(CM_BUILD)
endif
else
CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(CM_BUILD)
endif
endif
else
ifeq ($(CM_VERSION_MAINTENANCE),0)
CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(shell date -u +%Y%m%d)-$(CM_BUILDTYPE)$(CM_EXTRAVERSION)-$(CM_BUILD)
else
CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(CM_VERSION_MAINTENANCE)-$(shell date -u +%Y%m%d)-$(CM_BUILDTYPE)$(CM_EXTRAVERSION)-$(CM_BUILD)
endif
endif
PRODUCT_PROPERTY_OVERRIDES += \
ro.cm.version=$(CM_VERSION) \
ro.cm.releasetype=$(CM_BUILDTYPE) \
ro.modversion=$(CM_VERSION) \
ro.cm.display.version=$(CM_VERSION)
は、今私は、たとえば、「CM13 FOO BARを」私はそのフィールドに表示したいカスタム文字列を格納スペースを持つ別の変数を定義したいので、私はこの記述します:
をifndef CM_VERSION_CUSTOM
CM_VERSION_CUSTOM := CM13 FOO BAR
endif
... CM_VERSION_CUSTOMにCM_VERSIONが適用される場所を割り当てます。実際に
これがすべてでは動作しません - 文字列は、第一のスペース後の内容は、次のように、存在しないかのように、時には、各スペースは改行であるかのように、時には、誤っ/build.prop
に出力されました:
ro.cm.version=CM13
FOO
BAR
ro.modversion=CM13
ro.cm.display.version=CM13
文字列定義またはCM_VERSION CUSTOMが参照された場所( "$(CM_VERSION_CUSTOM)"など)に引用符を追加しようとしましたが、何も助けてくれませんでした。誰も私を正しい方法で指し示すことができますか?