This commit is contained in:
Yawasau
2022-05-12 21:09:42 +08:00
parent f2381cd79b
commit 3dc1c0c4ba

View File

@@ -434,7 +434,7 @@ backup)
stopscript stopscript
#創建APP備份文件夾 #創建APP備份文件夾
[[ ! -d $Backup_folder ]] && mkdir -p "$Backup_folder" [[ ! -d $Backup_folder ]] && mkdir -p "$Backup_folder"
apk_version2="$(pm list packages --show-versioncode "$name2" | cut -f3 -d ':')" apk_version2="$(pm list packages --show-versioncode "$name2" | cut -f3 -d ':' | head -n 1)"
apk_version3="$(dumpsys package "$name2" | awk '/versionName=/{print $1}' | cut -f2 -d '=' | head -1)" apk_version3="$(dumpsys package "$name2" | awk '/versionName=/{print $1}' | cut -f2 -d '=' | head -1)"
if [[ $apk_version = $apk_version2 ]]; then if [[ $apk_version = $apk_version2 ]]; then
[[ $(cat "$txt2" | grep -v "#" | sed -e '/^$/d' | awk '{print $2}' | grep -w "^${name2}$" | head -1) = "" ]] && echo "${Backup_folder##*/} $name2" >>"$txt2" [[ $(cat "$txt2" | grep -v "#" | sed -e '/^$/d' | awk '{print $2}' | grep -w "^${name2}$" | head -1) = "" ]] && echo "${Backup_folder##*/} $name2" >>"$txt2"
@@ -695,6 +695,7 @@ backup)
echo_log "設置鍵盤$(appinfo -d "(" -ed ")" -o ands,pn -pn "${keyboard%/*}" 2>/dev/null)" echo_log "設置鍵盤$(appinfo -d "(" -ed ")" -o ands,pn -pn "${keyboard%/*}" 2>/dev/null)"
fi fi
echoRgb "\n -已更新的apk=\"$osn\"\n -apk版本號無變化=\"$osj\"\n -user數據已備份=\"$osx\"\n -data數據已備份=\"$osb\"\n -obb數據已備份=\"$osg\"\n -user數據不存在=\"$osz\"\n -obb數據不存在=\"$osd\"\n -obb數據不存在=\"$ose\"" "3" echoRgb "\n -已更新的apk=\"$osn\"\n -apk版本號無變化=\"$osj\"\n -user數據已備份=\"$osx\"\n -data數據已備份=\"$osb\"\n -obb數據已備份=\"$osg\"\n -user數據不存在=\"$osz\"\n -obb數據不存在=\"$osd\"\n -obb數據不存在=\"$ose\"" "3"
echo "$(sort "$txt2" | sed -e '/^$/d')" >"$txt2"
if [[ $backup_media = true ]]; then if [[ $backup_media = true ]]; then
A=1 A=1
B="$(echo "$Custom_path" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')" B="$(echo "$Custom_path" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')"
@@ -774,34 +775,36 @@ dumpname)
rm -rf *.txt rm -rf *.txt
txt="${txt/'/storage/emulated/'/'/data/media/'}" txt="${txt/'/storage/emulated/'/'/data/media/'}"
echoRgb "列出全部資料夾內應用名與自定義目錄壓縮包名稱" "3" echoRgb "列出全部資料夾內應用名與自定義目錄壓縮包名稱" "3"
rgb_a=118
find "$MODDIR" -maxdepth 1 -type d 2>/dev/null | sort | while read; do find "$MODDIR" -maxdepth 1 -type d 2>/dev/null | sort | while read; do
[[ $rgb_a -ge 229 ]] && rgb_a=118
if [[ -f $REPLY/app_details ]]; then if [[ -f $REPLY/app_details ]]; then
if [[ ${REPLY##*/} = Media ]]; then if [[ ${REPLY##*/} = Media ]]; then
echoRgb "存在媒體資料夾" "2" echoRgb "存在媒體資料夾" "2"
[[ ! -f $txt2 ]] && echo "#不需要恢復的資料夾請在開頭注釋# 比如#媒體" > "$txt2" [[ ! -f $txt2 ]] && echo "#不需要恢復的資料夾請在開頭注釋# 比如#媒體" > "$txt2"
find "$REPLY" -maxdepth 1 -name "*.tar*" -type f 2>/dev/null | while read; do find "$REPLY" -maxdepth 1 -name "*.tar*" -type f 2>/dev/null | while read; do
echo "${REPLY##*/}" >> "$txt2" echoRgb "${REPLY##*/}" && echo "${REPLY##*/}" >> "$txt2"
done done
echoRgb "$txt2重新生成" "1" echoRgb "$txt2重新生成" "1"
fi fi
unset PackageName unset PackageName
. "$REPLY/app_details" &>/dev/null . "$REPLY/app_details" &>/dev/null
unset PackageName
if [[ $PackageName != "" ]]; then if [[ $PackageName != "" ]]; then
[[ ! -f $txt ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安" >"$txt" [[ ! -f $txt ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安" >"$txt"
echo "${REPLY##*/} $PackageName" >>"$txt" echoRgb "${REPLY##*/} $PackageName" && echo "${REPLY##*/} $PackageName" >>"$txt"
else else
Script_path="$(find "$REPLY" -maxdepth 1 -name "*.sh*" -type f 2>/dev/null)" Script_path="$(find "$REPLY" -maxdepth 1 -name "*.sh*" -type f 2>/dev/null)"
NAME="$(echo "${Script_path##*/}" | sed 's/.sh//g')" NAME="$(echo "${Script_path##*/}" | sed 's/.sh//g')"
if [[ $NAME != "" ]]; then if [[ $NAME != "" ]]; then
name2="$NAME" name2="$NAME"
[[ ! -f $txt ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安" >"$txt" [[ ! -f $txt ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安" >"$txt"
echo "${REPLY##*/} $name2" >>"$txt" echoRgb "${REPLY##*/} $name2" && echo "${REPLY##*/} $name2" >>"$txt"
else else
[[ ${REPLY##*/} != Media ]] && echoRgb "包名獲取失敗" "0" && exit 2 [[ ${REPLY##*/} != Media ]] && echoRgb "包名獲取失敗" "0" && exit 2
fi fi
fi fi
fi fi
let rgb_a++
done done
echoRgb "$txt重新生成" "1" echoRgb "$txt重新生成" "1"
;; ;;
@@ -860,14 +863,19 @@ Restore)
installapk installapk
else else
unset apk_version unset apk_version
apk_version="$(echo "$apk_version" | head -n 1)"
[[ -f "$Backup_folder/app_details" ]] && . "$Backup_folder/app_details" [[ -f "$Backup_folder/app_details" ]] && . "$Backup_folder/app_details"
if [[ $apk_version -gt $(pm list packages --show-versioncode "$name2" | cut -f3 -d ':') ]]; then if [[ $apk_version -gt $(pm list packages --show-versioncode "$name2" | cut -f3 -d ':' | head -n 1) ]]; then
installapk installapk
echoRgb "版本提升$(pm list packages --show-versioncode "$name2" | cut -f3 -d ':')>$apk_version" "1" echoRgb "版本提升$(pm list packages --show-versioncode "$name2" | cut -f3 -d ':' | head -n 1)>$apk_version" "1"
else
if [[ $apk_version = $(pm list packages --show-versioncode "$name2" | cut -f3 -d ':' | head -n 1) ]]; then
echoRgb "本地版本與備份版本一致略過安裝" "2"
else else
echoRgb "本地版本大於備份版本略過安裝" "2" echoRgb "本地版本大於備份版本略過安裝" "2"
fi fi
fi fi
fi
if [[ $No_backupdata = "" ]]; then if [[ $No_backupdata = "" ]]; then
if [[ $(pm path "$name2") != "" ]]; then if [[ $(pm path "$name2") != "" ]]; then
#停止應用 #停止應用
@@ -951,11 +959,10 @@ Restore2)
[[ $name1 = "" ]] && echoRgb "應用名獲取失敗" "0" && exit 2 [[ $name1 = "" ]] && echoRgb "應用名獲取失敗" "0" && exit 2
name2="$PackageName" name2="$PackageName"
if [[ $name2 = "" ]]; then if [[ $name2 = "" ]]; then
NAME="${MODDIR##*/}" Script_path="$(find "$MODDIR" -maxdepth 1 -name "*.sh*" -type f 2>/dev/null)"
echo $NAME NAME="$(echo "${Script_path##*/}" | sed 's/.sh//g')"
NAME2="${NAME%%.*}" if [[ $NAME != "" ]]; then
if [[ $NAME2 != "" ]]; then name2="$NAME"
name2="$NAME2"
else else
echoRgb "包名獲取失敗" "0" && exit 2 echoRgb "包名獲取失敗" "0" && exit 2
fi fi
@@ -965,13 +972,18 @@ Restore2)
if [[ $(pm path "$name2") = "" ]]; then if [[ $(pm path "$name2") = "" ]]; then
installapk installapk
else else
if [[ $apk_version -gt $(pm list packages --show-versioncode "$name2" | cut -f3 -d ':') ]]; then apk_version="$(echo "$apk_version" | head -n 1)"
if [[ $apk_version -gt $(pm list packages --show-versioncode "$name2" | cut -f3 -d ':' | head -n 1) ]]; then
installapk installapk
echoRgb "版本提升$(pm list packages --show-versioncode "$name2" | cut -f3 -d ':')>$apk_version" "1" echoRgb "版本提升$(pm list packages --show-versioncode "$name2" | cut -f3 -d ':' | head -n 1)>$apk_version" "1"
else
if [[ $apk_version = $(pm list packages --show-versioncode "$name2" | cut -f3 -d ':' | head -n 1) ]]; then
echoRgb "本地版本與備份版本一致略過安裝" "2"
else else
echoRgb "本地版本大於備份版本略過安裝" "2" echoRgb "本地版本大於備份版本略過安裝" "2"
fi fi
fi fi
fi
if [[ $(pm path "$name2") != "" ]]; then if [[ $(pm path "$name2") != "" ]]; then
#停止應用 #停止應用
[[ $name2 != $Open_apps2 ]] && am force-stop "$name2" [[ $name2 != $Open_apps2 ]] && am force-stop "$name2"