From 8cc20fd862170c505a85562b756e1e95080cfe11 Mon Sep 17 00:00:00 2001 From: althafvly Date: Mon, 29 Jul 2024 11:57:32 +0530 Subject: [PATCH] script: Update script for android 14 - Add apex apks to sign - Use new firmware path for 14 - Update partitions list --- build-community.sh | 10 +++++++--- src/apex.list | 4 ++++ src/apex_apk.list | 8 ++++++++ src/build.sh | 38 ++++++++++++++++++++++++++++++++++---- 4 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 src/apex_apk.list diff --git a/build-community.sh b/build-community.sh index f661c5e..e1b5023 100755 --- a/build-community.sh +++ b/build-community.sh @@ -225,8 +225,7 @@ for branch in ${BRANCH_NAME//,/ }; do ln -sf "$KEYS_DIR" user-keys if [ "$android_version_major" -lt "10" ]; then sed -i "1s;^;PRODUCT_DEFAULT_DEV_CERTIFICATE := user-keys/releasekey\nPRODUCT_OTA_PUBLIC_KEYS := user-keys/releasekey\nPRODUCT_EXTRA_RECOVERY_KEYS := user-keys/releasekey\n\n;" "vendor/$vendor/config/common.mk" - fi - if [ "$android_version_major" -lt "12" ]; then + elif [ "$android_version_major" -lt "12" ]; then sed -i "1s;^;PRODUCT_DEFAULT_DEV_CERTIFICATE := user-keys/releasekey\nPRODUCT_OTA_PUBLIC_KEYS := user-keys/releasekey\n\n;" "vendor/$vendor/config/common.mk" fi fi @@ -374,7 +373,7 @@ for branch in ${BRANCH_NAME//,/ }; do SIGN_TARGETS=(-o -d "user-keys") fi - if [ "$android_version_major" -ge 12 ]; then + if [ "$android_version_major" -ge 12 ] && [ "$SIGN_BUILDS" = true ]; then APEX_PACKAGE_LIST=$(cat "/root/apex.list") for PACKAGE in $APEX_PACKAGE_LIST; do if [ -f "user-keys/$PACKAGE.pem" ] && @@ -384,6 +383,11 @@ for branch in ${BRANCH_NAME//,/ }; do --extra_apex_payload_key "$PACKAGE.apex=user-keys/$PACKAGE.pem") fi done + + APEXAPK_PACKAGE_LIST=$(cat "/root/apex_apk.list") + for PACKAGE in $APEXAPK_PACKAGE_LIST; do + SIGN_TARGETS+=(--extra_apks "$PACKAGE.apk=user-keys/releasekey") + done fi if [ "$(find $OUT/obj/PACKAGING/target_files_intermediates/ -name *-target_files*.zip -print -quit)" ]; then diff --git a/src/apex.list b/src/apex.list index fa6cdb0..65a8672 100644 --- a/src/apex.list +++ b/src/apex.list @@ -12,6 +12,10 @@ com.android.connectivity.resources com.android.conscrypt com.android.devicelock com.android.extservices +com.android.graphics.pdf +com.android.hardware.biometrics.face.virtual +com.android.hardware.biometrics.fingerprint.virtual +com.android.hardware.cas com.android.hardware.wifi com.android.healthfitness com.android.hotspot2.osulogin diff --git a/src/apex_apk.list b/src/apex_apk.list new file mode 100644 index 0000000..a770e69 --- /dev/null +++ b/src/apex_apk.list @@ -0,0 +1,8 @@ +AdServicesApk +HalfSheetUX +OsuLogin +SafetyCenterResources +ServiceConnectivityResources +ServiceUwbResources +ServiceWifiResources +WifiDialog diff --git a/src/build.sh b/src/build.sh index ab2267b..9a4ec91 100755 --- a/src/build.sh +++ b/src/build.sh @@ -248,8 +248,7 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then ln -sf "$KEYS_DIR" user-keys if [ "$android_version_major" -lt "10" ]; then sed -i "1s;^;PRODUCT_DEFAULT_DEV_CERTIFICATE := user-keys/releasekey\nPRODUCT_OTA_PUBLIC_KEYS := user-keys/releasekey\nPRODUCT_EXTRA_RECOVERY_KEYS := user-keys/releasekey\n\n;" "vendor/$vendor/config/common.mk" - fi - if [ "$android_version_major" -lt "12" ]; then + elif [ "$android_version_major" -lt "12" ]; then sed -i "1s;^;PRODUCT_DEFAULT_DEV_CERTIFICATE := user-keys/releasekey\nPRODUCT_OTA_PUBLIC_KEYS := user-keys/releasekey\n\n;" "vendor/$vendor/config/common.mk" fi fi @@ -396,7 +395,7 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then SIGN_TARGETS=(-o -d "user-keys") fi - if [ "$android_version_major" -ge 12 ]; then + if [ "$android_version_major" -ge 12 ] && [ "$SIGN_BUILDS" = true ]; then APEX_PACKAGE_LIST=$(cat "/root/apex.list") for PACKAGE in $APEX_PACKAGE_LIST; do if [ -f "user-keys/$PACKAGE.pem" ] && @@ -406,6 +405,11 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then --extra_apex_payload_key "$PACKAGE.apex=user-keys/$PACKAGE.pem") fi done + + APEXAPK_PACKAGE_LIST=$(cat "/root/apex_apk.list") + for PACKAGE in $APEXAPK_PACKAGE_LIST; do + SIGN_TARGETS+=(--extra_apks "$PACKAGE.apk=user-keys/releasekey") + done fi if [ "$(find $OUT/obj/PACKAGING/target_files_intermediates/ -name *-target_files*.zip -print -quit)" ]; then @@ -436,7 +440,28 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then exit_script fi - IMAGES=("recovery" "boot" "vendor_boot" "dtbo" "vbmeta" "vbmeta_vendor" "vendor_kernel_boot" "super_empty" "system" "odm" "product" "system_ext" "vendor" "vbmeta_system" "super") + IMAGES=( + "boot" + "dtbo" + "init_boot" + "odm" + "odm_dlkm" + "product" + "pvmfw" + "recovery" + "super" + "super_empty" + "system" + "system_dlkm" + "system_ext" + "vendor" + "vendor_boot" + "vendor_dlkm" + "vendor_kernel_boot" + "vbmeta" + "vbmeta_system" + "vbmeta_vendor" + ) for i in "${!IMAGES[@]}"; do if unzip -l "$OUT/$FASTBOOT_PACKAGE" | grep -q "${IMAGES[i]}.img"; then @@ -448,6 +473,11 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then IMG_FIRMWARE_PATH="$source_dir/vendor/firmware" QFIL_FLASH_PATH="$source_dir/vendor/murena-flash" + if [ ! -d "$IMG_FIRMWARE_PATH/${DEVICE}/radio" ]; then + # If it doesn't exist, use an alternative path, used in lineage-21 + IMG_FIRMWARE_PATH="$source_dir/$(dirname vendor/*/${DEVICE})" + fi + QFIL_CONFIG=$QFIL_FLASH_PATH/${DEVICE}/config.mk IMG_CONFIG=$IMG_FLASH_PATH/${DEVICE}/config.mk -- GitLab