diff --git a/build-community.sh b/build-community.sh index f661c5e41272465059d15832b64baa6fcf74e8dd..e1b50233fc1f1ed60d8403724749b869fa746b21 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 fa6cdb0f96c5e977b22b75a8382c1156db006308..65a8672362ac54d850a194dc0af44d70fa5d44ca 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 0000000000000000000000000000000000000000..a770e69f62b326aba7f04167cec60971f53d28ed --- /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 ab2267b47f05b7bbead855d041687358dd5a0815..9a4ec91c627dd6ad19fa095d4699557e7e90425f 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