diff --git a/edxp-core/template_override/customize.sh b/edxp-core/template_override/customize.sh index 8e1e9d81..cbc70927 100644 --- a/edxp-core/template_override/customize.sh +++ b/edxp-core/template_override/customize.sh @@ -33,6 +33,9 @@ RIRU_EDXP="$(getRandomNameExist 4 "libriru_" ".so" " RIRU_MODULES="${RIRU_PATH}/modules" RIRU_TARGET="${RIRU_MODULES}/${RIRU_EDXP}" +IS_MAGISK_LITE=false +[[ "${MAGISK_VER:0-5}" == "-lite" ]] && IS_MAGISK_LITE=true + VERSION=$(grep_prop version "${TMPDIR}/module.prop") RIRU_MIN_API_VERSION=$(grep_prop api "${TMPDIR}/module.prop") @@ -95,6 +98,9 @@ LANG_UTIL_ERR_ANDROID_UNSUPPORT_1="Unsupported Android version" LANG_UTIL_ERR_ANDROID_UNSUPPORT_2="(below Oreo)" LANG_UTIL_ERR_ANDROID_UNSUPPORT_3="Learn more from our GitHub Wiki" LANG_UTIL_ERR_PLATFORM_UNSUPPORT="Unsupported platform" +LANG_UTIL_ERR_DUPINST_1="Duplicate installation is now allowed" +LANG_UTIL_ERR_DUPINST_2="Remove" +LANG_UTIL_ERR_DUPINST_3="and reboot to install again" # Load lang if [[ ${BOOTMODE} == true ]]; then @@ -157,14 +163,14 @@ if [ "$ARCH" = "x86" ] || [ "$ARCH" = "x64" ]; then else ui_print "- ${LANG_CUST_INST_EXT_LIB_ARM}" extract "$ZIPFILE" 'system/lib/libriru_edxp.so' "${MODPATH}" - if [[ "${VARIANTS}" == "SandHook" ]]; then + if [[ "${VARIANT}" == "SandHook" ]]; then extract "$ZIPFILE" 'system/lib/libsandhook.edxp.so' "${MODPATH}" fi if [ "$IS64BIT" = true ]; then ui_print "- ${LANG_CUST_INST_EXT_LIB_ARM64}" extract "$ZIPFILE" 'system/lib64/libriru_edxp.so' "${MODPATH}" - if [[ "${VARIANTS}" == "SandHook" ]]; then + if [[ "${VARIANT}" == "SandHook" ]]; then extract "$ZIPFILE" 'system/lib64/libsandhook.edxp.so' "${MODPATH}" fi fi @@ -214,7 +220,7 @@ ui_print "- ${LANG_CUST_INST_COPY_LIB}" rm -rf "/data/misc/$MISC_PATH/framework" mv "${MODPATH}/system/framework" "/data/misc/$MISC_PATH/framework" -if [[ "${VARIANTS}" == "SandHook" ]]; then +if [[ "${VARIANT}" == "SandHook" ]]; then mkdir -p "/data/misc/$MISC_PATH/framework/lib" mv "${MODPATH}/system/lib/libsandhook.edxp.so" "/data/misc/$MISC_PATH/framework/lib/libsandhook.edxp.so" if [ "$IS64BIT" = true ]; then diff --git a/edxp-core/template_override/util_functions.sh b/edxp-core/template_override/util_functions.sh index 23ae2534..1143e4e9 100644 --- a/edxp-core/template_override/util_functions.sh +++ b/edxp-core/template_override/util_functions.sh @@ -42,6 +42,13 @@ require_yahfa() { abortC "${POUNDS}" } +duplicate_installation() { + ui_print "${POUNDS}" + ui_print "! ${LANG_UTIL_ERR_DUPINST_1}" + ui_print "! ${LANG_UTIL_ERR_DUPINST_2} ${1} ${LANG_UTIL_ERR_DUPINST_3}" + abortC "${POUNDS}" +} + require_new_android() { ui_print "${POUNDS}" ui_print "! ${LANG_UTIL_ERR_ANDROID_UNSUPPORT_1} ${1} ${LANG_UTIL_ERR_ANDROID_UNSUPPORT_2}" @@ -52,16 +59,22 @@ require_new_android() { edxp_check_architecture() { if [[ "${MODID}" == "riru_edxposed_sandhook" ]]; then - VARIANTS="SandHook" + VARIANT="SandHook" + if [[ "${IS_MAGISK_LITE}" == "false" && -d "${MODPATH}/../../modules/riru_edxposed" || -d "${MODPATH}/../../modules_update/riru_edxposed" ]] || [[ "${IS_MAGISK_LITE}" == "true" && -d "${MODPATH}/../../lite_modules/riru_edxposed" || -d "${MODPATH}/../../lite_modules_update/riru_edxposed" ]]; then + duplicate_installation "EdXposed (YAHFA)" + fi else - VARIANTS="YAHFA" + VARIANT="YAHFA" + if [[ "${IS_MAGISK_LITE}" == "false" && -d "${MODPATH}/../../modules/riru_edxposed_sandhook" || -d "${MODPATH}/../../modules_update/riru_edxposed_sandhook" ]] || [[ "${IS_MAGISK_LITE}" == "true" && -d "${MODPATH}/../../lite_modules/riru_edxposed_sandhook" || -d "${MODPATH}/../../lite_modules_update/riru_edxposed_sandhook" ]]; then + duplicate_installation "EdXposed (SandHook)" + fi fi if [[ "${ARCH}" != "arm" && "${ARCH}" != "arm64" && "${ARCH}" != "x86" && "${ARCH}" != "x64" ]]; then abortC "! ${LANG_UTIL_ERR_PLATFORM_UNSUPPORT}: ${ARCH}" else ui_print "- ${LANG_UTIL_PLATFORM}: ${ARCH}" if [[ "${ARCH}" == "x86" || "${ARCH}" == "x64" ]]; then - if [[ "${VARIANTS}" == "SandHook" ]]; then + if [[ "${VARIANT}" == "SandHook" ]]; then require_yahfa fi fi diff --git a/edxp-core/template_override/zh_CN.sh b/edxp-core/template_override/zh_CN.sh index 43dce51f..afd2a5fe 100644 --- a/edxp-core/template_override/zh_CN.sh +++ b/edxp-core/template_override/zh_CN.sh @@ -51,3 +51,6 @@ LANG_UTIL_ERR_ANDROID_UNSUPPORT_1="不支持的 Android 版本" LANG_UTIL_ERR_ANDROID_UNSUPPORT_2="(Oreo 以下版本)" LANG_UTIL_ERR_ANDROID_UNSUPPORT_3="从我们的 GitHub Wiki 中了解更多" LANG_UTIL_ERR_PLATFORM_UNSUPPORT="不支持的设备平台" +LANG_UTIL_ERR_DUPINST_1="不允许重复安装" +LANG_UTIL_ERR_DUPINST_2="删除" +LANG_UTIL_ERR_DUPINST_3="并重启以继续安装"