This commit is contained in:
Yawasau
2025-08-16 22:09:24 +08:00
parent 1c6cbfb261
commit af803fbebf
4 changed files with 50 additions and 36 deletions

View File

@@ -10,7 +10,7 @@ background_execution=0
#腳本語言設置 留空則自動識別系統語言環境並翻譯 #腳本語言設置 留空則自動識別系統語言環境並翻譯
#1簡體中文 0繁體中文 #1簡體中文 0繁體中文
Shell_LANG= Shell_LANG=0
#備份開始後偽裝亮屏 #備份開始後偽裝亮屏
#1開啟 0關閉 #1開啟 0關閉
@@ -37,7 +37,7 @@ cdn=1
mount_point="rannki|0000-1" mount_point="rannki|0000-1"
#使用者(如0 999等用戶如存在多個用戶留空強制選擇無多個用戶則默認用戶0不詢問) #使用者(如0 999等用戶如存在多個用戶留空強制選擇無多個用戶則默認用戶0不詢問)
user=0 user=
#備份模式 #備份模式
#1包含數據+安裝包0僅包安裝包 #1包含數據+安裝包0僅包安裝包
@@ -45,10 +45,6 @@ user=0
#此外設置0時將同時忽略appList.txt的!與任何黑名單設置(包括黑名單列表) #此外設置0時將同時忽略appList.txt的!與任何黑名單設置(包括黑名單列表)
Backup_Mode=1 Backup_Mode=1
#執行start.sh時輸出用於recovery救援的卡刷包
#1輸出 0不輸出
recovery_flash=0
#是否備份使用者數據 (1備份 0不備份 留空強制選擇) #是否備份使用者數據 (1備份 0不備份 留空強制選擇)
Backup_user_data=1 Backup_user_data=1
@@ -64,11 +60,11 @@ Background_apps_ignore=0
#添加自定義備份路徑 例Download DCIM等文件夾 請使用絕對路徑,請勿刪除"" #添加自定義備份路徑 例Download DCIM等文件夾 請使用絕對路徑,請勿刪除""
Custom_path=" Custom_path="
#/storage/emulated/0/Pictures/ /storage/emulated/0/Pictures/
#/storage/emulated/0/Download/ /storage/emulated/0/Download/
#/storage/emulated/0/Music /storage/emulated/0/Music
#/storage/emulated/0/DCIM/ /storage/emulated/0/DCIM/
/data/adb #/data/adb
" "
#黑名單模式(1完全忽略不備份 0僅備份安裝包注意此選項Backup_Mode=1時黑名單模式才能使用) #黑名單模式(1完全忽略不備份 0僅備份安裝包注意此選項Backup_Mode=1時黑名單模式才能使用)
@@ -76,7 +72,10 @@ blacklist_mode=0
#備份黑名單(備份策略由「黑名單模式」控制,此處只作為黑名單應用列表) #備份黑名單(備份策略由「黑名單模式」控制,此處只作為黑名單應用列表)
blacklist=" blacklist="
#com.esunbank com.esunbank
com.instagram.barcelona
com.instagram.android
com.facebook.katana
#com.chailease.tw.app.android.ccfappcust" #com.chailease.tw.app.android.ccfappcust"
#位於data的預裝應用白名單 例:相冊 錄音機 天氣 計算器等(默認屏蔽備份預裝應用,如需備份請添加預裝應用白名單) #位於data的預裝應用白名單 例:相冊 錄音機 天氣 計算器等(默認屏蔽備份預裝應用,如需備份請添加預裝應用白名單)

View File

@@ -393,6 +393,9 @@
"2411DRN47R" "Redmi 14C 5G 日本版" "2411DRN47R" "Redmi 14C 5G 日本版"
"2411DRN47C" "Redmi 14R 5G 國行版" "2411DRN47C" "Redmi 14R 5G 國行版"
"2411DRN47I" "Redmi 14C 5G 印度版" "2411DRN47I" "Redmi 14C 5G 印度版"
"25057RN09G" "Redmi 15 5G 國際版"
"25057RN09E" "Redmi 15 5G 歐洲版"
"25057RN09I" "Redmi 15 5G 印度版"
"2014018" "紅米 Note 聯通 3G 標準版" "2014018" "紅米 Note 聯通 3G 標準版"
"2013121" "紅米 Note 聯通 3G 增強版" "2013121" "紅米 Note 聯通 3G 增強版"
"2014017" "紅米 Note 移動 3G 標準版" "2014017" "紅米 Note 移動 3G 標準版"
@@ -559,7 +562,7 @@
"24117RN76L" "Redmi Note 14 拉美版" "24117RN76L" "Redmi Note 14 拉美版"
"24117RN76O" "Redmi Note 14 國際版 (NFC)" "24117RN76O" "Redmi Note 14 國際版 (NFC)"
"24094RAD4C" "Redmi Note 14 5G 國行版" "24094RAD4C" "Redmi Note 14 5G 國行版"
"24094RAD4I" "Redmi Note 14 5G 印度版" "24094RAD4I" "Redmi Note 14 5G 印度版 / Redmi Note 14 SE 5G 印度版"
"24094RAD4G" "Redmi Note 14 5G 國際版" "24094RAD4G" "Redmi Note 14 5G 國際版"
"2502FRA65G" "Redmi Note 14S 國際版" "2502FRA65G" "Redmi Note 14S 國際版"
"24116RACCG" "Redmi Note 14 Pro 國際版" "24116RACCG" "Redmi Note 14 Pro 國際版"
@@ -734,6 +737,7 @@
"2312FPCA6G" "POCO M6 Pro 國際版" "2312FPCA6G" "POCO M6 Pro 國際版"
"23076PC4BI" "POCO M6 Pro 5G 印度版" "23076PC4BI" "POCO M6 Pro 5G 印度版"
"24108PCE2I" "POCO M7 5G 印度版" "24108PCE2I" "POCO M7 5G 印度版"
"25057PC09I" "POCO M7 Plus 5G 印度版"
"2409FPCC4G" "POCO M7 Pro 5G 國際版" "2409FPCC4G" "POCO M7 Pro 5G 國際版"
"M2006C3MI" "POCO C3 印度版" "M2006C3MI" "POCO C3 印度版"
"211033MI" "POCO C31 印度版" "211033MI" "POCO C31 印度版"
@@ -1984,6 +1988,7 @@
"TB128FU" "小新 Pad 2022" "TB128FU" "小新 Pad 2022"
"TB331FC" "小新 Pad 2024" "TB331FC" "小新 Pad 2024"
"TB335FC" "小新平板 11" "TB335FC" "小新平板 11"
"TB335ZC" "小新平板 11 5G"
"TB365FC" "小新平板 12.1" "TB365FC" "小新平板 12.1"
"Lenovo TB-J607F" "小新 Pad Plus" "Lenovo TB-J607F" "小新 Pad Plus"
"Lenovo TB-J607Z" "小新 Pad Plus 5G" "Lenovo TB-J607Z" "小新 Pad Plus 5G"
@@ -2056,19 +2061,21 @@
"TB230XC" "聯想啟天 K11 Gen2 11.5 英寸 LTE 版" "TB230XC" "聯想啟天 K11 Gen2 11.5 英寸 LTE 版"
"TB240FC" "聯想啟天 K12 12.7 英寸 Wi-Fi 版" "TB240FC" "聯想啟天 K12 12.7 英寸 Wi-Fi 版"
"SP523FC" "聯想啟天 SmartPaper 10.3 英寸 Wi-Fi 版" "SP523FC" "聯想啟天 SmartPaper 10.3 英寸 Wi-Fi 版"
"TB305FU" "聯想昭陽 K9 8.7 英寸 Wi-Fi 版" "TB305FU" "聯想昭陽 K9 (二代) 8.7 英寸 Wi-Fi 版"
"TB305XC" "聯想昭陽 K9 8.7 英寸 LTE 版" "TB305XC" "聯想昭陽 K9 (二代) 8.7 英寸 LTE 版"
"TB330FU" "聯想昭陽 K10 10.95 英寸 Wi-Fi 版" "TB330FU" "聯想昭陽 K10 10.95 英寸 Wi-Fi 版"
"TB330XC" "聯想昭陽 K10 10.95 英寸 LTE 版" "TB330XC" "聯想昭陽 K10 10.95 英寸 LTE 版"
"TB311FU" "聯想昭陽 K10c 10.1 英寸 Wi-Fi 版" "TB311FU" "聯想昭陽 K10c 10.1 英寸 Wi-Fi 版"
"TB311XC" "聯想昭陽 K10c 10.1 英寸 LTE 版" "TB311XC" "聯想昭陽 K10c 10.1 英寸 LTE 版"
"TB352FC" "聯想昭陽 K11 11.5 英寸 Wi-Fi 版" "TB352FC" "聯想昭陽 K11 11.5 英寸 Wi-Fi 版"
"TB352XC" "聯想昭陽 K11 11.5 英寸 LTE 版" "TB352XC" "聯想昭陽 K11 11.5 英寸 LTE 版"
"TB336FU" "聯想昭陽 K11 11 英寸 Wi-Fi 版" "TB336FU" "聯想昭陽 K11 (二代) 11 英寸 Wi-Fi 版"
"TB336ZC" "聯想昭陽 K11 11 英寸 5G 版" "TB336ZC" "聯想昭陽 K11 (二代) 11 英寸 5G 版"
"TB337FU" "聯想昭陽 K11c 10.95 英寸 Wi-Fi 版" "TB337FU" "聯想昭陽 K11c 10.95 英寸 Wi-Fi 版"
"TB373FU" "聯想昭陽 K12 (二代) 12.7 英寸 Wi-Fi 版" "TB373FU" "聯想昭陽 K12 (二代) 12.7 英寸 Wi-Fi 版"
"TB373ZC" "聯想昭陽 K12 (二代) 12.7 英寸 5G 版" "TB373ZC" "聯想昭陽 K12 (二代) 12.7 英寸 5G 版"
"TB361FU" "聯想昭陽 K12c 12.1 英寸 Wi-Fi 版"
"TB361ZU" "聯想昭陽 K12c 12.1 英寸 5G 版"
"TB-X802F" "聯想昭陽 G11 10.95 英寸 Wi-Fi 版" "TB-X802F" "聯想昭陽 G11 10.95 英寸 Wi-Fi 版"
"TB-X903F" "聯想昭陽 G12 11.5 英寸 Wi-Fi 版" "TB-X903F" "聯想昭陽 G12 11.5 英寸 Wi-Fi 版"
"TBY11" "聯想昭陽 Y11 10.95 英寸 Wi-Fi 版" "TBY11" "聯想昭陽 Y11 10.95 英寸 Wi-Fi 版"
@@ -2898,6 +2905,8 @@
"RMX3944" "realme P3x 5G" "RMX3944" "realme P3x 5G"
"RMX5032" "realme P3 Pro 5G" "RMX5032" "realme P3 Pro 5G"
"RMX5031" "realme P3 Ultra 5G" "RMX5031" "realme P3 Ultra 5G"
"RMX5110" "realme P4 5G"
"RMX5116" "realme P4 Pro 5G"
"RMX2020" "realme Narzo 10A India" "RMX2020" "realme Narzo 10A India"
"RMX2191" "realme Narzo 20 Global" "RMX2191" "realme Narzo 20 Global"
"RMX2161" "realme Narzo 20 Pro India" "RMX2161" "realme Narzo 20 Pro India"
@@ -3189,6 +3198,7 @@
"V2353A" "iQOO Z9x" "V2353A" "iQOO Z9x"
"V2452A" "iQOO Z10 Turbo" "V2452A" "iQOO Z10 Turbo"
"V2453A" "iQOO Z10 Turbo Pro" "V2453A" "iQOO Z10 Turbo Pro"
"V2507A" "iQOO Z10 Turbo+"
"V2445A" "iQOO Z10x" "V2445A" "iQOO Z10x"
"V2023A" "iQOO U1" "V2023A" "iQOO U1"
"V2065A" "iQOO U1x" "V2065A" "iQOO U1x"
@@ -3416,6 +3426,7 @@
"V2416" "vivo Y300 5G" "V2416" "vivo Y300 5G"
"V2422" "vivo Y300+ 5G" "V2422" "vivo Y300+ 5G"
"V2402" "vivo Y300 Pro 5G" "V2402" "vivo Y300 Pro 5G"
"V2455" "vivo Y400"
"V2506" "vivo Y400 5G" "V2506" "vivo Y400 5G"
"V2439" "vivo Y400 Pro 5G" "V2439" "vivo Y400 Pro 5G"
"I1927" "iQOO 3 4G" "I1927" "iQOO 3 4G"
@@ -3433,7 +3444,7 @@
"I2214" "iQOO Neo7" "I2214" "iQOO Neo7"
"I2217" "iQOO Neo7 Pro" "I2217" "iQOO Neo7 Pro"
"I2304" "iQOO Neo9 Pro" "I2304" "iQOO Neo9 Pro"
"I2405" "iQOO Neo 10" "I2408" "iQOO Neo 10"
"I2221" "iQOO Neo 10R" "I2221" "iQOO Neo 10R"
"I2011" "iQOO Z3 5G" "I2011" "iQOO Z3 5G"
"I2018" "iQOO Z5" "I2018" "iQOO Z5"
@@ -3454,6 +3465,7 @@
"I2407" "iQOO Z10 5G" "I2407" "iQOO Z10 5G"
"I2404" "iQOO Z10x 5G" "I2404" "iQOO Z10x 5G"
"I2409" "iQOO Z10 Lite 5G" "I2409" "iQOO Z10 Lite 5G"
"I2502" "iQOO Z10 Lite"
"I2410" "iQOO Z10R 5G" "I2410" "iQOO Z10R 5G"
"PAFM00" "OPPO Find X 標準版 全網通版" "PAFM00" "OPPO Find X 標準版 全網通版"
"PAFT00" "OPPO Find X 標準版 移動版" "PAFT00" "OPPO Find X 標準版 移動版"

Binary file not shown.

View File

@@ -332,7 +332,7 @@ while read -r file expected_hash; do
done <<< "$(cat <<EOF done <<< "$(cat <<EOF
zstd ab32aecb389c3ba5c1f7ab05d5eb6a861bad80261fd14ef9a8f4c283ac48c22c zstd ab32aecb389c3ba5c1f7ab05d5eb6a861bad80261fd14ef9a8f4c283ac48c22c
tar 3c605b1e9eb8283555225dcad4a3bf1777ae39c5f19a2c8b8943140fd7555814 tar 3c605b1e9eb8283555225dcad4a3bf1777ae39c5f19a2c8b8943140fd7555814
classes.dex 55b19c1a06ec4a1e025817951f87293c17a846602fcda81b0ab70e8249809ddb classes.dex 63934f7d15de40f4b188672e36fe22a01b55abb235becee2c2738f29aaf8299b
bc b15d730591f6fb52af59284b87d939c5bea204f944405a3518224d8df788dc15 bc b15d730591f6fb52af59284b87d939c5bea204f944405a3518224d8df788dc15
busybox 4d60ab3f5a59ebb2ca863f2f514e6924401b581e9b64f602665c008177626651 busybox 4d60ab3f5a59ebb2ca863f2f514e6924401b581e9b64f602665c008177626651
find 7fa812e58aafa29679cf8b50fc617ecf9fec2cfb2e06ea491e0a2d6bf79b903b find 7fa812e58aafa29679cf8b50fc617ecf9fec2cfb2e06ea491e0a2d6bf79b903b
@@ -644,15 +644,19 @@ backup_wifi() {
if [[ -d $1 ]]; then if [[ -d $1 ]]; then
echoRgb "備份wifi密碼" echoRgb "備份wifi密碼"
rm -rf "$1"/* rm -rf "$1"/*
app_process /system/bin com.xayah.dex.NetworkUtil saveNetworks "$1" app_process /system/bin com.xayah.dex.NetworkUtil saveNetworks>"$1/wifi.json"
echo_log "wifi備份" echo_log "wifi備份"
fi fi
} }
recover_wifi() { recover_wifi() {
if [[ -d $1 ]]; then if [[ -d $1 ]]; then
echoRgb "恢復wifi密碼" if [[ -f $1/wifi.json ]]; then
app_process /system/bin com.xayah.dex.NetworkUtil restoreNetworks "$1" echoRgb "恢復wifi密碼"
echo_log "wifi恢復" app_process /system/bin com.xayah.dex.NetworkUtil restoreNetworks "$1/wifi.json"
echo_log "wifi恢復"
else
echoRgb "wifi.json遺失"
fi
else else
echoRgb "$1不存在 wifi無法恢復" "0" echoRgb "$1不存在 wifi無法恢復" "0"
fi fi
@@ -1041,7 +1045,7 @@ Backup_apk() {
apk_version="$(jq -r '.[] | select(.apk_version != null).apk_version' "$app_details")" apk_version="$(jq -r '.[] | select(.apk_version != null).apk_version' "$app_details")"
apk_version2="$(pm list packages --show-versioncode --user "$user" "$name2" 2>/dev/null | cut -f3 -d ':' | head -n 1)" apk_version2="$(pm list packages --show-versioncode --user "$user" "$name2" 2>/dev/null | cut -f3 -d ':' | head -n 1)"
if [[ $apk_version = $apk_version2 ]]; then if [[ $apk_version = $apk_version2 ]]; then
[[ $(sed -e '/^$/d' "$txt2" | cut -d' ' -f2 | awk -v pkg="$name2" '$1 == pkg {print $1}') = "" ]] && echo "${Backup_folder##*/} $name2" >>"$txt2" [[ $(echo "$txt2" | sed -e '/^$/d' | cut -d' ' -f2 | awk -v pkg="$name2" '$1 == pkg {print $1}') = "" ]] && txt2="$txt2\n${Backup_folder##*/} $name2"
unset xb unset xb
let osj++ let osj++
result=0 result=0
@@ -1080,7 +1084,7 @@ Backup_apk() {
if [[ $result = 0 ]]; then if [[ $result = 0 ]]; then
Validation_file "$Backup_folder/apk.tar"* Validation_file "$Backup_folder/apk.tar"*
if [[ $result = 0 ]]; then if [[ $result = 0 ]]; then
[[ $(sed -e '/^$/d' "$txt2" 2>/dev/null | cut -d' ' -f2 | grep -w "^${name2}$" | head -1) = "" ]] && echo "${Backup_folder##*/} $name2" >>"$txt2" [[ $(echo "$txt2" | sed -e '/^$/d' | cut -d' ' -f2 | awk -v pkg="$name2" '$1 == pkg {print $1}') = "" ]] && txt2="$txt2\n${Backup_folder##*/} $name2"
[[ $apk_version != "" ]] && { [[ $apk_version != "" ]] && {
echoRgb "覆蓋app_details" echoRgb "覆蓋app_details"
jq --arg apk_version "$apk_version2" --arg software "$name1" '.[$software].apk_version = $apk_version' "$app_details" > "$TMPDIR/temp.json" && cat "$TMPDIR/temp.json" > "$app_details" && rm "$TMPDIR/temp.json" jq --arg apk_version "$apk_version2" --arg software "$name1" '.[$software].apk_version = $apk_version' "$app_details" > "$TMPDIR/temp.json" && cat "$TMPDIR/temp.json" > "$app_details" && rm "$TMPDIR/temp.json"
@@ -1738,8 +1742,8 @@ Background_application_list() {
Background_application_list debug Background_application_list debug
pkgs="$(pm list packages --user "$user" | cut -f2 -d ':' | awk -v pkg="$(echo "$Backstage" | head -1)" '$1 == pkg {print $1}')" pkgs="$(pm list packages --user "$user" | cut -f2 -d ':' | awk -v pkg="$(echo "$Backstage" | head -1)" '$1 == pkg {print $1}')"
if [[ $pkgs != "" ]]; then if [[ $pkgs != "" ]]; then
echoRgb "後台應用獲取成功" "1" echoRgb "後台應用獲取成功($pkgs)" "1"
[[ $(Process_Information "$pkgs") = "" ]] && echoRgb "應用pid獲取失敗" "0" || echoRgb "應用pid獲取成功" "1" [[ $(Process_Information "$pkgs") = "" ]] && echoRgb "應用pid獲取失敗" "0" || echoRgb "應用pid獲取成功$(Process_Information "$pkgs")" "1"
else else
echoRgb "後台應用獲取失敗" "0" activity=false echoRgb "後台應用獲取失敗" "0" activity=false
fi fi
@@ -1910,7 +1914,7 @@ backup() {
if [[ $(echo "$REPLY" | sed -E 's/^[ \t]*//; /^[ \t]*[#!]/d') != "" ]]; then if [[ $(echo "$REPLY" | sed -E 's/^[ \t]*//; /^[ \t]*[#!]/d') != "" ]]; then
app=($REPLY $REPLY) app=($REPLY $REPLY)
if [[ ${app[1]} != "" && ${app[2]} != "" ]]; then if [[ ${app[1]} != "" && ${app[2]} != "" ]]; then
if [[ $(echo "$Apk_info" | egrep -o "${app[1]}") != "" ]]; then if [[ $(echo "$Apk_info" | awk -v pkg="${app[1]}" '$1 == pkg {print $1}') != "" ]]; then
[[ $Tmplist = "" ]] && Tmplist='#不需要備份的應用請在開頭使用#注釋 比如:#酷安 com.coolapk.market忽略安裝包和數據\n#不需要備份數據的應用請在開頭使用!注釋 比如:!酷安 com.coolapk.market僅忽略數據' [[ $Tmplist = "" ]] && Tmplist='#不需要備份的應用請在開頭使用#注釋 比如:#酷安 com.coolapk.market忽略安裝包和數據\n#不需要備份數據的應用請在開頭使用!注釋 比如:!酷安 com.coolapk.market僅忽略數據'
Tmplist="$Tmplist\n$REPLY" Tmplist="$Tmplist\n$REPLY"
else else
@@ -1957,9 +1961,9 @@ backup() {
[[ $backup_media = false ]] && echoRgb "當前$MODDIR_NAME/backup_settings.conf的\n -backup_media=0將不備份自定義資料夾" "0" [[ $backup_media = false ]] && echoRgb "當前$MODDIR_NAME/backup_settings.conf的\n -backup_media=0將不備份自定義資料夾" "0"
txt2="$Backup/appList.txt" txt2="$Backup/appList.txt"
txt2="${txt2/'/storage/emulated/'/'/data/media/'}" txt2="${txt2/'/storage/emulated/'/'/data/media/'}"
txt_path2="$txt2"
[[ ! -f $txt2 ]] && echo "#不需要恢復還原的應用請在開頭使用#注釋 比如:#酷安 com.coolapk.market">"$txt2" [[ ! -f $txt2 ]] && echo "#不需要恢復還原的應用請在開頭使用#注釋 比如:#酷安 com.coolapk.market">"$txt2"
cat "$txt2">"$TMPDIR/txt2" txt2="$(cat "$txt2")"
txt2="$TMPDIR/txt2"
[[ ! -d $Backup/tools ]] && cp -r "$tools_path" "$Backup" [[ ! -d $Backup/tools ]] && cp -r "$tools_path" "$Backup"
[[ ! -f $Backup/start.sh ]] && touch_shell "2" "$Backup/start.sh" [[ ! -f $Backup/start.sh ]] && touch_shell "2" "$Backup/start.sh"
[[ ! -f $Backup/restore_settings.conf ]] && update_Restore_settings_conf>"$Backup/restore_settings.conf" [[ ! -f $Backup/restore_settings.conf ]] && update_Restore_settings_conf>"$Backup/restore_settings.conf"
@@ -2110,9 +2114,8 @@ backup() {
add_app2="${add_app2:="暫無更新"}" add_app2="${add_app2:="暫無更新"}"
echoRgb "\n -已更新的apk=\"$osn\"\n -已新增的備份=\"$osk\"\n -apk版本號無變化=\"$osj\"\n -下列為版本號已變更的應用\n$update_apk2\n -新增的備份....\n$add_app2\n -包含SSAID的應用\n$SSAID_apk2" "3" echoRgb "\n -已更新的apk=\"$osn\"\n -已新增的備份=\"$osk\"\n -apk版本號無變化=\"$osj\"\n -下列為版本號已變更的應用\n$update_apk2\n -新增的備份....\n$add_app2\n -包含SSAID的應用\n$SSAID_apk2" "3"
notification "101" "app備份完成 $(endtime 1 "應用備份" "3")" notification "101" "app備份完成 $(endtime 1 "應用備份" "3")"
[[ -e $txt2 ]] && { [[ $txt2 != "" ]] && {
sort "$txt2" | sed '/^$/d' >"${txt2}.tmp" && mv "${txt2}.tmp" "$txt2" echo "$txt2" | sort | sed '/^$/d'>"$txt_path2"
cat "$txt2">"$Backup/appList.txt" && rm -rf "$txt2"
} }
if [[ $backup_media = true && ! -f ${0%/*}/app_details.json ]]; then if [[ $backup_media = true && ! -f ${0%/*}/app_details.json ]]; then
A=1 A=1
@@ -2170,7 +2173,7 @@ backup() {
endtime 1 "批量備份開始到結束" endtime 1 "批量備份開始到結束"
notification "105" "備份完成 $(endtime 1 "批量備份開始到結束")" notification "105" "備份完成 $(endtime 1 "批量備份開始到結束")"
[[ -f $txt_path ]] && chown "$(stat -c '%u:%g' '/data/media/0/Download')" "$txt_path" [[ -f $txt_path ]] && chown "$(stat -c '%u:%g' '/data/media/0/Download')" "$txt_path"
chown "$(stat -c '%u:%g' '/data/media/0/Download')" "$Backup/appList.txt" [[ -f $txt_path2 ]] && chown "$(stat -c '%u:%g' '/data/media/0/Download')" "$txt_path2"
exit exit
} }
backup_update_apk() { backup_update_apk() {
@@ -2285,7 +2288,7 @@ Restore() {
if [[ $(echo "$REPLY" | sed 's/^[ \t]*//') != \#* ]]; then if [[ $(echo "$REPLY" | sed 's/^[ \t]*//') != \#* ]]; then
app=($REPLY $REPLY) app=($REPLY $REPLY)
if [[ ${app[1]} != "" && ${app[2]} != "" ]]; then if [[ ${app[1]} != "" && ${app[2]} != "" ]]; then
[[ $(echo "$Apk_info" | grep -Fx "${app[1]}") = "" ]] && Tmplist="$Tmplist\n$REPLY" [[ $(echo "$Apk_info" | awk -v pkg="${app[1]}" '$1 == pkg {print $1}') = "" ]] && Tmplist="$Tmplist\n$REPLY"
fi fi
fi fi
done < "$txt" done < "$txt"
@@ -2652,7 +2655,7 @@ Getlist() {
if [[ $(echo "$REPLY" | sed -E 's/^[ \t]*//; /^[ \t]*[#!]/d') != "" ]]; then if [[ $(echo "$REPLY" | sed -E 's/^[ \t]*//; /^[ \t]*[#!]/d') != "" ]]; then
app=($REPLY $REPLY) app=($REPLY $REPLY)
if [[ ${app[1]} != "" && ${app[2]} != "" ]]; then if [[ ${app[1]} != "" && ${app[2]} != "" ]]; then
if [[ $(echo "$Apk_info2" | egrep -o "${app[1]}") != "" ]]; then if [[ $(echo "$Apk_info2" | awk -v pkg="${app[1]}" '$1 == pkg {print $1}') != "" ]]; then
[[ $Tmplist = "" ]] && Tmplist='#不需要備份的應用請在開頭使用#注釋 比如:#酷安 com.coolapk.market忽略安裝包和數據\n#不需要備份數據的應用請在開頭使用!注釋 比如:!酷安 com.coolapk.market僅忽略數據' [[ $Tmplist = "" ]] && Tmplist='#不需要備份的應用請在開頭使用#注釋 比如:#酷安 com.coolapk.market忽略安裝包和數據\n#不需要備份數據的應用請在開頭使用!注釋 比如:!酷安 com.coolapk.market僅忽略數據'
Tmplist="$Tmplist\n$REPLY" Tmplist="$Tmplist\n$REPLY"
else else