Duplicate installation check

This commit is contained in:
Jim Wu 2020-12-21 14:20:26 +08:00
parent 912803e84c
commit 7451fbbeda
3 changed files with 28 additions and 6 deletions

View File

@ -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

View File

@ -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

View File

@ -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="并重启以继续安装"