-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.sh
executable file
·107 lines (84 loc) · 4.46 KB
/
install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
##########################################################################################
#
# Unity Config Script
# by topjohnwu, modified by Zackptg5
#
##########################################################################################
##########################################################################################
# Unity Logic - Don't change/move this section
##########################################################################################
if [ -z $UF ]; then
UF=$TMPDIR/common/unityfiles
unzip -oq "$ZIPFILE" 'common/unityfiles/util_functions.sh' -d $TMPDIR >&2
[ -f "$UF/util_functions.sh" ] || { ui_print "! Unable to extract zip file !"; exit 1; }
. $UF/util_functions.sh
fi
comp_check
##########################################################################################
# Config Flags
##########################################################################################
# Uncomment and change 'MINAPI' and 'MAXAPI' to the minimum and maximum android version for your mod
# Uncomment DYNLIB if you want libs installed to vendor for oreo+ and system for anything older
# Uncomment SYSOVER if you want the mod to always be installed to system (even on magisk) - note that this can still be set to true by the user by adding 'sysover' to the zipname
# Uncomment DIRSEPOL if you want sepolicy patches applied to the boot img directly (not recommended) - THIS REQUIRES THE RAMDISK PATCHER ADDON (this addon requires minimum api of 17)
# Uncomment DEBUG if you want full debug logs (saved to /sdcard in magisk manager and the zip directory in twrp) - note that this can still be set to true by the user by adding 'debug' to the zipname
#MINAPI=21
#MAXAPI=25
#DYNLIB=true
#SYSOVER=true
#DIRSEPOL=true
#DEBUG=true
# Uncomment if you do *NOT* want Magisk to mount any files for you. Most modules would NOT want to set this flag to true
# This is obviously irrelevant for system installs. This will be set to true automatically if your module has no files in system
#SKIPMOUNT=true
##########################################################################################
# Replace list
##########################################################################################
# List all directories you want to directly replace in the system
# Check the documentations for more info why you would need this
# Construct your list in the following format
# This is an example
REPLACE_EXAMPLE="
/system/app/Youtube
/system/priv-app/SystemUI
/system/priv-app/Settings
/system/framework
"
# Construct your own list here
REPLACE="
"
##########################################################################################
# Custom Logic
##########################################################################################
# Set what you want to display when installing your module
print_modname() {
center_and_print # Replace this line if using custom print stuff
unity_main # Don't change this line
}
set_permissions() {
set_perm $UNITY/system/bin/toybox 0 2000 0755
# Generate symlinks (but don't overwrite oem binaries)
cd $UNITY/system/bin
for APPLET in $($UNITY/system/bin/toybox --long); do
APPLET=`basename $APPLET`
[ "$APPLET" == "su" ] && continue
[ -f $ORIGDIR/system/bin/$APPLET ] || { ln -sf toybox $APPLET; if ! $MAGISK || $SYSOVER; then echo "/system/bin/$APPLET" >> $INFO; fi; }
done
cd /
# Note that all files/folders have the $UNITY prefix - keep this prefix on all of your files/folders
# Also note the lack of '/' between variables - preceding slashes are already included in the variables
# Use $VEN for vendor (Do not use /system$VEN, the $VEN is set to proper vendor path already - could be /vendor, /system/vendor, etc.)
# Some examples:
# For directories (includes files in them):
# set_perm_recursive <dirname> <owner> <group> <dirpermission> <filepermission> <contexts> (default: u:object_r:system_file:s0)
# set_perm_recursive $UNITY/system/lib 0 0 0755 0644
# set_perm_recursive $UNITY$VEN/lib/soundfx 0 0 0755 0644
# For files (not in directories taken care of above)
# set_perm <filename> <owner> <group> <permission> <contexts> (default: u:object_r:system_file:s0)
# set_perm $UNITY/system/lib/libart.so 0 0 0644
}
# Custom Variables for Install AND Uninstall - Keep everything within this function - runs before uninstall/install
unity_custom() {
: # Remove this if adding to this function
}
# Custom Functions for Install AND Uninstall - You can put them here