我正面临着AOSP增量OTA构建的问题。如果我进行增量构建(没有make clean),构建快速完成,我得到一个较小的OTA文件,并在目标系统上成功更新OTA;但目标系统的增量版本号保持不变。 因此,下次当生成另一个OTA并尝试更新时,它会失败,从而出现错误:" package期望构建指纹为../../..// .."。因为,增量内部版本号是构建指纹的一部分。
如果我这样做,那就干净了。在' make dist'之前,事情正常;但是构建时间要多得多,OTA文件也很臃肿;许多未修改的包被识别为被修改为%,并被添加到OTA。
如何在没有' make clean'的情况下增加内部版本号。 ?
提前致谢。
答案 0 :(得分:2)
问题在于构建指纹,并且没有使用增量构建进行更新。我也遇到了与buildfingerprint相同的问题。只需在开始介入构建之前删除下面的文件。
rm -rf out/target/product/abc123/system/build*
rm -rf out/target/product/abc123/obj/ETC/system_build_prop_intermediates/
rm -rf out/target/product/abc123/root/
rm -rf out/target/product/abc123/*.img
rm -rf out/target/product/abc123/*.zip
rm -rf out/target/product/abc123/recovery
rm -rf out/target/product/abc123/system/priv-app/
rm -rf out/target/product/abc123/system/app/
rm -rf out/target/product/abc123/obj/PACKAGING/target_files_intermediates/
rm -rf out/target/product/abc123/obj/EXECUTABLES/recovery_*
rm -rf out/target/product/abc123/obj/PACKAGING/
rm -rf out/target/product/abc123/obj/KERNEL_OBJ/.config
注意:将“abc123”字符串替换为产品名称。
添加以下更改以覆盖默认构建。
构建/核心/ build_id.mk
ifeq ($(BUILD_ID),)
export BUILD_ID=NMF26Q
endif
在开始构建之前设置新的构建ID。
export BUILD_ID = 123&& source build / envsetup.sh&&午餐
make dist