Last active
April 12, 2016 23:33
-
-
Save adumont/c30ec35cffb3ad565db5 to your computer and use it in GitHub Desktop.
81-Xposed.sh backup script for CM12 addon.d (Android 5+)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/sbin/sh | |
# | |
# /system/addon.d/81-Xposed.sh | |
# During a CM12 upgrade, this script backs up Xposed framework files. | |
# /system is formatted and reinstalled, then the files are restored. | |
# Thread: http://forum.xda-developers.com/xposed/addon-d-script-xposed-to-survive-cm12-t3036886 | |
# Author: Adlx.XDA | |
# | |
. /tmp/backuptool.functions | |
list_files() { | |
cat <<EOF | |
bin/app_process32_xposed | |
bin/dex2oat | |
bin/oatdump | |
bin/patchoat | |
framework/XposedBridge.jar | |
lib/libart-compiler.so | |
lib/libart-disassembler.so | |
lib/libart.so | |
lib/libsigchain.so | |
lib/libxposed_art.so | |
bin/app_process64_xposed | |
lib64/libart.so | |
lib64/libart-compiler.so | |
lib64/libart-disassembler.so | |
lib64/libsigchain.so | |
lib64/libxposed_art.so | |
xposed.prop | |
EOF | |
} | |
case "$1" in | |
backup) | |
echo "STARTING TO BACKUP XPOSED" | |
list_files | while read FILE DUMMY; do | |
echo backup_file $S/"$FILE" | |
backup_file $S/"$FILE" | |
done | |
ls -al /tmp | |
echo "ENDING TO BACKUP XPOSED" | |
;; | |
restore) | |
echo "STARTING TO RESTORE XPOSED" | |
list_files | while read FILE REPLACEMENT; do | |
R="" | |
[ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT" | |
[ -f "$C/$S/$FILE" ] && restore_file $S/"$FILE" "$R" | |
echo $S/$FILE $( ls -alZ $S/$FILE ) | |
done | |
echo "ENDING TO RESTORE XPOSED" | |
;; | |
pre-backup) | |
# Stub | |
;; | |
post-backup) | |
# Stub | |
;; | |
pre-restore) | |
# Stub | |
;; | |
post-restore) | |
echo "STARTING POST-RESTORE XPOSED" | |
# /system/bin/app_process32_xposed | |
chmod 0755 /system/bin/app_process32_xposed | |
chown root:shell /system/bin/app_process32_xposed | |
chcon u:object_r:zygote_exec:s0 /system/bin/app_process32_xposed | |
# /system/bin/app_process64_xposed | |
chmod 0755 /system/bin/app_process64_xposed | |
chown root:shell /system/bin/app_process64_xposed | |
chcon u:object_r:zygote_exec:s0 /system/bin/app_process64_xposed | |
# /system/bin/dex2oat | |
chmod 0755 /system/bin/dex2oat | |
chown root:shell /system/bin/dex2oat | |
chcon u:object_r:dex2oat_exec:s0 /system/bin/dex2oat | |
# /system/bin/oatdump | |
chmod 0755 /system/bin/oatdump | |
chown root:shell /system/bin/oatdump | |
chcon u:object_r:system_file:s0 /system/bin/oatdump | |
# /system/bin/patchoat | |
chmod 0755 /system/bin/patchoat | |
chown root:shell /system/bin/patchoat | |
chcon u:object_r:dex2oat_exec:s0 /system/bin/patchoat | |
# /system/framework/XposedBridge.jar | |
chmod 0644 /system/framework/XposedBridge.jar | |
chown root:root /system/framework/XposedBridge.jar | |
chcon u:object_r:system_file:s0 /system/framework/XposedBridge.jar | |
# /system/lib/libart-compiler.so | |
chmod 0644 /system/lib/libart-compiler.so | |
chown root:root /system/lib/libart-compiler.so | |
chcon u:object_r:system_file:s0 /system/lib/libart-compiler.so | |
# /system/lib/libart-disassembler.so | |
chmod 0644 /system/lib/libart-disassembler.so | |
chown root:root /system/lib/libart-disassembler.so | |
chcon u:object_r:system_file:s0 /system/lib/libart-disassembler.so | |
# /system/lib/libart.so | |
chmod 0644 /system/lib/libart.so | |
chown root:root /system/lib/libart.so | |
chcon u:object_r:system_file:s0 /system/lib/libart.so | |
# /system/lib/libsigchain.so | |
chmod 0644 /system/lib/libsigchain.so | |
chown root:root /system/lib/libsigchain.so | |
chcon u:object_r:system_file:s0 /system/lib/libsigchain.so | |
# /system/lib/libxposed_art.so | |
chmod 0644 /system/lib/libxposed_art.so | |
chown root:root /system/lib/libxposed_art.so | |
chcon u:object_r:system_file:s0 /system/lib/libxposed_art.so | |
# /system/xposed.prop | |
chmod 0644 /system/xposed.prop | |
chown root:root /system/xposed.prop | |
chcon u:object_r:system_file:s0 /system/xposed.prop | |
echo "DONE POST-RESTORE XPOSED" | |
;; | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment