Android13增加系统只读属性

定制系统多,又不想发出的固件被随意切换,想来想去,还是加个只读属性判断。

1、打开/build/tools/buildinfo.sh

增加一个ro.build.firmware.custom.version,只读属性,注意

"ro.build.firmware.custom.version=$FIRMWARE_CUSTOM_VERSION"不能有空格

if [ -n "$BOARD_BUILD_SYSTEM_ROOT_IMAGE" ] ; then
  echo "ro.build.system_root_image=$BOARD_BUILD_SYSTEM_ROOT_IMAGE"
fi

# add  here  增加ro属性
echo "ro.build.firmware.custom.version=$FIRMWARE_CUSTOM_VERSION"
#add end

# These values are deprecated, use "ro.product.cpu.abilist"
# instead (see below).
echo "# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,"
echo "# use ro.product.cpu.abilist instead."
echo "ro.product.cpu.abi=$TARGET_CPU_ABI"
if [ -n "$TARGET_CPU_ABI2" ] ; then
  echo "ro.product.cpu.abi2=$TARGET_CPU_ABI2"
fi

if [ -n "$PRODUCT_DEFAULT_LOCALE" ] ; then
  echo "ro.product.locale=$PRODUCT_DEFAULT_LOCALE"
fi

2、打开/build/make/core/sysprop.mk,在gen_from_buildinfo_sh增加FIRMWARE_CUSTOM_VERSION

gen_from_buildinfo_sh := $(call intermediates-dir-for,PACKAGING,system_build_prop)/buildinfo.prop
$(gen_from_buildinfo_sh): $(INTERNAL_BUILD_ID_MAKEFILE) $(API_FINGERPRINT) | $(BUILD_DATETIME_FILE) $(BUILD_NUMBER_FILE)
	$(hide) TARGET_BUILD_TYPE="$(TARGET_BUILD_VARIANT)" \
	        TARGET_BUILD_FLAVOR="$(TARGET_BUILD_FLAVOR)" \
	        TARGET_DEVICE="$(TARGET_DEVICE)" \
	        PRODUCT_DEFAULT_LOCALE="$(call get-default-product-locale,$(PRODUCT_LOCALES))" \
	        PRODUCT_DEFAULT_WIFI_CHANNELS="$(PRODUCT_DEFAULT_WIFI_CHANNELS)" \
	        PRIVATE_BUILD_DESC="$(BUILD_DESC)" \
					QUECTEL_VERSION="$(QUECTEL_VERSION)" \
                                       QUECTEL_BVERSION="$(QUECTEL_BVERSION)" \
                                       QUECTEL_SVERSION="$(QUECTEL_SVERSION)" \
	        BUILD_ID="$(BUILD_ID)" \
	        BUILD_DISPLAY_ID="$(BUILD_DISPLAY_ID)" \
		FIRMWARE_CUSTOM_VERSION="$(FIRMWARE_CUSTOM_VERSION)" \
		DATE="$(DATE_FROM_FILE)" \
	        BUILD_USERNAME="$(BUILD_USERNAME)" \

3、打开/build/core/version_defaults.mk ,在mk文件最后增加

............................................
#add
ifndef FIRMWARE_CUSTOM_VERSION
   FIRMWARE_CUSTOM_NAME := CUSTNAME
   FIRMWARE_CUSTOM_VERSION := $(FIRMWARE_CUSTOM_NAME)_$(shell date +%Y%m%d%H%M)
endif
# add end    

include $(BUILD_SYSTEM)/version_util.mk

重新编译系统,adb 模式下输入

adb shell getprop ro.build.firmware.custom.version,获取属性值。

4、如果需要显示,找到一个显示位置,比如“设置”---“关于”---“版本号”,加上一行。

打开

/packages/apps/Settings/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java

修改getSummary()的代码:

 @Override
    public CharSequence getSummary() {
        //return BidiFormatter.getInstance().unicodeWrap(Build.DISPLAY);
         String customVer=BidiFormatter.getInstance().unicodeWrap(Build.DISPLAY)+"\n("+custromname+")";
        return customVer;       
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值