feat: 權限預掃/JSON驗證/遠端比對/互動統一及多項修復
功能新增: - ask_yn helper 統一 Lo=0/1/2 互動邏輯 - prepare_permissions_map 備份前預掃 runtime permissions,取代逐 app fork dex - 備份完成後自動驗證本次變動應用的 JSON 結構 - remote_list_backups 加入本地/遠端差異比對,支援直接補上傳/補下載 - show_conf/remote_conf_line 各功能執行前顯示對應 conf - get_backup_dirname/per_app_upload_and_cleanup 邏輯抽成獨立函數 邏輯修復: - Backup_Permissions/Backup_ssaid 移出 size 判斷,size 無變化時也偵測變更 - 權限變更列出具體項目 (permName: false→true) - .changed_apps 去重從 grep -qFx 改為 awk /data/data/com.termux/files/usr/bin/push==n,避免特殊字元誤判 - 僅上傳變更應用訊息加 remote_type 守衛,未設遠端時不顯示 - 遠端斷線保存 _remote_type_orig,支援中途開 WiFi 後重連 - 遠端缺檔本地無變化時免重壓直接上傳 - Lo=2 恢復未安裝應用選項順序顛倒 bug - Lo=2 更新腳本誤設 update 變數(應為 choose)bug - Media 備份無內容不留空殼 - 全腳本去除 bc 依賴改用 awk 其他: - 單獨備份模式只預掃該 app 權限 - 頂部加區塊索引,各分區加分隔標題 - 縮排統一為 Tab - 掛載路徑顯示從 mount:[...] 改為 └─ 掛載於:
This commit is contained in:
@@ -158,7 +158,11 @@
|
||||
"2512BPNDAI" "Xiaomi 17 Ultra 印度版"
|
||||
"25128PNA1C" "Xiaomi 17 Ultra by Leica 國行版 (衛星通訊)"
|
||||
"25128PNA1G" "Leica Leitzphone powered by Xiaomi 國際版"
|
||||
"2605EPN8EC" "Xiaomi 17 Max"
|
||||
"M531DA" "Xiaomi 17T 國行版"
|
||||
"2602DPT53G" "Xiaomi 17T 國際版"
|
||||
"2602DPT53I" "Xiaomi 17T 印度版"
|
||||
"M025EC" "Xiaomi 17T Pro 國行版"
|
||||
"2602EPTC0G" "Xiaomi 17T Pro 國際版"
|
||||
"2602EPTC0R" "Xiaomi 17T Pro 日本版 (無鎖)"
|
||||
"2014616" "小米 Note 雙網通版"
|
||||
@@ -634,7 +638,8 @@
|
||||
"24069RA21C" "Redmi Turbo 3"
|
||||
"24129RT7CC" "REDMI Turbo 4"
|
||||
"25053RT47C" "REDMI Turbo 4 Pro"
|
||||
"2511FRT34C" "REDMI Turbo 5"
|
||||
"2511FRT34C" "REDMI Turbo 5 國行版"
|
||||
"2606FRT34I" "REDMI Turbo 5 印度版"
|
||||
"2602BRT18C" "REDMI Turbo 5 Max"
|
||||
"M1903F10A" "Redmi K20 全網通版"
|
||||
"M1903F10C" "Redmi K20 運營商全網通版"
|
||||
@@ -851,7 +856,7 @@
|
||||
"2410FPCC5G" "POCO C75 國際版"
|
||||
"2410FPCC5I" "POCO C75 印度版"
|
||||
"24116PCC1I" "POCO C75 5G 印度版"
|
||||
"25128PC17G" "POCO C81 Pro 國際版"
|
||||
"25128PC17Y" "POCO C81 Pro 國際版"
|
||||
"25128PC17L" "POCO C81 Pro 拉美版"
|
||||
"25128PC17I" "POCO C81 印度版"
|
||||
"26020PCB4I" "POCO C81x 印度版"
|
||||
@@ -863,11 +868,12 @@
|
||||
"24074PCD2I" "POCO Pad 5G 印度版"
|
||||
"25099RP08G" "POCO Pad X1 國際版"
|
||||
"2509ARPBDG" "POCO Pad M1 國際版"
|
||||
"2603APC14G" "POCO Pad C1 國際版"
|
||||
"FYJ01QP" "小米米家翻譯機"
|
||||
"21051191C" "CyberDog 仿生四足機器人"
|
||||
"2405AVPB7C" "小米澎湃智能座艙 (第一代 SU7/SU7 Ultra)"
|
||||
"25033VP3FC" "小米澎湃智能座艙 (YU7/新一代 SU7)"
|
||||
"2503CVPC6C" "Xiaomi YU7 後排移動控制屏"
|
||||
"2503CVPC6C" "小米汽車後排移動控制屏"
|
||||
"MI-ONE" "Mi 1 Lite"
|
||||
"2109119BC" "Xiaomi Civi China"
|
||||
"2109119BC" "Xiaomi Civi 1S China"
|
||||
@@ -2899,6 +2905,7 @@
|
||||
"RMX5171" "realme 16 5G"
|
||||
"RMX5120" "realme 16 Pro 5G"
|
||||
"RMX5131" "realme 16 Pro+ 5G"
|
||||
"RMX5268" "realme 16T 5G"
|
||||
"RMX1921" "realme XT Global"
|
||||
"RMX1922" "realme XT India"
|
||||
"RMX1992" "realme X2 India"
|
||||
@@ -3128,6 +3135,8 @@
|
||||
"V2465A" "vivo S30 Pro mini"
|
||||
"V2528A" "vivo S50 / vivo S50t"
|
||||
"V2527A" "vivo S50 Pro mini"
|
||||
"V2571A" "vivo S60"
|
||||
"V2572A" "vivo S60 元氣版"
|
||||
"V1901A" "vivo Y3 全網通版"
|
||||
"V1901T" "vivo Y3 移動全網通版"
|
||||
"V1930A" "vivo Y3 標準版 全網通版"
|
||||
@@ -3173,6 +3182,7 @@
|
||||
"V2164A" "vivo Y55s 5G"
|
||||
"V2559A" "vivo Y60 5G / vivo Y6t 5G"
|
||||
"V2559BA" "vivo Y60m 5G"
|
||||
"V2532BA" "vivo Y6m"
|
||||
"V1731CA" "vivo Y71s"
|
||||
"V2102A" "vivo Y71t 5G"
|
||||
"V2164PA" "vivo Y73t 5G"
|
||||
@@ -3209,6 +3219,7 @@
|
||||
"V2516A" "vivo Y500 Pro"
|
||||
"V2531A" "vivo Y500i / vivo Y500s / vivo Y6"
|
||||
"V2561A" "vivo Y600 Pro"
|
||||
"V2553A" "vivo Y600 Turbo"
|
||||
"V2115A" "vivo T1"
|
||||
"V2199GA" "vivo T2"
|
||||
"V2188A" "vivo T2x"
|
||||
@@ -3416,7 +3427,6 @@
|
||||
"V2418" "vivo V40 Lite 5G Indonesia"
|
||||
"V2337" "vivo V40 SE 5G"
|
||||
"V2451" "vivo V50"
|
||||
"V2504" "vivo V50 Pro"
|
||||
"V2428" "vivo V50e"
|
||||
"V2441" "vivo V50 Lite"
|
||||
"V2453" "vivo V50 Lite 5G"
|
||||
@@ -3427,6 +3437,7 @@
|
||||
"V2540" "vivo V70"
|
||||
"V2548" "vivo V70 Elite"
|
||||
"V2558" "vivo V70 FE"
|
||||
"V2637" "vivo V70 Lite 5G"
|
||||
"vivo 1920_20" "vivo S1 Pro"
|
||||
"V2168" "vivo T1"
|
||||
"V2157" "vivo T1 5G"
|
||||
@@ -3446,6 +3457,7 @@
|
||||
"V2509" "vivo T4 Lite 5G"
|
||||
"V2518" "vivo T4R 5G"
|
||||
"V2510" "vivo T4 Pro"
|
||||
"V2504" "vivo T4 Ultra"
|
||||
"V2568" "vivo T5 Pro"
|
||||
"V2545" "vivo T5x 5G"
|
||||
"V2603" "vivo T5 Lite 5G"
|
||||
@@ -3527,7 +3539,8 @@
|
||||
"V2036_21" "vivo Y31"
|
||||
"V2521" "vivo Y31 5G"
|
||||
"V2534" "vivo Y31 Pro 5G"
|
||||
"V2611" "vivo Y31d"
|
||||
"V2636" "vivo Y31d"
|
||||
"V2543" "vivo Y31d Pro"
|
||||
"V2533" "vivo Y31e 5G"
|
||||
"V2057" "vivo Y33"
|
||||
"V2109-EG" "vivo Y33A"
|
||||
@@ -3718,6 +3731,8 @@
|
||||
"PLW110" "OPPO Reno15"
|
||||
"PLV110" "OPPO Reno15 Pro"
|
||||
"PMD110" "OPPO Reno15c"
|
||||
"PMM110" "OPPO Reno16"
|
||||
"PMK110" "OPPO Reno16 Pro"
|
||||
"PCLM10" "OPPO Reno Ace"
|
||||
"PDHM00" "OPPO Ace2"
|
||||
"PACM00" "OPPO R15 全網通版"
|
||||
@@ -3802,7 +3817,7 @@
|
||||
"PLT120" "OPPO A6s / OPPO A6i+ / OPPO A6k"
|
||||
"PMT110" "OPPO A6s Pro"
|
||||
"PLT130" "OPPO A6v"
|
||||
"PLT140" "OPPO A6x"
|
||||
"PLT140" "OPPO A6x / OPPO A6m"
|
||||
"PMC110" "OPPO A6c"
|
||||
"PBCM30" "OPPO K1"
|
||||
"PCGM00" "OPPO K3 全網通版"
|
||||
@@ -3839,6 +3854,7 @@
|
||||
"OPD2501" "OPPO Pad Air5"
|
||||
"OPD2511" "OPPO Pad 5 Pro"
|
||||
"OPD2515" "OPPO Pad Mini"
|
||||
"OPD2601" "OPPO Pad 6"
|
||||
"OB19O1" "OPPO Band 運動版"
|
||||
"OB19O3" "OPPO Band 運動版 (國際版)"
|
||||
"OB19O7" "OPPO Band 活力版"
|
||||
|
||||
3972
tools/tools.sh
3972
tools/tools.sh
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user