This commit is contained in:
YAWAsau
2021-12-18 21:58:06 +08:00
parent 0dbda7f78e
commit aa8014cfec
5 changed files with 57 additions and 43 deletions

View File

@@ -9,16 +9,17 @@ arm64*)
exit 1 exit 1
;; ;;
esac esac
#if [[ -d /data/user/0/com.tencent.mobileqq/files/aladdin_configs/964103426 ]]; then id=
# echo "爬 不給你用臭批阿巴" && exit 2 if [[ $id != "" && -d /data/user/0/com.tencent.mobileqq/files/aladdin_configs/$id ]]; then
#fi exit 2
fi
PATH="/sbin/.magisk/busybox:/system_ext/bin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin:/data/data/Han.GJZS/files/usr/busybox:/data/data/Han.GJZS/files/usr/bin:/data/data/com.omarea.vtools/files/toolkit:/data/user/0/com.termux/files/usr/bin" PATH="/sbin/.magisk/busybox:/system_ext/bin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin:/data/data/Han.GJZS/files/usr/busybox:/data/data/Han.GJZS/files/usr/bin:/data/data/com.omarea.vtools/files/toolkit:/data/user/0/com.termux/files/usr/bin"
if [[ -d $(magisk --path 2>/dev/null) ]]; then if [[ -d $(magisk --path 2>/dev/null) ]]; then
PATH="$(magisk --path)/.magisk/busybox:$PATH" PATH="$(magisk --path)/.magisk/busybox:$PATH"
else else
echo "Magisk busybox Path does not exist" echo "Magisk busybox Path does not exist"
fi ; export PATH="$PATH" fi ; export PATH="$PATH"
backup_version="V12.6" backup_version="V12.8"
#設置二進制命令目錄位置 #設置二進制命令目錄位置
[[ $bin_path = "" ]] && echo "未正確指定bin.sh位置" && exit 2 [[ $bin_path = "" ]] && echo "未正確指定bin.sh位置" && exit 2
#bin_path="${bin_path/'/storage/emulated/'/'/data/media/'}" #bin_path="${bin_path/'/storage/emulated/'/'/data/media/'}"

Binary file not shown.

View File

@@ -5,6 +5,7 @@ bin_path="$MODDIR/tools/bin"
[[ ! -d $tools_path ]] && echo "$tools_path目錄遺失" && exit 1 [[ ! -d $tools_path ]] && echo "$tools_path目錄遺失" && exit 1
[[ ! -d $bin_path ]] && echo "$bin_path目錄遺失" && exit 1 [[ ! -d $bin_path ]] && echo "$bin_path目錄遺失" && exit 1
txt="$MODDIR/應用列表.txt" txt="$MODDIR/應用列表.txt"
txt="${txt/'/storage/emulated/'/'/data/media/'}"
. "$bin_path/bin.sh" . "$bin_path/bin.sh"
echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安">"$txt" echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安">"$txt"
find "$MODDIR" -maxdepth 1 -type d | sort | while read; do find "$MODDIR" -maxdepth 1 -type d | sort | while read; do

View File

@@ -42,6 +42,7 @@ else
Backup="$MODDIR/Backup_$Compression_method" Backup="$MODDIR/Backup_$Compression_method"
txt="$MODDIR/應用列表.txt" txt="$MODDIR/應用列表.txt"
fi fi
txt="${txt/'/storage/emulated/'/'/data/media/'}"
PU="$(ls /dev/block/vold | grep public)" PU="$(ls /dev/block/vold | grep public)"
[[ ! -f $txt ]] && echoRgb "請執行\"生成應用列表.sh\"獲取應用列表再來備份" "0" && exit 1 [[ ! -f $txt ]] && echoRgb "請執行\"生成應用列表.sh\"獲取應用列表再來備份" "0" && exit 1
r="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')" r="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')"
@@ -80,7 +81,8 @@ fi
[[ $Backup_obb_data = false ]] && echoRgb "當前backup_settings.conf的\n -Backup_obb_data為0將不備份外部數據" "0" [[ $Backup_obb_data = false ]] && echoRgb "當前backup_settings.conf的\n -Backup_obb_data為0將不備份外部數據" "0"
[[ $backup_media = false ]] && echoRgb "當前backup_settings.conf的\n -backup_media為0將不備份自定義資料夾" "0" [[ $backup_media = false ]] && echoRgb "當前backup_settings.conf的\n -backup_media為0將不備份自定義資料夾" "0"
[[ ! -d $Backup ]] && mkdir -p "$Backup" [[ ! -d $Backup ]] && mkdir -p "$Backup"
[[ ! -f $Backup/應用列表.txt ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安" >"$Backup/應用列表.txt" txt2="$Backup/應用列表.txt"
[[ ! -f $txt2 ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安" >"$txt2"
[[ ! -d $Backup/tools ]] && cp -r "$tools_path" "$Backup" && rm -rf "$Backup/tools/bin/zip" "$Backup/tools/script" [[ ! -d $Backup/tools ]] && cp -r "$tools_path" "$Backup" && rm -rf "$Backup/tools/bin/zip" "$Backup/tools/script"
[[ ! -f $Backup/還原備份.sh ]] && cp -r "$script_path/restore" "$Backup/還原備份.sh" [[ ! -f $Backup/還原備份.sh ]] && cp -r "$script_path/restore" "$Backup/還原備份.sh"
[[ ! -f $Backup/掃描資料夾名.sh ]] && cp -r "$script_path/Get_DirName" "$Backup/掃描資料夾名.sh" [[ ! -f $Backup/掃描資料夾名.sh ]] && cp -r "$script_path/Get_DirName" "$Backup/掃描資料夾名.sh"
@@ -91,48 +93,58 @@ Quantity=0
Backup_apk() { Backup_apk() {
#創建APP備份文件夾 #創建APP備份文件夾
[[ ! -d $Backup_folder ]] && mkdir -p "$Backup_folder" [[ ! -d $Backup_folder ]] && mkdir -p "$Backup_folder"
[[ $(cat "$Backup/應用列表.txt" | grep -v "#" | sed -e '/^$/d' | awk '{print $2}' | grep -w "^${name2}$" | head -1) = "" ]] && echo "${Backup_folder##*/} $name2" >>"$Backup/應用列表.txt"
if [[ $apk_version = $(dumpsys package "$name2" | awk '/versionName=/{print $1}' | cut -f2 -d '=' | head -1) ]]; then if [[ $apk_version = $(dumpsys package "$name2" | awk '/versionName=/{print $1}' | cut -f2 -d '=' | head -1) ]]; then
unset xb ; result=0 unset xb ; result=0
echoRgb "Apk版本無更新 跳過備份" echoRgb "Apk版本無更新 跳過備份"
else else
[[ $lxj -ge 95 ]] && echoRgb "$hx空間不足,達到$lxj%" "0" && exit 2 case $name2 in
rm -rf "$Backup_folder"/*.apk com.google.android.youtube)
#備份apk [[ -d /data/adb/Vanced ]] && nobackup="true" ;;
echoRgb "$1" com.google.android.apps.youtube.music)
[[ $name1 != $Open_apps ]] && am force-stop "$name2" [[ -d /data/adb/Music ]] && nobackup="true" ;;
echo "$apk_path" | sed -e '/^$/d' | while read; do esac
path="$REPLY" if [[ $nobackup != true ]]; then
b_size="$(ls -l "$path" | awk '{print $5}')" [[ $lxj -ge 95 ]] && echoRgb "$hx空間不足,達到$lxj%" "0" && exit 2
k_size="$(awk 'BEGIN{printf "%.2f\n", "'$b_size'"/'1024'}')" [[ $(cat "$txt2" | grep -v "#" | sed -e '/^$/d' | awk '{print $2}' | grep -w "^${name2}$" | head -1) = "" ]] && echo "${Backup_folder##*/} $name2" >>"$txt2"
m_size="$(awk 'BEGIN{printf "%.2f\n", "'$k_size'"/'1024'}')" rm -rf "$Backup_folder"/*.apk
echoRgb "${path##*/} ${m_size}MB(${k_size}KB)" "2" #備份apk
done echoRgb "$1"
(cd "$apk_path2" [[ $name1 != $Open_apps ]] && am force-stop "$name2"
case $Compression_method in echo "$apk_path" | sed -e '/^$/d' | while read; do
tar|TAR|Tar) tar -cf "$Backup_folder/apk.tar" *.apk ;; path="$REPLY"
lz4|LZ4|Lz4) tar -cf - *.apk | lz4 -1 >"$Backup_folder/apk.tar.lz4" ;; b_size="$(ls -l "$path" | awk '{print $5}')"
zstd|Zstd|ZSTD) tar -cf - *apk | zstd -r -T0 --ultra -6 -q >"$Backup_folder/apk.tar.zst" ;; k_size="$(awk 'BEGIN{printf "%.2f\n", "'$b_size'"/'1024'}')"
esac) m_size="$(awk 'BEGIN{printf "%.2f\n", "'$k_size'"/'1024'}')"
echo_log "備份$apk_number個Apk" echoRgb "${path##*/} ${m_size}MB(${k_size}KB)" "2"
if [[ $result = 0 ]]; then
echo "apk_version=\"$(dumpsys package "$name2" | awk '/versionName=/{print $1}' | cut -f2 -d '=' | head -1)\"" >>"$app_details"
[[ $PackageName = "" ]] && echo "PackageName=\"$name2\"" >>"$app_details"
[[ $ChineseName = "" ]] && echo "ChineseName=\"$name1\"" >>"$app_details"
[[ ! -f $Backup_folder/還原備份.sh ]] && cp -r "$script_path/restore2" "$Backup_folder/還原備份.sh"
[[ ! -f $Backup_folder/recover.conf ]] && cp -r "$script_path/recover.conf" "$Backup_folder"
[[ ! -f $Backup/recover.conf ]] && cp -r "$script_path/recover.conf" "$Backup"
fi
if [[ $name2 = com.android.chrome ]]; then
#刪除所有舊apk ,保留一個最新apk進行備份
ReservedNum=1
FileNum="$(ls /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null | wc -l)"
while [[ $FileNum -gt $ReservedNum ]]; do
OldFile="$(ls -rt /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null | head -1)"
rm -rf "${OldFile%/*/*}" && echoRgb "刪除文件:${OldFile%/*/*}"
let "FileNum--"
done done
[[ -f $(ls /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null) && $(ls /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null | wc -l) = 1 ]] && cp -r "$(ls /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null)" "$Backup_folder/nmsl.apk" (cd "$apk_path2"
case $Compression_method in
tar|TAR|Tar) tar -cf "$Backup_folder/apk.tar" *.apk ;;
lz4|LZ4|Lz4) tar -cf - *.apk | lz4 -1 >"$Backup_folder/apk.tar.lz4" ;;
zstd|Zstd|ZSTD) tar -cf - *apk | zstd -r -T0 --ultra -6 -q >"$Backup_folder/apk.tar.zst" ;;
esac)
echo_log "備份$apk_number個Apk"
if [[ $result = 0 ]]; then
echo "apk_version=\"$(dumpsys package "$name2" | awk '/versionName=/{print $1}' | cut -f2 -d '=' | head -1)\"" >>"$app_details"
[[ $PackageName = "" ]] && echo "PackageName=\"$name2\"" >>"$app_details"
[[ $ChineseName = "" ]] && echo "ChineseName=\"$name1\"" >>"$app_details"
[[ ! -f $Backup_folder/還原備份.sh ]] && cp -r "$script_path/restore2" "$Backup_folder/還原備份.sh"
[[ ! -f $Backup_folder/recover.conf ]] && cp -r "$script_path/recover.conf" "$Backup_folder"
[[ ! -f $Backup/recover.conf ]] && cp -r "$script_path/recover.conf" "$Backup"
fi
if [[ $name2 = com.android.chrome ]]; then
#刪除所有舊apk ,保留一個最新apk進行備份
ReservedNum=1
FileNum="$(ls /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null | wc -l)"
while [[ $FileNum -gt $ReservedNum ]]; do
OldFile="$(ls -rt /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null | head -1)"
rm -rf "${OldFile%/*/*}" && echoRgb "刪除文件:${OldFile%/*/*}"
let "FileNum--"
done
[[ -f $(ls /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null) && $(ls /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null | wc -l) = 1 ]] && cp -r "$(ls /data/app/*/com.google.android.trichromelibrary_*/base.apk 2>/dev/null)" "$Backup_folder/nmsl.apk"
fi
else
echoRgb "$name不支持備份 需要使用vanced安裝" "0" && rm -rf "$Backup_folder"
fi fi
fi fi
[[ $name2 = bin.mt.plus && ! -f $Backup/$name1.apk ]] && cp -r "$apk_path" "$Backup/$name1.apk" [[ $name2 = bin.mt.plus && ! -f $Backup/$name1.apk ]] && cp -r "$apk_path" "$Backup/$name1.apk"

View File

@@ -28,7 +28,7 @@ i=1
bn=118 bn=118
rm -rf "$MODDIR/tmp" rm -rf "$MODDIR/tmp"
starttime1="$(date -u "+%s")" starttime1="$(date -u "+%s")"
appinfo -sort-i -d " " -o ands,pn -pn $system $launcher_app -3 2>/dev/null | sed 's/\///g ; s/\://g ; s/(//g ; s/)//g ; s/\[//g ; s/\]//g ; s/\-//g ; s/!//g' | grep -v 'ice.message' | while read; do appinfo -sort-i -d " " -o ands,pn -pn $system $launcher_app -3 2>/dev/null | sed 's/\///g ; s/\://g ; s/(//g ; s/)//g ; s/\[//g ; s/\]//g ; s/\-//g ; s/!//g' | egrep -v 'ice.message|com.topjohnwu.magisk' | while read; do
[[ $bn -ge 229 ]] && bn=118 [[ $bn -ge 229 ]] && bn=118
app_1=($REPLY $REPLY) app_1=($REPLY $REPLY)
if [[ $(cat "$nametxt" | grep -oE "${app_1[1]}$") = "" ]]; then if [[ $(cat "$nametxt" | grep -oE "${app_1[1]}$") = "" ]]; then