161 lines
4.2 KiB
Bash
161 lines
4.2 KiB
Bash
SKIPUNZIP=1
|
|
RIRU_PATH="/data/misc/riru"
|
|
OLD_MAGISK=false
|
|
DETECTED_DEVICE=false
|
|
PROP_MODEL=`getprop ro.product.model`
|
|
PROP_DEVICE=`getprop ro.product.device`
|
|
PROP_PRODUCT=`getprop ro.build.product`
|
|
PROP_BRAND=`getprop ro.product.brand`
|
|
PROP_MANUFACTURER=`getprop ro.product.manufacturer`
|
|
|
|
MODEL="
|
|
HD1900
|
|
HD1910
|
|
"
|
|
DEVICE="
|
|
OnePlus7T
|
|
OnePlus7TPro
|
|
"
|
|
PRODUCT="
|
|
OnePlus7T
|
|
OnePlus7TPro
|
|
"
|
|
BRAND="
|
|
HUAWEI
|
|
HONOR
|
|
"
|
|
MANUFACTURER="
|
|
HUAWEI
|
|
"
|
|
|
|
require_new_magisk() {
|
|
ui_print "*******************************"
|
|
ui_print " Please install Magisk v20.2+! "
|
|
ui_print "*******************************"
|
|
abort
|
|
}
|
|
|
|
require_new_riru() {
|
|
ui_print "**********************************"
|
|
ui_print " Please Install Riru - Core v19+! "
|
|
ui_print "**********************************"
|
|
abort
|
|
}
|
|
|
|
require_yahfa() {
|
|
ui_print "****************************************"
|
|
ui_print " Only YAHFA supports x86 or x64 devices "
|
|
ui_print "****************************************"
|
|
abort
|
|
}
|
|
|
|
check_old_magisk_device() {
|
|
OLD_MAGISK=true
|
|
ui_print "- Old Magisk detected"
|
|
if [[ "${DETECTED_DEVICE}" = true ]]; then
|
|
require_new_magisk
|
|
fi
|
|
}
|
|
|
|
check_magisk_version() {
|
|
for TARGET in ${MODEL}; do
|
|
if [[ "${PROP_MODEL}" == ${TARGET} ]]; then
|
|
DETECTED_DEVICE=true
|
|
fi
|
|
done
|
|
for TARGET in ${DEVICE}; do
|
|
if [[ "${PROP_DEVICE}" == ${TARGET} ]]; then
|
|
DETECTED_DEVICE=true
|
|
fi
|
|
done
|
|
for TARGET in ${PRODUCT}; do
|
|
if [[ "${PROP_PRODUCT}" == ${TARGET} ]]; then
|
|
DETECTED_DEVICE=true
|
|
fi
|
|
done
|
|
for TARGET in ${BRAND}; do
|
|
if [[ "${PROP_BRAND}" == ${TARGET} ]]; then
|
|
DETECTED_DEVICE=true
|
|
fi
|
|
done
|
|
for TARGET in ${MANUFACTURER}; do
|
|
if [[ "${PROP_MANUFACTURER}" == ${TARGET} ]]; then
|
|
DETECTED_DEVICE=true
|
|
fi
|
|
done
|
|
if [[ "${DETECTED_DEVICE}" = true ]]; then
|
|
ui_print "- Special device detected"
|
|
fi
|
|
ui_print "- Magisk version is ${MAGISK_VER_CODE}"
|
|
[[ ${MAGISK_VER_CODE} -ge 20110 ]] || check_old_magisk_device
|
|
}
|
|
|
|
check_riru_version() {
|
|
[[ ! -f "${RIRU_PATH}/api_version" ]] && require_new_riru
|
|
VERSION=$(cat "${RIRU_PATH}/api_version")
|
|
ui_print "- Riru API version is ${VERSION}"
|
|
[[ "${VERSION}" -ge 4 ]] || require_new_riru
|
|
}
|
|
|
|
check_architecture() {
|
|
if [[ "${MODID}" == "riru_edxposed_sandhook" ]]; then
|
|
VARIANTS="SandHook"
|
|
else
|
|
VARIANTS="YAHFA"
|
|
fi
|
|
ui_print "- EdXposed Variant: ${VARIANTS}"
|
|
if [[ "${ARCH}" != "arm" && "${ARCH}" != "arm64" && "${ARCH}" != "x86" && "${ARCH}" != "x64" ]]; then
|
|
abort "! Unsupported platform is ${ARCH}"
|
|
else
|
|
ui_print "- Device platform is ${ARCH}"
|
|
if [[ "${ARCH}" == "x86" || "${ARCH}" == "x64" ]]; then
|
|
if [[ "${VARIANTS}" == "SandHook" ]]; then
|
|
require_yahfa
|
|
fi
|
|
fi
|
|
fi
|
|
}
|
|
|
|
check_magisk_version
|
|
check_riru_version
|
|
check_architecture
|
|
|
|
ui_print "- Extracting module files"
|
|
unzip -o "${ZIPFILE}" module.prop post-fs-data.sh system.prop uninstall.sh 'system/*' -d "${MODPATH}" >&2
|
|
|
|
if [[ "${ARCH}" == "x86" || "${ARCH}" == "x64" ]]; then
|
|
ui_print "- Replacing x86/64 libraries"
|
|
unzip -o "${ZIPFILE}" 'system_x86/*' -d "${MODPATH}" >&2
|
|
rm -rf "${MODPATH}/system/lib"
|
|
rm -rf "${MODPATH}/system/lib64"
|
|
mv "${MODPATH}/system_x86/lib" "${MODPATH}/system/lib"
|
|
mv "${MODPATH}/system_x86/lib64" "${MODPATH}/system/lib64"
|
|
rm -rf "${MODPATH}/system_x86"
|
|
fi
|
|
|
|
if [[ "${IS64BIT}" = false ]]; then
|
|
ui_print "- Removing 64-bit libraries"
|
|
rm -rf "${MODPATH}/system/lib64"
|
|
fi
|
|
|
|
if [[ "${OLD_MAGISK}" = true ]]; then
|
|
ui_print "- Extracting custom sepolicy rule for old Magisk"
|
|
unzip -o "${ZIPFILE}" sepolicy.sh -d "${MODPATH}" >&2
|
|
else
|
|
ui_print "- Extracting custom sepolicy rule"
|
|
unzip -o "${ZIPFILE}" sepolicy.rule -d "${MODPATH}" >&2
|
|
fi
|
|
|
|
ui_print "- Copying extra files"
|
|
|
|
TARGET="${RIRU_PATH}/modules/edxp"
|
|
|
|
[[ -d "${TARGET}" ]] || mkdir -p "${TARGET}" || abort "! Can't mkdir -p ${TARGET}"
|
|
|
|
cp "${MODPATH}/module.prop" "${TARGET}/module.prop" || abort "! Can't create ${TARGET}/module.prop"
|
|
|
|
set_perm_recursive "${MODPATH}" 0 0 0755 0644
|
|
|
|
VERSION=`grep_prop version $TMPDIR/module.prop`
|
|
|
|
ui_print "- Welcome to EdXposed ${VERSION}!" |