|
1 | 1 | SKIPUNZIP=1 |
2 | | -RIRU_PATH="/data/misc/riru" |
3 | | -RIRU_MODULES_PATH="$RIRU_PATH/modules" |
4 | | - |
5 | | -# check architecture |
6 | | -if [[ "$ARCH" != "arm" && "$ARCH" != "arm64" && "$ARCH" != "x86" && "$ARCH" != "x64" ]]; then |
7 | | - abort "! Unsupported platform: $ARCH" |
8 | | -else |
9 | | - ui_print "- Device platform: $ARCH" |
10 | | -fi |
11 | | - |
12 | | -# check Riru version |
13 | | -if [[ ! -f "$RIRU_PATH/api_version" ]]; then |
14 | | - ui_print "*********************************************************" |
15 | | - ui_print "! 'Riru - Core' is not installed" |
16 | | - ui_print "! You can download from 'Magisk Manager' or https://github.com/RikkaApps/Riru/releases" |
17 | | - abort "*********************************************************" |
18 | | -fi |
19 | | -RIRU_API_VERSION=$(cat "$RIRU_PATH/api_version") |
20 | | -ui_print "- Riru API version: $RIRU_API_VERSION" |
21 | | -if [[ "$RIRU_API_VERSION" -lt 4 ]]; then |
22 | | - ui_print "*********************************************************" |
23 | | - ui_print "! The latest version of 'Riru - Core' is required" |
24 | | - ui_print "! You can download from 'Magisk Manager' or https://github.com/RikkaApps/Riru/releases" |
25 | | - abort "*********************************************************" |
26 | | -fi |
27 | 2 |
|
28 | 3 | # extract verify.sh |
| 4 | +ui_print "- Extracting verify.sh" |
29 | 5 | unzip -o "$ZIPFILE" 'verify.sh' -d "$TMPDIR" >&2 |
30 | | -if [[ ! -f "$TMPDIR/verify.sh" ]]; then |
31 | | - ui_print "*********************************************************" |
32 | | - ui_print "! Unable to extract verify.sh!" |
33 | | - ui_print "! This zip may be corrupted, please try downloading again" |
34 | | - abort "*********************************************************" |
| 6 | +if [ ! -f "$TMPDIR/verify.sh" ]; then |
| 7 | + ui_print "*********************************************************" |
| 8 | + ui_print "! Unable to extract verify.sh!" |
| 9 | + ui_print "! This zip may be corrupted, please try downloading again" |
| 10 | + abort_clean "*********************************************************" |
35 | 11 | fi |
36 | 12 | . $TMPDIR/verify.sh |
37 | 13 |
|
| 14 | +# extract riru.sh |
| 15 | +extract "$ZIPFILE" 'riru.sh' "$MODPATH" |
| 16 | +. $MODPATH/riru.sh |
| 17 | + |
| 18 | +check_riru_version |
| 19 | +check_architecture |
| 20 | + |
38 | 21 | # extract libs |
39 | 22 | ui_print "- Extracting module files" |
40 | | -vunzip -o "$ZIPFILE" 'module.prop' 'post-fs-data.sh' 'uninstall.sh' -d "$MODPATH" |
41 | 23 |
|
42 | | -if [[ "$ARCH" == "x86" || "$ARCH" == "x64" ]]; then |
43 | | - ui_print "- Extracting x86/64 libraries" |
44 | | - vunzip -o "$ZIPFILE" 'system_x86/*' -d "$MODPATH" |
| 24 | +extract "$ZIPFILE" 'module.prop' "$MODPATH" |
| 25 | +extract "$ZIPFILE" 'post-fs-data.sh' "$MODPATH" |
| 26 | +extract "$ZIPFILE" 'uninstall.sh' "$MODPATH" |
| 27 | +#extract "$ZIPFILE" 'sepolicy.rule' "$MODPATH" |
| 28 | + |
| 29 | +if [ "$ARCH" = "x86" ] || [ "$ARCH" = "x64" ]; then |
| 30 | + ui_print "- Extracting x86 libraries" |
| 31 | + extract "$ZIPFILE" "system_x86/lib/libriru_$RIRU_MODULE_ID.so" "$MODPATH" |
45 | 32 | mv "$MODPATH/system_x86/lib" "$MODPATH/system/lib" |
46 | | - mv "$MODPATH/system_x86/lib64" "$MODPATH/system/lib64" |
| 33 | + |
| 34 | + if [ "$IS64BIT" = true ]; then |
| 35 | + ui_print "- Extracting x64 libraries" |
| 36 | + extract "$ZIPFILE" "system_x86/lib64/libriru_$RIRU_MODULE_ID.so" "$MODPATH" |
| 37 | + mv "$MODPATH/system_x86/lib64" "$MODPATH/system/lib64" |
| 38 | + fi |
47 | 39 | else |
48 | | - ui_print "- Extracting arm/arm64 libraries" |
49 | | - vunzip -o "$ZIPFILE" 'system/*' -d "$MODPATH" |
50 | | -fi |
| 40 | + ui_print "- Extracting arm libraries" |
| 41 | + extract "$ZIPFILE" "system/lib/libriru_$RIRU_MODULE_ID.so" "$MODPATH" |
51 | 42 |
|
52 | | -if [[ "$IS64BIT" == "false" ]]; then |
53 | | - ui_print "- Removing 64-bit libraries" |
54 | | - rm -rf "$MODPATH/system/lib64" |
| 43 | + if [ "$IS64BIT" = true ]; then |
| 44 | + ui_print "- Extracting arm64 libraries" |
| 45 | + extract "$ZIPFILE" "system/lib64/libriru_$RIRU_MODULE_ID.so" "$MODPATH" |
| 46 | + fi |
55 | 47 | fi |
56 | 48 |
|
| 49 | +ui_print "- Extracting extra libraries" |
| 50 | +extract "$ZIPFILE" "system/framework/libriru_$RIRU_MODULE_ID.dex" "$MODPATH" |
| 51 | + |
57 | 52 | # Riru files |
58 | 53 | ui_print "- Extracting extra files" |
59 | | -unzip -o "$ZIPFILE" 'data/*' -d "$TMPDIR" >&2 |
60 | | -[[ -d "$RIRU_MODULES_PATH" ]] || mkdir -p "$RIRU_MODULES_PATH" || abort "! Can't mkdir -p $RIRU_MODULES_PATH" |
61 | | -cp -af "$TMPDIR$RIRU_MODULES_PATH/." "$RIRU_MODULES_PATH" || abort "! Can't cp -af $TMPDIR$RIRU_MODULES_PATH/. $RIRU_MODULES_PATH" |
| 54 | +[ -d "$RIRU_MODULE_PATH" ] || mkdir -p "$RIRU_MODULE_PATH" || abort_clean "! Can't create $RIRU_MODULE_PATH" |
| 55 | + |
| 56 | +# set permission just in case |
| 57 | +set_perm "$RIRU_PATH" 0 0 0700 |
| 58 | +set_perm "$RIRU_PATH/modules" 0 0 0700 |
| 59 | +set_perm "$RIRU_MODULE_PATH" 0 0 0700 |
| 60 | +set_perm "$RIRU_MODULE_PATH/bin" 0 0 0700 |
| 61 | + |
| 62 | +rm -f "$RIRU_MODULE_PATH/module.prop.new" |
| 63 | +extract "$ZIPFILE" 'riru/module.prop.new' "$RIRU_MODULE_PATH" true |
| 64 | +set_perm "$RIRU_MODULE_PATH/module.prop.new" 0 0 0600 |
62 | 65 |
|
63 | 66 | # set permissions |
64 | 67 | ui_print "- Setting permissions" |
|
0 commit comments