1
mirror of https://github.com/topjohnwu/Magisk synced 2024-11-17 01:48:37 +01:00

run module uninstall.sh on Magisk uninstallation

This commit is contained in:
shìwēi nguyen 2023-02-10 04:36:58 +00:00 committed by GitHub
parent 220a1c84ce
commit 03418ddcbf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 3 deletions

View File

@ -151,12 +151,14 @@ static void handle_request_async(int client, int code, const sock_cred &cred) {
case MainRequest::SQLITE_CMD:
exec_sql(client);
break;
case MainRequest::REMOVE_MODULES:
case MainRequest::REMOVE_MODULES: {
int do_reboot = read_int(client);
remove_modules();
write_int(client, 0);
close(client);
reboot();
if (do_reboot) reboot();
break;
}
case MainRequest::ZYGISK:
case MainRequest::ZYGISK_PASSTHROUGH:
zygisk_handler(client, &cred);

View File

@ -23,7 +23,7 @@ Options:
-v print running daemon version
-V print running daemon version code
--list list all available applets
--remove-modules remove all modules and reboot
--remove-modules [-n] remove all modules, reboot if -n is not provided
--install-module ZIP install a module zip file
Advanced Options (Internal APIs):
@ -114,7 +114,17 @@ int magisk_main(int argc, char *argv[]) {
printf("%s\n", res.data());
}
} else if (argv[1] == "--remove-modules"sv) {
int do_reboot;
if (argc == 3 && argv[2] == "-n"sv) {
do_reboot = 0;
} else if (argc == 2) {
do_reboot = 1;
} else {
usage();
exit(1);
}
int fd = connect_daemon(MainRequest::REMOVE_MODULES);
write_int(fd, do_reboot);
return read_int(fd);
} else if (argv[1] == "--path"sv) {
int fd = connect_daemon(MainRequest::GET_PATH);

View File

@ -137,6 +137,11 @@ case $((STATUS & 3)) in
;;
esac
if $BOOTMODE; then
ui_print "- Removing modules"
magisk --remove-modules -n
fi
ui_print "- Removing Magisk files"
rm -rf \
/cache/*magisk* /cache/unblock /data/*magisk* /data/cache/*magisk* /data/property/*magisk* \