From 2fe35e5a35eca98244e72f341488d4663e00e4ba Mon Sep 17 00:00:00 2001 From: Yawasau <229953100a@gmail.com> Date: Tue, 31 Mar 2026 08:08:28 +0800 Subject: [PATCH] bugfix --- tools/Device_List | 40 +++++++++++++++++++----- tools/soc.json | 54 ++++++++++++++++++++++++++++++-- tools/tools.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 158 insertions(+), 15 deletions(-) diff --git a/tools/Device_List b/tools/Device_List index 4cd8d41..0adc37b 100644 --- a/tools/Device_List +++ b/tools/Device_List @@ -2420,15 +2420,18 @@ "Z2461" "nubia Neo 3" "Z2464N" "nubia Neo 3 5G" "Z2465N" "nubia Neo 3 GT 5G" +"Z2570N" "nubia Neo 5 GT 5G" "Z2353" "nubia Music" "Z2460" "nubia Music 2 / nubia Music Pro" "Z2455" "nubia Focus" "Z2462N" "nubia Focus 2 5G" "Z2463N" "nubia Focus 2 Ultra 5G" +"A502ZT" "nubia Fold SoftBank" "Z2468N" "nubia Air" "Z2473" "nubia A56" "Z6255CA" "nubia A75" "Z6657CA" "nubia A76" +"Z2469N" "nubia A76 5G" "nubia 8550" "nubia V50 Vita" "Z2356" "nubia V60" "Z2350" "nubia V60 Design" @@ -2589,6 +2592,7 @@ "CPH2767" "一加 15R 印度版" "CPH2769" "一加 15R 歐洲版 / 國際版" "CPH2771" "一加 15R 北美版" +"PLZ110" "一加 15T 國行版" "PLU110" "一加 Turbo 6 國行版" "PLY110" "一加 Turbo 6V 國行版" "AC2001" "一加 Nord 印度版" @@ -2825,8 +2829,8 @@ "RMX3392" "realme 9 Pro+ 5G India" "RMX3393" "realme 9 Pro+ 5G Global" "RMX3630" "realme 10" -"RMX3660" "realme 10 Pro 5G India" -"RMX3661" "realme 10 Pro 5G Global" +"RMX3660" "realme 10 Pro 5G India / realme 10 Pro 5G Coca-Cola® Edition" +"RMX3661" "realme 10 Pro 5G Global / realme 10 Pro 5G Coca-Cola® Edition" "RMX3686" "realme 10 Pro+ 5G" "RMX3636" "realme 11" "RMX3780" "realme 11 5G" @@ -2853,7 +2857,7 @@ "RMX5051" "realme 14 Pro+ 5G India" "RMX5054" "realme 14 Pro+ 5G Global" "RMX5106" "realme 15 5G" -"RMX5101" "realme 15 Pro 5G" +"RMX5101" "realme 15 Pro 5G / realme 15 Pro 5G Game of Thrones Limited Edition" "RMX5111" "realme 15T 5G" "RMX5250" "realme 15x 5G" "RMX5171" "realme 16 5G" @@ -2876,12 +2880,14 @@ "RMX3561" "realme GT NEO 3" "RMX3563" "realme GT NEO 3 150W" "RMX3371" "realme GT NEO 3T" +"RMX3701" "realme GT Neo5 SE" "RMX3709" "realme GT 3 240W" "RMX3851" "realme GT 6" "RMX3853" "realme GT 6T" -"RMX5061" "realme GT 7" +"RMX5061" "realme GT 7 / realme GT 7 Dream Edition" "RMX5085" "realme GT 7T" "RMX5011" "realme GT 7 Pro" +"RMX5210" "realme GT 8 Pro / realme GT 8 Pro Dream Edition" "RMX1946" "realme C2" "RMX2022" "realme C3 Global" "RMX2027" "realme C3 India" @@ -2941,6 +2947,7 @@ "RMX5116" "realme P4 Pro 5G" "RMX5108" "realme P4x 5G" "RMX5107" "realme P4 Power 5G" +"RMX5261" "realme P4 Lite 5G" "RMX2020" "realme Narzo 10A India" "RMX2191" "realme Narzo 20 Global" "RMX2161" "realme Narzo 20 Pro India" @@ -3041,6 +3048,9 @@ "V2509A" "vivo X300" "V2502A" "vivo X300 Pro" "V2502DA" "vivo X300 Pro 衛星通信版" +"V2548A" "vivo X300s" +"V2547A" "vivo X300 Ultra" +"V2547DA" "vivo X300 Ultra 衛星通信版" "V1831A" "vivo S1 全網通版" "V1831T" "vivo S1 移動全網通版" "V1832A" "vivo S1 Pro 全網通版" @@ -3122,6 +3132,8 @@ "V2123A" "vivo Y53s (t2 版) 5G" "V2045A" "vivo Y54s 5G" "V2164A" "vivo Y55s 5G" +"V2559A" "vivo Y60 5G" +"V2559BA" "vivo Y60m 5G" "V1731CA" "vivo Y71s" "V2102A" "vivo Y71t 5G" "V2164PA" "vivo Y73t 5G" @@ -3156,7 +3168,7 @@ "V2452GA" "vivo Y300 GT" "V2506A" "vivo Y500" "V2516A" "vivo Y500 Pro" -"V2531A" "vivo Y500i" +"V2531A" "vivo Y500i / vivo Y500s" "V2115A" "vivo T1" "V2199GA" "vivo T2" "V2188A" "vivo T2x" @@ -3249,6 +3261,8 @@ "V2507A" "iQOO Z10 Turbo+" "V2445A" "iQOO Z10x" "V2536A" "iQOO Z11 Turbo" +"V2551A" "iQOO Z11" +"V2532A" "iQOO Z11x" "V2023A" "iQOO U1" "V2065A" "iQOO U1x" "V2061A" "iQOO U3 5G" @@ -3266,6 +3280,7 @@ "PA2573" "vivo Pad5 Pro" "PA2535" "vivo Pad5e" "PA2511" "vivo Pad SE" +"PA2671" "vivo Pad6 Pro" "iPA2375" "iQOO Pad" "iPA2451" "iQOO Pad Air" "iPA2453" "iQOO Pad2" @@ -3273,6 +3288,7 @@ "iPA2556" "iQOO Pad5" "iPA2575" "iQOO Pad5 Pro" "iPA2537" "iQOO Pad5e" +"iPA2673" "iQOO Pad6 Pro" "WA2052" "vivo WATCH 42mm" "WA2056" "vivo WATCH 46mm" "WA2156A" "vivo WATCH 2 eSIM 版" @@ -3388,6 +3404,8 @@ "V2509" "vivo T4 Lite 5G" "V2518" "vivo T4R 5G" "V2510" "vivo T4 Pro" +"V2568" "vivo T5 Pro" +"V2545" "vivo T5x 5G" "vivo 2015_21" "vivo Y1s" "V2044" "vivo Y3s" "vivo 1902" "vivo Y5" @@ -3546,6 +3564,7 @@ "I2502" "iQOO Z10 Lite" "I2410" "iQOO Z10R 5G India" "I2505" "iQOO Z10R 5G Global" +"I2512" "iQOO Z11 5G" "I2507" "iQOO Z11x 5G" "V2427" "JOVI V50" "V2440" "JOVI V50 Lite 5G" @@ -3581,6 +3600,9 @@ "PLJ110" "OPPO Find X9" "PLG110" "OPPO Find X9 Pro" "PLG120" "OPPO Find X9 Pro 衛星通信版" +"PME110" "OPPO Find X9s Pro" +"PMA110" "OPPO Find X9 Ultra" +"PMA120" "OPPO Find X9 Ultra 衛星通信版" "PEUM00" "OPPO Find N" "PGU110" "OPPO Find N2" "PGT110" "OPPO Find N2 Flip" @@ -3588,6 +3610,8 @@ "PHT110" "OPPO Find N3 Flip" "PKH110" "OPPO Find N5" "PKH120" "OPPO Find N5 衛星通信版" +"PLP110" "OPPO Find N6" +"PLP120" "OPPO Find N6 衛星通信版" "PCAM00" "OPPO Reno 全網通版" "PCAT00" "OPPO Reno 移動版" "PCCM00" "OPPO Reno 10 倍變焦版 全網通版" @@ -3723,8 +3747,9 @@ "PLL110" "OPPO A6 GT / OPPO A6 Max / OPPO A6l" "PLN110" "OPPO A6 Pro" "PKW120" "OPPO A6i" -"PLT120" "OPPO A6s / OPPO A6i+" +"PLT120" "OPPO A6s / OPPO A6i+ / OPPO A6k" "PLT130" "OPPO A6v" +"PLT140" "OPPO A6x" "PMC110" "OPPO A6c" "PBCM30" "OPPO K1" "PCGM00" "OPPO K3 全網通版" @@ -3808,6 +3833,7 @@ "CPH2499" "OPPO Find N3" "CPH2519" "OPPO Find N3 Flip" "CPH2671" "OPPO Find N5" +"CPH2765" "OPPO Find N6" "CPH1917" "OPPO Reno" "CPH1921" "OPPO Reno 5G" "CPH1919" "OPPO Reno 10x Zoom" @@ -3872,7 +3898,7 @@ "CPH2825" "OPPO Reno15 5G" "CPH2813" "OPPO Reno15 Pro 5G / OPPO Reno15 Pro Mini 5G" "CPH2811" "OPPO Reno15 Pro 5G / OPPO Reno15 Pro Max 5G" -"CPH2801" "OPPO Reno15 F 5G / OPPO Reno15 FS 5G / OPPO Reno15 C 5G / OPPO Reno15 A" +"CPH2801" "OPPO Reno15 F 5G / OPPO Reno15 FS 5G / OPPO Reno15c 5G / OPPO Reno15 A" "CPH1821" "OPPO F7" "CPH1859" "OPPO F7 Youth" "CPH1881" "OPPO F9" diff --git a/tools/soc.json b/tools/soc.json index 6a690e9..1eb8980 100644 --- a/tools/soc.json +++ b/tools/soc.json @@ -1,6 +1,7 @@ { "O1_asic": {"VENDOR":"Xiaomi","NAME":"XRING O1","MEMORY":"","CHANNELS":""}, "T1_asic": {"VENDOR":"Xiaomi","NAME":"XRING T1","MEMORY":"","CHANNELS":""}, + "Tensor G6": {"VENDOR":"Google","NAME":"Tensor G6","MEMORY":"","CHANNELS":""}, "Tensor G5": {"VENDOR":"Google","NAME":"Tensor G5","MEMORY":"","CHANNELS":""}, "gs301": {"VENDOR":"Google","NAME":"Tensor G3","MEMORY":"","CHANNELS":""}, "GS301": {"VENDOR":"Google","NAME":"Tensor G3","MEMORY":"","CHANNELS":""}, @@ -14,6 +15,10 @@ "Tensor G2": {"VENDOR":"Google","NAME":"Tensor G2","MEMORY":"","CHANNELS":""}, "Tensor 2": {"VENDOR":"Google","NAME":"Tensor G2","MEMORY":"","CHANNELS":""}, "Tensor": {"VENDOR":"Google","NAME":"Tensor","MEMORY":"","CHANNELS":""}, + "SM4450-AF": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 4 Gen 4","MEMORY":"","CHANNELS":""}, + "SM6225-AF": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 6s Gen 2","MEMORY":"","CHANNELS":""}, + "SM6115-AC": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 6s Gen 1","MEMORY":"","CHANNELS":""}, + "SM7750-AB": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 7 Gen 4","MEMORY":"","CHANNELS":""}, "SG8175P": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ G3x Gen 1","MEMORY":"","CHANNELS":""}, "Snapdragon™ 8 Elite": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 8 Elite","MEMORY":"","CHANNELS":""}, "SM8850-AC": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 8 Elite Gen 5","MEMORY":"","CHANNELS":""}, @@ -196,9 +201,10 @@ "apq8084": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 805","MEMORY":"LPDDR3 800 MHz","CHANNELS":"64-bit dual channel"}, "apq 8084": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 805","MEMORY":"LPDDR3 800 MHz","CHANNELS":"64-bit dual channel"}, "APQ 8084": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 805","MEMORY":"LPDDR3 800 MHz","CHANNELS":"64-bit dual channel"}, + "APQ8056": {"VENDOR":"Qualcomm®","NAME":"APQ8056","MEMORY":"","CHANNELS":""}, "APQ8084": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 805","MEMORY":"LPDDR3 800 MHz","CHANNELS":"64-bit dual channel"}, "APQ8053": {"VENDOR":"Qualcomm®","NAME":"Qualcomm 624 Home Hub","MEMORY":"","CHANNELS":""}, - "APQ8076": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 652","MEMORY":null,"CHANNELS":""}, + "APQ8076": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 652","CHANNELS":""}, "8074": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 801","MEMORY":"LPDDR3 933 MHz","CHANNELS":"32-bit dual channel"}, "8274-AA": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 800","MEMORY":"LPDDR3 800 MHz","CHANNELS":"32-bit dual channel"}, "8274-AC": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 801","MEMORY":"LPDDR3 933 MHz","CHANNELS":"32-bit dual channel"}, @@ -340,6 +346,8 @@ "MT6985": {"VENDOR":"MediaTek","NAME":"Dimensity 9200+","MEMORY":"LPDDR5X","CHANNELS":""}, "MT6993W/CZA": {"VENDOR":"MediaTek","NAME":"Dimensity 9500","MEMORY":"","CHANNELS":""}, "MT6993": {"VENDOR":"MediaTek","NAME":"Dimensity 9500","MEMORY":"","CHANNELS":""}, + "MT6991Z/ECZB": {"VENDOR":"MediaTek","NAME":"Dimensity 9500s","MEMORY":"","CHANNELS":""}, + "MT6991Z/SCZB": {"VENDOR":"MediaTek","NAME":"Dimensity 9500s","MEMORY":"","CHANNELS":""}, "MT6991Z/TCZB": {"VENDOR":"MediaTek","NAME":"Dimensity 9400+","MEMORY":"","CHANNELS":""}, "MT8799Z/TNZB": {"VENDOR":"MediaTek","NAME":"Dimensity 9400+","MEMORY":"","CHANNELS":""}, "MT6991Z/CZB": {"VENDOR":"MediaTek","NAME":"Dimensity 9400","MEMORY":"","CHANNELS":""}, @@ -348,11 +356,12 @@ "MT6899Z/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8500","MEMORY":"","CHANNELS":""}, "MT6899Z_A/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8500-Ultra","MEMORY":"","CHANNELS":""}, "MT6899Z_E/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8400 Ultimate","MEMORY":"","CHANNELS":""}, - "MT8183": {"VENDOR":"MediaTek","NAME":"MT8183","MEMORY":"","CHANNELS":""}, + "MT8183": {"VENDOR":"MediaTek","NAME":"Kompanio 500","MEMORY":"","CHANNELS":""}, "MT8168A": {"VENDOR":"MediaTek","NAME":"MT8168A","MEMORY":"","CHANNELS":""}, "MT8169A": {"VENDOR":"MediaTek","NAME":"MT8169A","MEMORY":"","CHANNELS":""}, "MT8161A": {"VENDOR":"MediaTek","NAME":"MT8161A","MEMORY":"","CHANNELS":""}, - "MT8186": {"VENDOR":"MediaTek","NAME":"MT8186","MEMORY":"","CHANNELS":""}, + "MT8186": {"VENDOR":"MediaTek","NAME":"Kompanio 520","MEMORY":"","CHANNELS":""}, + "MT8186T": {"VENDOR":"MediaTek","NAME":"Kompanio 528","MEMORY":"","CHANNELS":""}, "MT8188JV/A": {"VENDOR":"MediaTek","NAME":"MT8188J","MEMORY":"","CHANNELS":""}, "MT8168B": {"VENDOR":"MediaTek","NAME":"MT8168B","MEMORY":"","CHANNELS":""}, "MT8168M": {"VENDOR":"MediaTek","NAME":"MT8168M","MEMORY":"","CHANNELS":""}, @@ -362,9 +371,24 @@ "MT6899Z_D/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8450","MEMORY":"","CHANNELS":""}, "MT6897Z_E/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8350-Extreme","MEMORY":"","CHANNELS":""}, "MT6897Z_F/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8350 Apex","MEMORY":"","CHANNELS":""}, + "MT6899Z_C/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8500-Turbo","MEMORY":"","CHANNELS":""}, "MT6899Z_C/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8400-Turbo","MEMORY":"","CHANNELS":""}, + "MT6899Z_O/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8500 Super","MEMORY":"","CHANNELS":""}, "MT6899Z_B/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8400 Max","MEMORY":"","CHANNELS":""}, + "MT6899Z_P/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8550","MEMORY":"","CHANNELS":""}, + "MT6899Z_M/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8550 Extreme","MEMORY":"","CHANNELS":""}, "MT6789V/T": {"VENDOR":"MediaTek","NAME":"Helio G200","MEMORY":"","CHANNELS":""}, + "MT8797Z/CNZA": {"VENDOR":"MediaTek","NAME":"Kompanio 1300T ","MEMORY":"","CHANNELS":""}, + "MT8873V/AZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7400X","MEMORY":"","CHANNELS":""}, + "MT8755V/UNZB": {"VENDOR":"MediaTek","NAME":"Dimensity 6400","MEMORY":"","CHANNELS":""}, + "MT8192": {"VENDOR":"MediaTek","NAME":"Kompanio 820","MEMORY":"","CHANNELS":""}, + "MT8192T": {"VENDOR":"MediaTek","NAME":"Kompanio 828","MEMORY":"","CHANNELS":""}, + "MT8188": {"VENDOR":"MediaTek","NAME":"Kompanio 838","MEMORY":"","CHANNELS":""}, + "MT8195": {"VENDOR":"MediaTek","NAME":"Kompanio 1200","MEMORY":"","CHANNELS":""}, + "MT8195T": {"VENDOR":"MediaTek","NAME":"Kompanio 1300T","MEMORY":"","CHANNELS":""}, + "MT8196": {"VENDOR":"MediaTek","NAME":"Kompanio Ultra 910","MEMORY":"","CHANNELS":""}, + "MT8775V/NAZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7300-Ultra","MEMORY":"","CHANNELS":""}, + "MT8775": {"VENDOR":"MediaTek","NAME":"Dimensity 7300","MEMORY":"","CHANNELS":""}, "MT6989W/CZA": {"VENDOR":"MediaTek","NAME":"Dimensity 9300","MEMORY":"","CHANNELS":""}, "MT6989W/TCZA": {"VENDOR":"MediaTek","NAME":"Dimensity 9300","MEMORY":"","CHANNELS":""}, "MT8798Z/CNZA": {"VENDOR":"MediaTek","NAME":"Dimensity 9000","MEMORY":"","CHANNELS":""}, @@ -404,6 +428,11 @@ "MT6893Z_T/CZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8050","MEMORY":"","CHANNELS":""}, "MT6879V_T/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7030","MEMORY":"","CHANNELS":""}, "MT6835V/TZB": {"VENDOR":"MediaTek","NAME":"Dimensity 6300","MEMORY":"","CHANNELS":""}, + "MT6835V/PZB": {"VENDOR":"MediaTek","NAME":"Dimensity 6500","MEMORY":"","CHANNELS":""}, + "MT6878V/UZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7450","MEMORY":"","CHANNELS":""}, + "MT6878V/UFZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7450X","MEMORY":"","CHANNELS":""}, + "MT6878V_C/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7400-Turbo","MEMORY":"","CHANNELS":""}, + "MT6878V_A/ZA__MAX": {"VENDOR":"MediaTek","NAME":"Dimensity 7300 Max","MEMORY":"","CHANNELS":""}, "MT6878V/TFZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7400X","MEMORY":"","CHANNELS":""}, "MT6878V_B/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7400-Ultra","MEMORY":"","CHANNELS":""}, "MT6878V_B/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7300-Ultra","MEMORY":"","CHANNELS":""}, @@ -414,14 +443,19 @@ "MT6878V/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7400","MEMORY":"","CHANNELS":""}, "MT6878V_F/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7360","MEMORY":"","CHANNELS":""}, "MT6878V_G/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7360-Turbo","MEMORY":"","CHANNELS":""}, + "MT6878V_H/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7400-Apex","MEMORY":"","CHANNELS":""}, + "MT6878V_H/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7360-Apex","MEMORY":"","CHANNELS":""}, "MT6878V/FZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7300X","MEMORY":"","CHANNELS":""}, "MT6878V_A/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7300-ENERGY","MEMORY":"","CHANNELS":""}, "MT6878": {"VENDOR":"MediaTek","NAME":"Dimensity 7300 Ultra","MEMORY":"","CHANNELS":""}, "MT6858V/ZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7100","MEMORY":"","CHANNELS":""}, + "MT6858V/TZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7300e","MEMORY":"","CHANNELS":""}, "MT6855V/ATZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7025","MEMORY":"","CHANNELS":""}, "MT6855V_A/ATZA": {"VENDOR":"MediaTek","NAME":"Dimensity 7025 Ultra","MEMORY":"","CHANNELS":""}, "MT6896Z_C/CZA": {"VENDOR":"MediaTek","NAME":"Dimensity 8250","MEMORY":"","CHANNELS":""}, "MT6896": {"VENDOR":"MediaTek","NAME":"Dimensity 8200-Ultra","MEMORY":"","CHANNELS":""}, + "MT6835J": {"VENDOR":"MediaTek","NAME":"Dimensity 6360 MAX","MEMORY":"","CHANNELS":""}, + "MT6835V/TTZB": {"VENDOR":"MediaTek","NAME":"Dimensity 6400 Turbo","MEMORY":"","CHANNELS":""}, "MT6835T": {"VENDOR":"MediaTek","NAME":"Dimensity 6300","MEMORY":"","CHANNELS":""}, "MT6835V/ZAXXXXXXXXXXXXXXXX": {"VENDOR":"MediaTek","NAME":"Dimensity 6300+","MEMORY":"","CHANNELS":""}, "MT6835V/ZAYYYYYYYYYYYYYYYY": {"VENDOR":"MediaTek","NAME":"Dimensity 6400 MAX","MEMORY":"","CHANNELS":""}, @@ -505,6 +539,7 @@ "MT6789TJ": {"VENDOR":"MediaTek","NAME":"Helio G200 Ultimate","MEMORY":"","CHANNELS":""}, "MT6789TI": {"VENDOR":"MediaTek","NAME":"Helio G200 Ultra","MEMORY":"","CHANNELS":""}, "MT6789J": {"VENDOR":"MediaTek","NAME":"Helio G100 Ultimate","MEMORY":"","CHANNELS":""}, + "MT6789K": {"VENDOR":"MediaTek","NAME":"Helio G100 MAX","MEMORY":"","CHANNELS":""}, "MT6789": {"VENDOR":"MediaTek","NAME":"Helio G99","MEMORY":"","CHANNELS":""}, "mt6789": {"VENDOR":"MediaTek","NAME":"Helio G99","MEMORY":"","CHANNELS":""}, "mt5867": {"VENDOR":"MediaTek","NAME":"MT5867","MEMORY":"","CHANNELS":""}, @@ -797,6 +832,8 @@ "UMS9620S": {"VENDOR":"Unisoc","NAME":"UMS9620S","MEMORY":"","CHANNELS":""}, "UMS9360": {"VENDOR":"Unisoc","NAME":"T7300","MEMORY":"","CHANNELS":""}, "SC7731e": {"VENDOR":"Unisoc","NAME":"SC7731E","MEMORY":"","CHANNELS":""}, + "SC7731c": {"VENDOR":"Unisoc","NAME":"SC7731C","MEMORY":"","CHANNELS":""}, + "SC7731": {"VENDOR":"Unisoc","NAME":"SC7731","MEMORY":"","CHANNELS":""}, "UIS7862A": {"VENDOR":"Unisoc","NAME":"UIS7862A","MEMORY":"","CHANNELS":""}, "UWS6137": {"VENDOR":"Unisoc","NAME":"UWS6137","MEMORY":"","CHANNELS":""}, "SC7731E": {"VENDOR":"Unisoc","NAME":"SC7731E","MEMORY":"","CHANNELS":""}, @@ -805,11 +842,13 @@ "T615": {"VENDOR":"Unisoc","NAME":"T7250","MEMORY":"","CHANNELS":""}, "T619": {"VENDOR":"Unisoc","NAME":"T619","MEMORY":"","CHANNELS":""}, "Unisoc SC9832e": {"VENDOR":"Unisoc","NAME":"SC9832E","MEMORY":"","CHANNELS":""}, + "T7280": {"VENDOR":"Unisoc","NAME":"T7280","MEMORY":"","CHANNELS":""}, "T620": {"VENDOR":"Unisoc","NAME":"T7280","MEMORY":"","CHANNELS":""}, "T618": {"VENDOR":"Unisoc","NAME":"T618","MEMORY":"","CHANNELS":""}, "T618-Unisoc": {"VENDOR":"Unisoc","NAME":"T618","MEMORY":"","CHANNELS":""}, "T616": {"VENDOR":"Unisoc","NAME":"T7255","MEMORY":"","CHANNELS":""}, "T616-Unisoc": {"VENDOR":"Unisoc","NAME":"T7255","MEMORY":"","CHANNELS":""}, + "T7225": {"VENDOR":"Unisoc","NAME":"T7225","MEMORY":"","CHANNELS":""}, "Unisoc T612": {"VENDOR":"Unisoc","NAME":"T7225","MEMORY":"","CHANNELS":""}, "T612": {"VENDOR":"Unisoc","NAME":"T7225","MEMORY":"","CHANNELS":""}, "T820": {"VENDOR":"Unisoc","NAME":"T9100","MEMORY":"","CHANNELS":""}, @@ -827,6 +866,7 @@ "T606": {"VENDOR":"Unisoc","NAME":"T7200","MEMORY":"","CHANNELS":""}, "T603": {"VENDOR":"Unisoc","NAME":"T7100","MEMORY":"","CHANNELS":""}, "ums9230_25c10": {"VENDOR":"Unisoc","NAME":"T7200","MEMORY":"","CHANNELS":""}, + "T770": {"VENDOR":"Unisoc","NAME":"T770","MEMORY":"","CHANNELS":""}, "T7200": {"VENDOR":"Unisoc","NAME":"T7200","MEMORY":"","CHANNELS":""}, "ums512": {"VENDOR":"Unisoc","NAME":"T610","MEMORY":"","CHANNELS":""}, "ums312": {"VENDOR":"Unisoc","NAME":"","MEMORY":"","CHANNELS":""}, @@ -834,6 +874,7 @@ "UMS9230E": {"VENDOR":"Unisoc","NAME":"T7200","MEMORY":"","CHANNELS":""}, "UMS9230": {"VENDOR":"Unisoc","NAME":"T7200","MEMORY":"","CHANNELS":""}, "SC9832E": {"VENDOR":"Unisoc","NAME":"SC9832E","MEMORY":"","CHANNELS":""}, + "sc9832a": {"VENDOR":"Unisoc","NAME":"SC9832A","MEMORY":"","CHANNELS":""}, "SC9832e": {"VENDOR":"Unisoc","NAME":"SC9832E","MEMORY":"","CHANNELS":""}, "sc8830": {"VENDOR":"Unisoc","NAME":"SC8830","MEMORY":"","CHANNELS":""}, "SC9863A": {"VENDOR":"Unisoc","NAME":"SC9863A","MEMORY":"","CHANNELS":""}, @@ -845,6 +886,7 @@ "8909": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 210","MEMORY":"LPDDR2 533 MHz","CHANNELS":""}, "8009": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 212","MEMORY":"LPDDR2 533 MHz","CHANNELS":""}, "8208": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 208","MEMORY":"LPDDR3 400 MHz","CHANNELS":"16-bit single channel"}, + "MSM8928": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 400","MEMORY":"","CHANNELS":""}, "8929": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 415","MEMORY":"LPDDR3 667 MHz","CHANNELS":""}, "8917": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 425","MEMORY":"LPDDR3 667 MHz","CHANNELS":""}, "SDM439": {"VENDOR":"Qualcomm®","NAME":"Snapdragon™ 439","MEMORY":"","CHANNELS":""}, @@ -891,6 +933,10 @@ "universal1080": {"VENDOR":"Samsung","NAME":"Exynos 1080","MEMORY":"","CHANNELS":""}, "Exynos E1080": {"VENDOR":"Samsung","NAME":"Exynos 1080","MEMORY":"","CHANNELS":""}, "SMDK4x12": {"VENDOR":"Samsung","NAME":"Exynos 4412","MEMORY":"","CHANNELS":""}, + "s5e9965": {"VENDOR":"Samsung","NAME":"Exynos 2600","MEMORY":"","CHANNELS":""}, + "s5e9955": {"VENDOR":"Samsung","NAME":"Exynos 2500","MEMORY":"","CHANNELS":""}, + "s5e8865": {"VENDOR":"Samsung","NAME":"Exynos 1680","MEMORY":"","CHANNELS":""}, + "s5e8855": {"VENDOR":"Samsung","NAME":"Exynos 1580","MEMORY":"","CHANNELS":""}, "S5E8825": {"VENDOR":"Samsung","NAME":"Exynos 1280","MEMORY":"","CHANNELS":""}, "s5e8825": {"VENDOR":"Samsung","NAME":"Exynos 1280","MEMORY":"LPDDR4x","CHANNELS":""}, "s5e8845": {"VENDOR":"Samsung","NAME":"Exynos 1480","MEMORY":"","CHANNELS":""}, @@ -949,6 +995,8 @@ "sun50": {"VENDOR":"Allwinner","NAME":"","MEMORY":"","CHANNELS":""}, "A133": {"VENDOR":"Allwinner","NAME":"A133","MEMORY":"","CHANNELS":""}, "A523": {"VENDOR":"Allwinner","NAME":"A523","MEMORY":"","CHANNELS":""}, + "A537": {"VENDOR":"Allwinner","NAME":"A537","MEMORY":"","CHANNELS":""}, + "A527": {"VENDOR":"Allwinner","NAME":"A527","MEMORY":"","CHANNELS":""}, "A733": {"VENDOR":"Allwinner","NAME":"A733","MEMORY":"","CHANNELS":""}, "A333": {"VENDOR":"Allwinner","NAME":"A333","MEMORY":"","CHANNELS":""}, "ceres": {"VENDOR":"Allwinner","NAME":"A133","MEMORY":"","CHANNELS":""}, diff --git a/tools/tools.sh b/tools/tools.sh index e9cc38e..4d979a0 100644 --- a/tools/tools.sh +++ b/tools/tools.sh @@ -1994,7 +1994,11 @@ backup() { keyboard="$(settings get secure default_input_method 2>/dev/null)" Set_screen_pause_seconds on [[ $txt != "" ]] && [[ $(echo "$txt" | cut -d' ' -f2 | grep -w "^${keyboard%/*}$") != ${keyboard%/*} ]] && unset keyboard - ssaid_info="$(get_ssaid "$(echo "$txt" | awk '{printf "%s ", $2}')")" + if [[ -f ${0%/*}/app_details.json ]]; then + ssaid_info="$(get_ssaid "$(jq -r '.[] | select(.PackageName != null).PackageName' "${0%/*}/app_details.json")")" + else + ssaid_info="$(get_ssaid "$(echo "$txt" | awk '{printf "%s ", $2}')")" + fi starttime1="$(date -u "+%s")" TIME="$starttime1" notification "101" "開始備份" @@ -2520,6 +2524,69 @@ Restore3() { endtime 1 "恢復結束" notification "108" "Media恢復完成 $(endtime 1 "Media恢復")" } +Restore4() { + if [[ $ssaid_mode_1 = true ]]; then + while read; do + if [[ $(jq -r '.[] | select(.Ssaid != null).Ssaid' "$REPLY") != "" ]]; then + ChineseName="$(jq -r 'to_entries[] | select(.key != null).key' "$REPLY" | head -n 1)" + PackageName="$(jq -r '.[] | select(.PackageName != null).PackageName' "$REPLY")" + if [[ $ssaid_name = "" ]]; then + ssaid_name="$ChineseName $PackageName" + else + ssaid_name="$ssaid_name\n$ChineseName $PackageName" + fi + fi + done<<<"$(find "$MODDIR" -maxdepth 2 -name "app_details.json" -type f 2>/dev/null | sort)" + [[ $ssaid_name != "" ]] && txt="$ssaid_name" + i=1 + [[ $(echo "$txt") != "" ]] && txt="$(echo "$txt" | sed -e '/^$/d')" + r="$(echo "$txt" | awk 'NF != 0 { count++ } END { print count }')" + while [[ $i -le $r ]]; do + name1="$(echo "$txt" | sed -n "${i}p" | cut -d' ' -f1)" + name2="$(echo "$txt" | sed -n "${i}p" | cut -d' ' -f2)" + Backup_folder="$MODDIR/$name1" + if [[ -f "$Backup_folder/app_details.json" ]]; then + app_details="$Backup_folder/app_details.json" + apk_version="$(jq -r '.[] | select(.apk_version != null).apk_version' "$app_details")" + else + echoRgb "$Backup_folder/app_details.json不存在" "0" + fi + [[ $name2 = "" ]] && echoRgb "應用包名獲取失敗" "0" && exit 1 + if [[ $(pm list packages --user "$user" | awk -v pkg="$name2" -F':' '$2 == pkg {print $2}') != "" ]]; then + [[ $name2 != *mt* ]] && { + kill_app + Ssaid="$(jq -r '.[] | select(.Ssaid != null).Ssaid' "$app_details")" + if [[ $Ssaid != "" ]]; then + SSAID_Package="$(echo "$name1 $name2 $Ssaid")" + SSAID_Package2="$(echo "$SSAID_Package\n$SSAID_Package2")" + unset Ssaid + fi + } + fi + if [[ $i = $r ]]; then + [[ $SSAID_Package2 != "" ]] && { + echoRgb "開始恢復saaid" "0" + set_ssaid "$(echo "$SSAID_Package2" | awk '{printf "%s %s ", $2, $3}')" + ssaid_info="$(get_ssaid "$(echo "$SSAID_Package2" | awk '{printf "%s ", $2}')")" + echo "$SSAID_Package2" | while read; do + Ssaid="$(echo "$REPLY" | cut -d' ' -f3)" + name1="$(echo "$REPLY" | cut -d' ' -f1)" + name2="$(echo "$REPLY" | cut -d' ' -f2)" + if [[ $(awk -v pkg="$name2" '$1 == pkg {print $2}'<<<"$ssaid_info") = $Ssaid ]]; then + echoRgb "$name1 SSAID恢復成功" "1" + else + echoRgb "$name1 SSAID恢復失敗" "0" + fi + unset Ssaid + done + echoRgb "SSAID恢復後必須重新開機套用,否則應用閃退,如果沒有應用恢復ssaid則無須重啟" "0" + notification "107" "SSAID恢復後必須重新開機套用,否則應用閃退,如果沒有應用恢復ssaid則無須重啟" + } + fi + let i++ + done + fi +} Getlist() { case $MODDIR in /storage/emulated/0/Android/* | /data/media/0/Android/* | /sdcard/Android/*) echoRgb "請勿在$MODDIR內生成列表" "0" && exit 2 ;; @@ -2553,7 +2620,7 @@ Getlist() { rgb_a=118 starttime1="$(date -u "+%s")" echoRgb "提示! 腳本默認會屏蔽預裝應用 如需備份請添加預裝應用白名單" "0" - Apk_info="$(appinfo "system|user|xposed" "label|pkgName|flag" | egrep -v 'ice.message|com.topjohnwu.magisk')" + Apk_info="$(appinfo "system|user|xposed" "label|pkgName|flag" | egrep -v 'ice.message|com.topjohnwu.magisk' | tr '/:' '_')" xposed_name="$(echo "$Apk_info" | awk '$3 == "xposed" {print $2}')" TARGET_PACKAGES="$(echo "$system" | paste -sd'|' - | sed 's/^|//')" Pre_installed_apps="$(echo "$Apk_info" | awk '$3 == "system" {print $1, $2}' | egrep -w "$TARGET_PACKAGES")" @@ -2815,21 +2882,23 @@ else ) elif [[ -f $MODDIR/restore_settings.conf ]]; then steps=( + "重新生成應用列表" "恢復備份" - "僅恢復包含ssaid應用" + "僅恢復包含ssaid應用(含數據)" + "僅恢復包含ssaid應用(不含數據)" "恢復自定義資料夾" "恢復wifi" - "重新生成應用列表" "壓縮檔完整性檢查" "轉換文件夾名稱" "殺死運行中腳本" ) commands=( + "dumpname" "Restore" "ssaid_mode=true && Restore" + "ssaid_mode_1=true && Restore4" "Restore3" "recover_wifi \"$MODDIR/wifi\"" - "dumpname" "check_file" "convert" "echoRgb '等待腳本停止中,請稍後.....' && echoRgb '腳本終止'; exit"