From 42a7c2b63846a50d808961bd2ceaadeb08dbad65 Mon Sep 17 00:00:00 2001 From: YAWAsau <229953100a@gmail.com> Date: Sat, 23 Oct 2021 11:26:33 +0800 Subject: [PATCH] bug fix --- tools/bin/bin.sh | 10 ++++++++-- tools/script/restore | 15 +++------------ tools/script/restore2 | 3 +-- tools/script/restore3 | 2 +- 備份應用.sh | 13 +++---------- 5 files changed, 16 insertions(+), 27 deletions(-) diff --git a/tools/bin/bin.sh b/tools/bin/bin.sh index c2ca563..df7f8a0 100644 --- a/tools/bin/bin.sh +++ b/tools/bin/bin.sh @@ -85,6 +85,7 @@ if [[ ! -f $busybox ]]; then fi export PATH="$filepath:$PATH" export TZ=Asia/Taipei +TMPDIR="/data/local/tmp" Open_apps="$(dumpsys window | grep -w mCurrentFocus | egrep -oh "[^ ]*/[^//}]+" | cut -f 1 -d "/")" #下列為自定義函數 Set_back() { @@ -147,5 +148,10 @@ isBoolean() { fi } bn=147 -echoRgb "\n --------------歡迎使用⚡️🤟🐂纸備份--------------\n -當前腳本執行路徑:$MODDIR\n -busybox版本:$(busybox | head -1 | awk '{print $2}')\n -appinfo版本:$(appinfo --version)\n -腳本版本:$backup_version\n -設備架構$abi\n -品牌:$(getprop ro.product.brand)\n -設備代號:$(getprop ro.product.device)\n -型號:$(getprop ro.product.model)\n -Android版本:$(getprop ro.build.version.release)\n -SDK:$(getprop ro.build.version.sdk)\n -終端:$( -o ands -pn "$Open_apps" 2>/dev/null)" -bn=195 \ No newline at end of file +echoRgb "\n --------------歡迎使用⚡️🤟🐂纸備份--------------\n -當前腳本執行路徑:$MODDIR\n -busybox版本:$(busybox | head -1 | awk '{print $2}')\n -appinfo版本:$(appinfo --version)\n -腳本版本:$backup_version\n -設備架構$abi\n -品牌:$(getprop ro.product.brand)\n -設備代號:$(getprop ro.product.device)\n -型號:$(getprop ro.product.model)\n -Android版本:$(getprop ro.build.version.release)\n -SDK:$(getprop ro.build.version.sdk)\n -終端:$(appinfo -o ands -pn "$Open_apps" 2>/dev/null)" +bn=195 +if [[ $(pm path ice.message) = "" ]]; then + echoRgb "未安裝toast 開始安裝" "0" + cp -r "${bin_path%/*}/apk"/*.apk "$TMPDIR" && pm install --user 0 -r "$TMPDIR"/*.apk &>/dev/null && rm -rf "$TMPDIR"/* + [[ $? = 0 ]] && echoRgb "安裝toast成功" "1" || echoRgb "安裝toast失敗" "0" +fi \ No newline at end of file diff --git a/tools/script/restore b/tools/script/restore index e5205e4..37d0f8e 100644 --- a/tools/script/restore +++ b/tools/script/restore @@ -1,24 +1,18 @@ #!/system/bin/sh MODDIR="${0%/*}" -bin_path="$MODDIR/bin" +bin_path="$MODDIR/tools/bin" [[ ! -d $bin_path ]] && echo "$bin_path目錄遺失" && exit 1 . "$bin_path/bin.sh" path="/data/media/0/Android" path2="/data/data" -TMPDIR="/data/local/tmp" [[ ! -d $TMPDIR ]] && mkdir "$TMPDIR" [[ ! -d $path2 ]] && echoRgb "設備不存在user目錄" "0" && exit 1 -[[ ! -d $bin_path/apk ]] && echo "$bin_path/apk目錄遺失" && exit 1 +[[ ! -d ${bin_path%/*}/apk ]] && echo "${bin_path%/*}/apk目錄遺失" && exit 1 i=1 txt="$MODDIR/應用列表.txt" [[ ! -f $txt ]] && echoRgb "請執行\"掃描資料夾名.sh\"獲取應用列表再來恢復" "0" && exit 2 r="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')" [[ $r = "" ]] && echoRgb "應用列表.txt包名為空或是被注釋了" "0" && exit 1 -if [[ $(pm path ice.message) = "" ]]; then - echoRgb "未安裝toast 開始安裝" "0" - cp -r "$bin_path/apk"/*.apk "$TMPDIR" && pm install --user 0 -r "$TMPDIR"/*.apk >/dev/null 2>&1 && rm -rf "$TMPDIR"/* - [[ $? = 0 ]] && echoRgb "安裝toast成功" "1" || echoRgb "安裝toast失敗" "0" -fi #顯示執行結果 echo_log() { if [[ $? = 0 ]]; then @@ -173,10 +167,7 @@ while [[ $i -le $r ]]; do fi fi fi - if [[ $ERROR -ge 5 ]]; then - echoRgb "錯誤次數達到上限 環境已重設" "0" && rm -rf "$filepath" - echoRgb "請重新執行腳本" "0" && exit - fi + [[ $ERROR -ge 5 ]] && (echoRgb "錯誤次數達到上限 環境已重設\n -請重新執行腳本" "0" && rm -rf "$filepath" && exit) let i++ done starttime1="$TIME" diff --git a/tools/script/restore2 b/tools/script/restore2 index 88d9360..5a3c288 100644 --- a/tools/script/restore2 +++ b/tools/script/restore2 @@ -1,11 +1,10 @@ #!/system/bin/sh MODDIR="${0%/*}" -bin_path="${MODDIR%/*}/bin" +bin_path="${MODDIR%/*}/tools/bin" [[ ! -d $bin_path ]] && echo "$bin_path目錄遺失" && exit 1 . "$bin_path/bin.sh" path="/data/media/0/Android" path2="/data/data" -TMPDIR="/data/local/tmp" [[ ! -d $TMPDIR ]] && mkdir "$TMPDIR" [[ ! -d $path2 ]] && echoRgb "設備不存在user目錄" "0" && exit 1 #記錄開始時間 diff --git a/tools/script/restore3 b/tools/script/restore3 index d4aa7ea..a025904 100644 --- a/tools/script/restore3 +++ b/tools/script/restore3 @@ -1,6 +1,6 @@ #!/system/bin/sh MODDIR="${0%/*}" -bin_path="${MODDIR%/*}/bin" +bin_path="${MODDIR%/*}/tools/bin" [[ ! -d $bin_path ]] && echo "$bin_path目錄遺失" && exit 1 . "$bin_path/bin.sh" #記錄開始時間 diff --git a/備份應用.sh b/備份應用.sh index 3b74e97..ead13da 100644 --- a/備份應用.sh +++ b/備份應用.sh @@ -42,7 +42,6 @@ i=1 #數據目錄 path="/data/media/0/Android" path2="/data/user/0" -TMPDIR="/data/local/tmp" [[ ! -d $TMPDIR ]] && mkdir "$TMPDIR" if [[ $path3 = true ]]; then Backup="$PWD/Backup_$Compression_method" @@ -57,11 +56,6 @@ r="$(cat "$txt" | grep -v "#" | sed -e '/^$/d' | sed -n '$=')" [[ $r = "" ]] && echoRgb "爬..應用列表.txt是空的或是包名被注釋了這樣備份個鬼" "0" && exit 1 data=/data hx="本地" -if [[ $(pm path ice.message) = "" ]]; then - echoRgb "未安裝toast 開始安裝" "0" - cp -r "$tools_path/apk"/*.apk "$TMPDIR" && pm install --user 0 -r "$TMPDIR"/*.apk &>/dev/null && rm -rf "$TMPDIR"/* - [[ $? = 0 ]] && echoRgb "安裝toast成功" "1" || echoRgb "安裝toast失敗" "0" -fi echoRgb "-壓縮方式:$Compression_method" echoRgb "-提示 腳本支持後台壓縮 可以直接離開腳本\n -或是關閉終端也能備份 如需終止腳本\n -請再次執行$script即可停止\n -備份結束將發送toast提示語" "2" if [[ $PU != "" ]]; then @@ -83,7 +77,7 @@ fi [[ $Hybrid_backup = true ]] && echoRgb "當前backup_settings.conf的\n -Hybrid_backup為1將不備份任何應用" "0" [[ ! -d $Backup ]] && mkdir -p "$Backup" [[ ! -f $Backup/應用列表.txt ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安" >"$Backup/應用列表.txt" -[[ ! -d $Backup/tools ]] && cp -r "$bin_path" "$Backup" && cp -r "$tools_path/apk" "$Backup/bin" && rm -rf "$Backup/bin/toast" "$Backup/bin/zip" +[[ ! -d $Backup/tools ]] && cp -r "$tools_path" "$Backup" && rm -rf "$Backup/tools/bin/zip" "$Backup/tools/META-INF" "$Backup/tools/script" [[ ! -f $Backup/還原備份.sh ]] && cp -r "$script_path/restore" "$Backup/還原備份.sh" [[ ! -f $Backup/掃描資料夾名.sh ]] && cp -r "$script_path/Get_DirName" "$Backup/掃描資料夾名.sh" filesize="$(du -ks "$Backup" | awk '{print $1}')" @@ -137,14 +131,13 @@ Backup_apk() { 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)" - echoRgb "刪除文件:${OldFile%/*/*}" - rm -rf "${OldFile%/*/*}" + 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 fi - [[ $name = bin.mt.plus && -f $apk_path && ! -f $Backup/$name2.apk ]] && cp -r "$apk_path" "$Backup/$name2.apk" + [[ $name = bin.mt.plus && ! -f $Backup/$name2.apk ]] && cp -r "$apk_path" "$Backup/$name2.apk" unset ChineseName PackageName ; D=1 } #檢測數據位置進行備份