bugfix
This commit is contained in:
@@ -31,7 +31,7 @@ Backup_user_data=1
|
|||||||
Backup_obb_data=1
|
Backup_obb_data=1
|
||||||
|
|
||||||
#是否在應用數據備份好後備份自定義目錄
|
#是否在應用數據備份好後備份自定義目錄
|
||||||
backup_media=1
|
backup_media=0
|
||||||
|
|
||||||
#假設你遇到列表輸出異常問題請將此設為1
|
#假設你遇到列表輸出異常問題請將此設為1
|
||||||
debug_list=0
|
debug_list=0
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ backup)
|
|||||||
data="$MODDIR"
|
data="$MODDIR"
|
||||||
hx="本地"
|
hx="本地"
|
||||||
echoRgb "壓縮方式:$Compression_method"
|
echoRgb "壓縮方式:$Compression_method"
|
||||||
echoRgb "提示 腳本支持後台壓縮 可以直接離開腳本\n -或是關閉終端也能備份 如需終止腳本\n -請執行$script即可停止\n -備份結束將發送toast提示語" "3"
|
echoRgb "提示 腳本支持後台壓縮 可以直接離開腳本\n -或是關閉終端也能備份 如需終止腳本\n -請執行終止腳本.sh即可停止\n -備份結束將發送toast提示語" "3"
|
||||||
if [[ $Output_path != "" ]]; then
|
if [[ $Output_path != "" ]]; then
|
||||||
[[ ${Output_path: -1} = / ]] && Output_path="${Output_path%?}"
|
[[ ${Output_path: -1} = / ]] && Output_path="${Output_path%?}"
|
||||||
Backup="$Output_path/Backup_$Compression_method"
|
Backup="$Output_path/Backup_$Compression_method"
|
||||||
@@ -191,7 +191,6 @@ backup)
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
PU="$(ls /dev/block/vold | grep public)"
|
PU="$(ls /dev/block/vold | grep public)"
|
||||||
echo $PU
|
|
||||||
if [[ $PU != "" ]]; then
|
if [[ $PU != "" ]]; then
|
||||||
[[ -f /proc/mounts ]] && PT="$(cat /proc/mounts | grep "$PU" | awk '{print $2}')"
|
[[ -f /proc/mounts ]] && PT="$(cat /proc/mounts | grep "$PU" | awk '{print $2}')"
|
||||||
if [[ -d $PT ]]; then
|
if [[ -d $PT ]]; then
|
||||||
@@ -244,6 +243,7 @@ backup)
|
|||||||
[[ ! -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"
|
||||||
|
[[ ! -f $Backup/被卸載的應用/終止腳本.sh ]] && cp -r "$MODDIR/終止腳本.sh" "$Backup/被卸載的應用/終止腳本.sh"
|
||||||
[[ ! -f $Backup/被卸載的應用/backup_settings.conf ]] && echo "#1開啟0關閉\n\n#是否在每次執行恢復腳本時使用音量鍵詢問如下需求\n#如果是那下面兩項項設置就被忽略,改為音量鍵選擇\nLo=$Lo\n\n#備份與恢復遭遇異常或是結束後發送通知(toast與狀態欄提示)\ntoast_info=$toast_info\n\n#腳本檢測更新後進行跳轉瀏覽器或是複製連結?\nupdate=$update\n\n#檢測到更新後的行為(1跳轉瀏覽器 0不跳轉瀏覽器,但是複製連結到剪裁版)\nupdate_behavior=$update_behavior">"$Backup/被卸載的應用/backup_settings.conf" && echo "$(sed 's/true/1/g ; s/false/0/g' "$Backup/backup_settings.conf")">"$Backup/被卸載的應用/backup_settings.conf"
|
[[ ! -f $Backup/被卸載的應用/backup_settings.conf ]] && echo "#1開啟0關閉\n\n#是否在每次執行恢復腳本時使用音量鍵詢問如下需求\n#如果是那下面兩項項設置就被忽略,改為音量鍵選擇\nLo=$Lo\n\n#備份與恢復遭遇異常或是結束後發送通知(toast與狀態欄提示)\ntoast_info=$toast_info\n\n#腳本檢測更新後進行跳轉瀏覽器或是複製連結?\nupdate=$update\n\n#檢測到更新後的行為(1跳轉瀏覽器 0不跳轉瀏覽器,但是複製連結到剪裁版)\nupdate_behavior=$update_behavior">"$Backup/被卸載的應用/backup_settings.conf" && echo "$(sed 's/true/1/g ; s/false/0/g' "$Backup/backup_settings.conf")">"$Backup/被卸載的應用/backup_settings.conf"
|
||||||
txt2="$Backup/被卸載的應用/appList.txt"
|
txt2="$Backup/被卸載的應用/appList.txt"
|
||||||
[[ ! -f $txt2 ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安">"$txt2"
|
[[ ! -f $txt2 ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安">"$txt2"
|
||||||
@@ -268,6 +268,7 @@ backup)
|
|||||||
done
|
done
|
||||||
echo "$(sed -e '/^$/d' "$txt")" >"$txt"
|
echo "$(sed -e '/^$/d' "$txt")" >"$txt"
|
||||||
r="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')"
|
r="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')"
|
||||||
|
[[ $1 != "" ]] && r=1
|
||||||
[[ $r = "" ]] && echoRgb "爬..appList.txt是空的或是包名被注釋了這樣備份個鬼" "0" && exit 1
|
[[ $r = "" ]] && echoRgb "爬..appList.txt是空的或是包名被注釋了這樣備份個鬼" "0" && exit 1
|
||||||
rm -rf "$Backup/STOP"
|
rm -rf "$Backup/STOP"
|
||||||
#分區詳細
|
#分區詳細
|
||||||
@@ -300,7 +301,9 @@ backup)
|
|||||||
Backup_apk() {
|
Backup_apk() {
|
||||||
#創建APP備份文件夾
|
#創建APP備份文件夾
|
||||||
[[ ! -d $Backup_folder ]] && mkdir -p "$Backup_folder"
|
[[ ! -d $Backup_folder ]] && mkdir -p "$Backup_folder"
|
||||||
if [[ $apk_version = $(pm list packages --show-versioncode "$name2" | cut -f3 -d ':') ]]; then
|
apk_version2="$(pm list packages --show-versioncode "$name2" | cut -f3 -d ':')"
|
||||||
|
apk_version3="$(dumpsys package "$name2" | awk '/versionName=/{print $1}' | cut -f2 -d '=' | head -1)"
|
||||||
|
if [[ $apk_version = $apk_version2 ]]; then
|
||||||
unset xb
|
unset xb
|
||||||
let osj++
|
let osj++
|
||||||
result=0
|
result=0
|
||||||
@@ -316,7 +319,6 @@ backup)
|
|||||||
esac
|
esac
|
||||||
if [[ $nobackup != true ]]; then
|
if [[ $nobackup != true ]]; then
|
||||||
let osn++
|
let osn++
|
||||||
apk_version2="$(pm list packages --show-versioncode "$name2" | cut -f3 -d ':')"
|
|
||||||
if [[ $apk_version != "" ]]; then
|
if [[ $apk_version != "" ]]; then
|
||||||
echoRgb "版本:$apk_version>$apk_version2"
|
echoRgb "版本:$apk_version>$apk_version2"
|
||||||
else
|
else
|
||||||
@@ -346,12 +348,16 @@ backup)
|
|||||||
)
|
)
|
||||||
echo_log "備份$apk_number個Apk"
|
echo_log "備份$apk_number個Apk"
|
||||||
if [[ $result = 0 ]]; then
|
if [[ $result = 0 ]]; then
|
||||||
#pm list packages --show-versioncode "com.facebook.katana"
|
|
||||||
if [[ $apk_version = "" ]]; then
|
if [[ $apk_version = "" ]]; then
|
||||||
echo "apk_version=\"$apk_version2\"" >>"$app_details"
|
echo "apk_version=\"$apk_version2\"" >>"$app_details"
|
||||||
else
|
else
|
||||||
echo "$(cat "$app_details" | sed "s/${apk_version}/${apk_version2}/g")">"$app_details"
|
echo "$(cat "$app_details" | sed "s/${apk_version}/${apk_version2}/g")">"$app_details"
|
||||||
fi
|
fi
|
||||||
|
if [[ $versionName = "" ]]; then
|
||||||
|
echo "versionName=\"$apk_version3\"" >>"$app_details"
|
||||||
|
else
|
||||||
|
echo "$(cat "$app_details" | sed "s/${versionName}/${apk_version3}/g")">"$app_details"
|
||||||
|
fi
|
||||||
[[ $PackageName = "" ]] && echo "PackageName=\"$name2\"" >>"$app_details"
|
[[ $PackageName = "" ]] && echo "PackageName=\"$name2\"" >>"$app_details"
|
||||||
[[ $ChineseName = "" ]] && echo "ChineseName=\"$name1\"" >>"$app_details"
|
[[ $ChineseName = "" ]] && echo "ChineseName=\"$name1\"" >>"$app_details"
|
||||||
[[ ! -f $Backup_folder/恢復備份.sh ]] && cp -r "$script_path/restore2" "$Backup_folder/恢復備份.sh"
|
[[ ! -f $Backup_folder/恢復備份.sh ]] && cp -r "$script_path/restore2" "$Backup_folder/恢復備份.sh"
|
||||||
@@ -422,7 +428,6 @@ backup)
|
|||||||
echo_log "備份$1數據"
|
echo_log "備份$1數據"
|
||||||
if [[ $result = 0 ]]; then
|
if [[ $result = 0 ]]; then
|
||||||
if [[ $zsize != "" ]]; then
|
if [[ $zsize != "" ]]; then
|
||||||
#cat "$app_details" | sed "s/$apk_version/$apk_version2/g"
|
|
||||||
echo "#$1Size=\"$(du -ks "$data_path" | awk '{print $1}')\"" >>"$app_details"
|
echo "#$1Size=\"$(du -ks "$data_path" | awk '{print $1}')\"" >>"$app_details"
|
||||||
[[ $2 != $(cat "$app_details" | awk "/$1path/"'{print $1}' | cut -f2 -d '=' | tail -n1 | sed 's/\"//g') ]] && echo "#$1path=\"$2\"" >>"$app_details"
|
[[ $2 != $(cat "$app_details" | awk "/$1path/"'{print $1}' | cut -f2 -d '=' | tail -n1 | sed 's/\"//g') ]] && echo "#$1path=\"$2\"" >>"$app_details"
|
||||||
else
|
else
|
||||||
@@ -456,14 +461,7 @@ backup)
|
|||||||
TIME="$starttime1"
|
TIME="$starttime1"
|
||||||
en=118
|
en=118
|
||||||
{
|
{
|
||||||
osn=0
|
osn=0; osx=0; osb=0; osg=0; osz=0; osd=0; ose=0; osj=0
|
||||||
osx=0
|
|
||||||
osb=0
|
|
||||||
osg=0
|
|
||||||
osz=0
|
|
||||||
osd=0
|
|
||||||
ose=0
|
|
||||||
osj=0
|
|
||||||
#獲取已經開啟的無障礙
|
#獲取已經開啟的無障礙
|
||||||
var="$(settings get secure enabled_accessibility_services)"
|
var="$(settings get secure enabled_accessibility_services)"
|
||||||
#獲取預設鍵盤
|
#獲取預設鍵盤
|
||||||
@@ -473,8 +471,13 @@ backup)
|
|||||||
stopscript
|
stopscript
|
||||||
[[ $en -ge 229 ]] && en=118
|
[[ $en -ge 229 ]] && en=118
|
||||||
unset name1 name2 apk_path apk_path2
|
unset name1 name2 apk_path apk_path2
|
||||||
|
if [[ $1 != "" ]]; then
|
||||||
|
name1="$(appinfo -sort-i -d " " -o ands -pn "$1")"
|
||||||
|
name2="$1"
|
||||||
|
else
|
||||||
name1="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $1}')"
|
name1="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $1}')"
|
||||||
name2="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $2}')"
|
name2="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $2}')"
|
||||||
|
fi
|
||||||
[[ $name2 = "" ]] && echoRgb "警告! appList.txt應用包名獲取失敗,可能修改有問題" "0" && exit 1
|
[[ $name2 = "" ]] && echoRgb "警告! appList.txt應用包名獲取失敗,可能修改有問題" "0" && exit 1
|
||||||
apk_path="$(pm path "$name2" | cut -f2 -d ':')"
|
apk_path="$(pm path "$name2" | cut -f2 -d ':')"
|
||||||
apk_path2="$(echo "$apk_path" | head -1)"
|
apk_path2="$(echo "$apk_path" | head -1)"
|
||||||
@@ -482,7 +485,7 @@ backup)
|
|||||||
if [[ -d $apk_path2 ]]; then
|
if [[ -d $apk_path2 ]]; then
|
||||||
echoRgb "備份第$i/$r個應用 剩下$((r - i))個" "3"
|
echoRgb "備份第$i/$r個應用 剩下$((r - i))個" "3"
|
||||||
echoRgb "備份$name1 ($name2)"
|
echoRgb "備份$name1 ($name2)"
|
||||||
unset ChineseName PackageName nobackup No_backupdata result apk_version apk_version2 userSize dataSize obbSize
|
unset ChineseName PackageName nobackup No_backupdata result apk_version versionName apk_version2 apk_version3 userSize dataSize obbSize
|
||||||
if [[ $name1 = *! || $name1 = *! ]]; then
|
if [[ $name1 = *! || $name1 = *! ]]; then
|
||||||
name1="$(echo "$name1" | sed 's/!//g ; s/!//g')"
|
name1="$(echo "$name1" | sed 's/!//g ; s/!//g')"
|
||||||
echoRgb "跳過備份所有數據" "0"
|
echoRgb "跳過備份所有數據" "0"
|
||||||
@@ -497,7 +500,7 @@ backup)
|
|||||||
if [[ -f $app_details ]]; then
|
if [[ -f $app_details ]]; then
|
||||||
. "$app_details"
|
. "$app_details"
|
||||||
if [[ $PackageName != $name2 ]]; then
|
if [[ $PackageName != $name2 ]]; then
|
||||||
unset userSize ChineseName PackageName apk_version apk_version2 result userSize dataSize obbSize
|
unset userSize ChineseName PackageName apk_version versionName apk_version2 apk_version3 result userSize dataSize obbSize
|
||||||
Backup_folder="$Backup/${name1}[${name2}]"
|
Backup_folder="$Backup/${name1}[${name2}]"
|
||||||
app_details="$Backup_folder/app_details"
|
app_details="$Backup_folder/app_details"
|
||||||
[[ -f $app_details ]] && . "$app_details"
|
[[ -f $app_details ]] && . "$app_details"
|
||||||
|
|||||||
Reference in New Issue
Block a user