Skip to content
This repository was archived by the owner on Jan 3, 2026. It is now read-only.

Commit 6f451a9

Browse files
committed
Revert "scripts: build_flashable_zip: remove OTA metadata"
This reverts commit 9b21649.
1 parent 554e38b commit 6f451a9

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

scripts/internal/build_flashable_zip.sh

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,51 @@ GENERATE_OP_LIST()
210210
fi
211211
}
212212

213+
GENERATE_OTA_METADATA()
214+
{
215+
local PROTO_FILE="$SRC_DIR/external/android-tools/vendor/build/tools/releasetools/ota_metadata.proto"
216+
217+
local INCREMENTAL
218+
local RELEASE
219+
local SECURITY_PATCH_LEVEL
220+
local TIMESTAMP
221+
222+
INCREMENTAL="$(GET_PROP "system" "ro.build.version.incremental")"
223+
RELEASE="$(GET_PROP "system" "ro.build.version.release")"
224+
SECURITY_PATCH_LEVEL="$(GET_PROP "system" "ro.build.version.security_patch")"
225+
TIMESTAMP="$(GET_PROP "system" "ro.build.date.utc")"
226+
227+
mkdir -p "$TMP_DIR/META-INF/com/android"
228+
229+
# https://android.googlesource.com/platform/build/+/refs/tags/android-15.0.0_r1/tools/releasetools/ota_utils.py#259
230+
if [ -f "$PROTO_FILE" ]; then
231+
local MESSAGE
232+
233+
MESSAGE+="type: BLOCK"
234+
MESSAGE+=", precondition: {device: \\\"$TARGET_CODENAME\\\"}"
235+
MESSAGE+=", postcondition: {device: \\\"$TARGET_CODENAME\\\""
236+
MESSAGE+=", build: \\\"$SOURCE_FINGERPRINT\\\""
237+
MESSAGE+=", build_incremental: \\\"$INCREMENTAL\\\""
238+
MESSAGE+=", timestamp: $TIMESTAMP"
239+
MESSAGE+=", sdk_level: \\\"$RELEASE\\\""
240+
MESSAGE+=", security_patch_level: \\\"$SECURITY_PATCH_LEVEL\\\"}"
241+
242+
EVAL "protoc --encode=build.tools.releasetools.OtaMetadata --proto_path=\"$(dirname "$PROTO_FILE")\" \"$PROTO_FILE\" <<< \"$MESSAGE\" > \"$TMP_DIR/META-INF/com/android/metadata.pb\"" || exit 1
243+
fi
244+
245+
# https://android.googlesource.com/platform/build/+/refs/tags/android-15.0.0_r1/tools/releasetools/ota_utils.py#317
246+
{
247+
echo "ota-required-cache=0"
248+
echo "ota-type=BLOCK"
249+
echo "post-build=$SOURCE_FINGERPRINT"
250+
echo "post-build-incremental=$INCREMENTAL"
251+
echo "post-sdk-level=$RELEASE"
252+
echo "post-security-patch-level=$SECURITY_PATCH_LEVEL"
253+
echo "post-timestamp=$TIMESTAMP"
254+
echo "pre-device=$TARGET_CODENAME"
255+
} > "$TMP_DIR/META-INF/com/android/metadata"
256+
}
257+
213258
GENERATE_UPDATER_SCRIPT()
214259
{
215260
local SCRIPT_FILE="$TMP_DIR/META-INF/com/google/android/updater-script"
@@ -636,6 +681,9 @@ GENERATE_UPDATER_SCRIPT
636681
LOG "- Generating build_info.txt"
637682
GENERATE_BUILD_INFO
638683

684+
LOG "- Generating OTA metadata"
685+
GENERATE_OTA_METADATA
686+
639687
LOG "- Creating zip"
640688
EVAL "rm -f \"$OUT_DIR/rom.zip\"" || exit 1
641689
pushd "$TMP_DIR" > /dev/null

0 commit comments

Comments
 (0)