diff --git a/tools/Device_List b/tools/Device_List index 5e4b919..b50e4b5 100644 --- a/tools/Device_List +++ b/tools/Device_List @@ -140,6 +140,11 @@ "24129PN74G" "Xiaomi 15 國際版" "24129PN74I" "Xiaomi 15 印度版" "2410DPN6CC" "Xiaomi 15 Pro" +"25019PNF3C" "Xiaomi 15 Ultra 國行版" +"25010PN30C" "Xiaomi 15 Ultra 雙衛星版 國行版" +"25010PN30G" "Xiaomi 15 Ultra 國際版" +"25010PN30I" "Xiaomi 15 Ultra 印度版" +"25042PN24C" "Xiaomi 15S Pro" "2014616" "小米 Note 雙網通版" "2014619" "小米 Note 全網通版" "2014618" "小米 Note 移動合約版" @@ -359,7 +364,7 @@ "22120RN86I" "Redmi 12C 印度版" "2212ARNC4L" "Redmi 12C 拉美版 / 日本版" "22126RN91Y" "Redmi 12C 國際版 (NFC)" -"2404ARN45A" "Redmi 13 國際版" +"2404ARN45A" "Redmi 13 國際版 / REDMI 13x 國際版" "2404ARN45I" "Redmi 13 印度版" "24049RN28L" "Redmi 13 拉美版" "24040RN64Y" "Redmi 13 國際版 (NFC)" @@ -541,9 +546,14 @@ "24040RA98R" "Redmi Note 13 Pro+ 5G 日本版" "2406ERN9CC" "Redmi Note 13R" "2311FRAFDC" "Redmi Note 13R Pro" +"24117RN76G" "Redmi Note 14 國際版" +"24117RN76E" "Redmi Note 14 歐洲版" +"24117RN76L" "Redmi Note 14 拉美版" +"24117RN76O" "Redmi Note 14 國際版 (NFC)" "24094RAD4C" "Redmi Note 14 5G 國行版" "24094RAD4I" "Redmi Note 14 5G 印度版" "24094RAD4G" "Redmi Note 14 5G 國際版" +"2502FRA65G" "Redmi Note 14S 國際版" "24116RACCG" "Redmi Note 14 Pro 國際版" "24090RA29C" "Redmi Note 14 Pro 國行版" "24090RA29G" "Redmi Note 14 Pro 5G 國際版" @@ -573,7 +583,8 @@ "M2006J10C" "Redmi K30 至尊紀念版" "M2007J3SC" "Redmi K30S 至尊紀念版" "M2012K11AC" "Redmi K40" -"M2012K11C" "Redmi K40 Pro / Redmi K40 Pro+" +"M2012K11C" "Redmi K40 Pro" +"M2012K11C" "Redmi K40 Pro+" "M2012K10C" "Redmi K40 遊戲增強版" "22021211RC" "Redmi K40S" "22041211AC" "Redmi K50" @@ -621,6 +632,9 @@ "24044RN32L" "Redmi A3x 拉美版" "2409BRN2CG" "Redmi A3 Pro 國際版" "24116RNC1I" "Redmi A4 5G 印度版" +"25028RN03Y" "REDMI A5 國際版" +"25028RN03I" "REDMI A5 印度版" +"25028RN03L" "REDMI A5 拉美版" "22081283C" "Redmi Pad 國行版" "22081283G" "Redmi Pad 國際版" "23073RPBFC" "Redmi Pad SE 國行版" @@ -650,6 +664,10 @@ "24069PC21G" "POCO F6 國際版" "24069PC21I" "POCO F6 印度版" "23113RKC6G" "POCO F6 Pro 國際版" +"25053PC47G" "POCO F7 國際版" +"25053PC47I" "POCO F7 印度版" +"24117RK2CG" "POCO F7 Pro 國際版" +"24122RKC7G" "POCO F7 Ultra 國際版" "M1912G7BI" "POCO X2 印度版" "M2007J20CI" "POCO X3 印度版" "M2007J20CG" "POCO X3 NFC 國際版" @@ -710,6 +728,9 @@ "2312BPC51H" "POCO C61 印度版" "2310FPCA4G" "POCO C65 國際版" "2310FPCA4I" "POCO C65 印度版" +"25028PC03Y" "POCO C71 國際版" +"25028PC03I" "POCO C71 印度版" +"25028PC03L" "POCO C71 拉美版" "2410FPCC5G" "POCO C75 國際版" "2410FPCC5I" "POCO C75 印度版" "24116PCC1I" "POCO C75 5G 印度版" @@ -724,6 +745,8 @@ "M1903F11A" "Redmi K20 Pro China / Redmi K20 Pro Premium Edition China" "M2001G7AC" "Redmi K30 5G China" "M2001G7AC" "Redmi K30i 5G China" +"M2012K11C" "Redmi K40 Pro China" +"M2012K11C" "Redmi K40 Pro+ China" "23073RPBFC" "Redmi Pad SE China / Redmi Pad M7 China" "GT-I9000" "Galaxy S 公開版" "GT-I9018" "Galaxy S 移動定制版" @@ -792,6 +815,10 @@ "SM-S9210" "Galaxy S24" "SM-S9260" "Galaxy S24+" "SM-S9280" "Galaxy S24 Ultra" +"SM-S9310" "Galaxy S25" +"SM-S9360" "Galaxy S25+" +"SM-S9370" "Galaxy S25 Edge" +"SM-S9380" "Galaxy S25 Ultra" "GT-I9220" "Galaxy Note 公開版" "GT-I9228" "Galaxy Note 移動定制版" "SCH-I889" "Galaxy Note 電信定制版" @@ -872,6 +899,7 @@ "SM-A5360" "Galaxy A53 5G" "SM-A5460" "Galaxy A54 5G" "SM-A5560" "Galaxy A55 5G" +"SM-A5660" "Galaxy A56 5G" "SM-E5260" "Galaxy F52 5G" "SM-M3070" "Galaxy M30s" "SM-C5000" "Galaxy C5" @@ -971,6 +999,10 @@ "SM-X820" "Galaxy Tab S10+ WLAN" "SM-X920" "Galaxy Tab S10 Ultra WLAN" "SM-X926C" "Galaxy Tab S10 Ultra 5G" +"SM-X520" "Galaxy Tab S10 FE WLAN" +"SM-X526C" "Galaxy Tab S10 FE 5G" +"SM-X620" "Galaxy Tab S10 FE+ WLAN" +"SM-X626C" "Galaxy Tab S10 FE+ 5G" "SM-T350" "Galaxy Tab A 8.0 WLAN" "SM-T355C" "Galaxy Tab A 8.0 LTE" "SM-T550" "Galaxy Tab A 9.7 WLAN" @@ -1186,6 +1218,29 @@ "SM-S7210" "Galaxy S24 FE HK & TW" "SCG30" "Galaxy S24 FE Japan (au)" "SM-S721N" "Galaxy S24 FE South Korea" +"SM-S931B" "Galaxy S25 Global" +"SM-S931U" "Galaxy S25 US Carrier" +"SM-S931U1" "Galaxy S25 US Unlocked" +"SM-S931W" "Galaxy S25 Canada" +"SM-S931N" "Galaxy S25 South Korea" +"SM-S931Q" "Galaxy S25 Japan (SIM Free)" +"SM-S931Z" "Galaxy S25 Japan (SoftBank)" +"SCG31" "Galaxy S25 Japan (au)" +"SC-51F" "Galaxy S25 Japan (NTT Docomo)" +"SM-S936B" "Galaxy S25+ Global" +"SM-S936U" "Galaxy S25+ US Carrier" +"SM-S936U1" "Galaxy S25+ US Unlocked" +"SM-S936W" "Galaxy S25+ Canada" +"SM-S936N" "Galaxy S25+ South Korea" +"SM-S938B" "Galaxy S25 Ultra Global" +"SM-S938U" "Galaxy S25 Ultra US Carrier" +"SM-S938U1" "Galaxy S25 Ultra US Unlocked" +"SM-S938W" "Galaxy S25 Ultra Canada" +"SM-S938N" "Galaxy S25 Ultra South Korea" +"SM-S938Q" "Galaxy S25 Ultra Japan (SIM Free)" +"SM-S938Z" "Galaxy S25 Ultra Japan (SoftBank)" +"SCG32" "Galaxy S25 Ultra Japan (au)" +"SC-52F" "Galaxy S25 Ultra Japan (NTT Docomo)" "SM-N960F" "Galaxy Note9 Global" "SM-N960U" "Galaxy Note9 US Carrier" "SM-N960U1" "Galaxy Note9 US Unlocked" @@ -1361,6 +1416,8 @@ "SM-A057M" "Galaxy A05s Latin America" "SM-A065F" "Galaxy A06 Global" "SM-A065M" "Galaxy A06 Latin America" +"SM-A066B" "Galaxy A06 5G Global" +"SM-A066M" "Galaxy A06 5G Latin America" "SM-A105M" "Galaxy A10 Latin America" "SM-A105N" "Galaxy A10 South Korea" "SM-A102U" "Galaxy A10e US Carrier" @@ -1392,7 +1449,7 @@ "SM-A135U1" "Galaxy A13 US Unlocked" "SM-A135M" "Galaxy A13 Latin America" "SM-A135N" "Galaxy A13 South Korea" -"SM-A137F" "Galaxy A13 Global (Mediatek)" +"SM-A137F" "Galaxy A13 Global (MediaTek)" "SM-A136B" "Galaxy A13 5G Global" "SM-A136U" "Galaxy A13 5G US Carrier" "SM-A136U1" "Galaxy A13 5G US Unlocked" @@ -1401,11 +1458,11 @@ "SM-A136M" "Galaxy A13 5G Latin America" "SM-A145FB" "Galaxy A14 Global (Exynos)" "SM-A145MB" "Galaxy A14 Latin America" -"SM-A145P" "Galaxy A14 MEA (Mediatek)" -"SM-A145R" "Galaxy A14 EU (Mediatek)" +"SM-A145P" "Galaxy A14 MEA (MediaTek)" +"SM-A145R" "Galaxy A14 EU (MediaTek)" "SM-A146B" "Galaxy A14 5G Global (Exynos)" "SM-A146M" "Galaxy A14 5G Latin America" -"SM-A146P" "Galaxy A14 5G Global (Mediatek)" +"SM-A146P" "Galaxy A14 5G Global (MediaTek)" "SM-A146U" "Galaxy A14 5G US Carrier" "SM-A146U1" "Galaxy A14 5G US Unlocked" "SM-S146VL" "Galaxy A14 5G TracFone" @@ -1421,14 +1478,18 @@ "SM-A156W" "Galaxy A15 5G Canada" "SM-A156M" "Galaxy A15 5G Latin America" "SM-A1560" "Galaxy A15 5G HK & TW" +"SM-A165F" "Galaxy A16 Global" +"SM-A165M" "Galaxy A16 Latin America" +"SM-A165N" "Galaxy A16 South Korea" "SM-A166E" "Galaxy A16 5G Global (Exynos)" "SM-A166B" "Galaxy A16 5G EU" "SM-A166U" "Galaxy A16 5G US Carrier" "SM-A166U1" "Galaxy A16 5G US Unlocked" "SM-S166V" "Galaxy A16 5G TracFone" +"SM-A166W" "Galaxy A16 5G Canada" "SM-A166M" "Galaxy A16 5G Latin America" "SM-A1660" "Galaxy A16 5G HK & TW" -"SM-A166P" "Galaxy A16 5G Global (Mediatek)" +"SM-A166P" "Galaxy A16 5G Global (MediaTek)" "SM-A260F" "Galaxy A2 Core Global" "SM-A260G" "Galaxy A2 Core India" "SM-A205F" "Galaxy A20 Global" @@ -1483,6 +1544,15 @@ "SM-S256VL" "Galaxy A25 5G TracFone" "SM-A2560" "Galaxy A25 5G HK" "SM-A256N" "Galaxy A25 5G South Korea" +"SM-A253Q" "Galaxy A25 5G Japan (SIM Free)" +"SM-A253Z" "Galaxy A25 5G Japan (SoftBank)" +"SCG33" "Galaxy A25 5G Japan (au)" +"SC-53F" "Galaxy A25 5G Japan (NTT Docomo)" +"SM-A266B" "Galaxy A26 5G Global" +"SM-A266U" "Galaxy A26 5G US Carrier" +"SM-A266U1" "Galaxy A26 5G US Unlocked" +"SM-S266V" "Galaxy A26 5G TracFone" +"SM-A266M" "Galaxy A26 5G Latin America" "SM-A305F" "Galaxy A30 Global" "SM-A305FN" "Galaxy A30 EU" "SM-A305G" "Galaxy A30 Latin America" @@ -1524,6 +1594,14 @@ "SM-A356W" "Galaxy A35 5G Canada" "SM-A3560" "Galaxy A35 5G HK & TW" "SM-A356N" "Galaxy A35 5G South Korea" +"SM-A366E" "Galaxy A36 5G Global" +"SM-A366B" "Galaxy A36 5G EU" +"SM-A366U" "Galaxy A36 5G US Carrier" +"SM-A366U1" "Galaxy A36 5G US Unlocked" +"SM-S366V" "Galaxy A36 5G TracFone" +"SM-A366W" "Galaxy A36 5G Canada" +"SM-A3660" "Galaxy A36 5G HK & TW" +"SM-A366N" "Galaxy A36 5G South Korea" "SM-A405FN" "Galaxy A40 Global" "SM-A405FM" "Galaxy A40 Russia" "SM-A405S" "Galaxy A40 South Korea (SK Telecom)" @@ -1593,6 +1671,8 @@ "SM-A556B" "Galaxy A55 5G EU" "SCG27" "Galaxy A55 5G Japan (au)" "SC-53E" "Galaxy A55 5G Japan (NTT Docomo)" +"SM-A566E" "Galaxy A56 5G Global" +"SM-A566B" "Galaxy A56 5G EU" "SM-A606F" "Galaxy A60 Global" "SM-A606Y" "Galaxy A60 TW" "SM-A705FN" "Galaxy A70 Global" @@ -1624,6 +1704,7 @@ "SM-M025F" "Galaxy M02s" "SM-M045F" "Galaxy M04" "SM-M055F" "Galaxy M05" +"SM-M066B" "Galaxy M06 5G" "SM-M105G" "Galaxy M10 Global" "SM-M105F" "Galaxy M10 India" "SM-M105M" "Galaxy M10 Latin America" @@ -1640,8 +1721,8 @@ "SM-M136B" "Galaxy M13 5G" "SM-M145F" "Galaxy M14" "SM-M146B" "Galaxy M14 5G" -"SM-M156B" "Galaxy M15 5G Global" -"SM-E156B" "Galaxy M15 5G India" +"SM-M156B" "Galaxy M15 5G" +"SM-M166P" "Galaxy M16 5G" "SM-M205N" "Galaxy M20 South Korea" "SM-M205F" "Galaxy M20 Global" "SM-M205FN" "Galaxy M20 EU" @@ -1676,14 +1757,18 @@ "SM-M556B" "Galaxy M55 5G India" "SM-M556E" "Galaxy M55 5G Global" "SM-M558B" "Galaxy M55s 5G" +"SM-M566B" "Galaxy M56 5G" "SM-M625F" "Galaxy M62" "SM-E025F" "Galaxy F02s" "SM-E045F" "Galaxy F04" "SM-E055F" "Galaxy F05" +"SM-E066B" "Galaxy F06 5G" "SM-F127G" "Galaxy F12" "SM-E135F" "Galaxy F13" "SM-E145F" "Galaxy F14" "SM-E146B" "Galaxy F14 5G" +"SM-E156B" "Galaxy F15 5G" +"SM-E166P" "Galaxy F16 5G" "SM-E225F" "Galaxy F22" "SM-E236B" "Galaxy F23 5G" "SM-E346B" "Galaxy F34 5G" @@ -1691,21 +1776,8 @@ "SM-E426B" "Galaxy F42 5G" "SM-E546B" "Galaxy F54 5G" "SM-E556B" "Galaxy F55 5G" +"SM-E566B" "Galaxy F56 5G" "SM-E625F" "Galaxy F62" -"ASUS_Z01QD" "ROG 遊戲手機" -"ASUS_I001DB" "ROG 遊戲手機 2" -"ASUS_I003DD" "ROG 遊戲手機 3" -"ASUS_I005DA" "騰訊 ROG 遊戲手機 5" -"ASUS_I005DB" "騰訊 ROG 遊戲手機 5 Pro" -"ASUS_AI2201_A" "騰訊 ROG 遊戲手機 6" -"ASUS_AI2201_B" "騰訊 ROG 遊戲手機 6 Pro" -"ASUS_AI2203_A" "騰訊 ROG 遊戲手機 6 天璣版" -"ASUS_AI2203_B" "騰訊 ROG 遊戲手機 6 天璣至尊版" -"ASUS_AI2205_A" "騰訊 ROG 遊戲手機 7" -"ASUS_AI2205_B" "騰訊 ROG 遊戲手機 7 Pro" -"ASUS_AI2401_A" "ROG 遊戲手機 8 / ROG 遊戲手機 8 Pro" -"ASUSAI2501A" "ROG 遊戲手機 9 / ROG 遊戲手機 9 Pro" -"ASUS_I007D" "Smartphone for Snapdragon Insiders" "SKR-A0" "黑鯊遊戲手機 全網通版" "SKR-H0" "黑鯊遊戲手機 國際版" "AWM-A0" "黑鯊遊戲手機 Helo" @@ -1805,6 +1877,9 @@ "GQ57S" "Pixel 9 Pro XL (Japan)" "GGH2X" "Pixel 9 Pro Fold (Global)" "GC15S" "Pixel 9 Pro Fold (Japan)" +"GXQ96" "Pixel 9a (US)" +"GTF7P" "Pixel 9a (Global)" +"G3Y12" "Pixel 9a (Japan)" "C1502W" "Pixel C" "GTU8P" "Pixel Tablet" "GQF4C" "Pixel Watch Bluetooth & Wi-Fi" @@ -1923,6 +1998,8 @@ "SP523FC" "聯想啟天 SmartPaper 10.3 英寸 Wi-Fi 版" "TB330FU" "聯想昭陽 K10 10.95 英寸 Wi-Fi 版" "TB330XC" "聯想昭陽 K10 10.95 英寸 LTE 版" +"TB311FU" "聯想昭陽 K10c 10.1 英寸 Wi-Fi 版" +"TB311XC" "聯想昭陽 K10c 10.1 英寸 LTE 版" "TB352FC" "聯想昭陽 K11 11.5 英寸 Wi-Fi 版" "TB352XC" "聯想昭陽 K11 11.5 英寸 LTE 版" "TB373FU" "聯想昭陽 K12 (二代) 12.7 英寸 Wi-Fi 版" @@ -2163,7 +2240,7 @@ "XT2323-3" "moto razr 40" "XT2321-2" "moto razr 40 Ultra" "XT2343-3" "moto g54" -"XT2363-4" "moto g34" +"XT2363-4" "moto g34 / moto g34s" "XT2401-2" "moto X50 Ultra" "XT2409-5" "moto S50" "XT2427-4" "moto S50 Neo" @@ -2193,6 +2270,8 @@ "AIN065" "Nothing Phone (2) India" "A142" "Nothing Phone (2a)" "A142P" "Nothing Phone (2a) Plus" +"A059" "Nothing Phone (3a)" +"A059P" "Nothing Phone (3a) Plus" "A015" "CMF Phone 1" "NX501" "nubia Z5" "NX402" "nubia Z5 mini" @@ -2236,11 +2315,14 @@ "NX725J" "nubia Z60S Pro" "NX733J" "nubia Z70 Ultra" "NX736J" "nubia Z70 Ultra 星空典藏版 (衛星通信)" +"NX737J" "nubia Z70S Ultra 攝影師版" "NX601J" "nubia X6" "NX616J" "nubia X" "NX612J" "nubia V18" "NX651J" "nubia Play" "NX724J" "nubia Flip 5G / nubia Flip 5G S" +"NX732J" "nubia Flip 2 國行版" +"A404ZT" "nubia Flip 2 SoftBank" "NX302J" "nubia 小牛" "NX513J" "nubia My 布拉格 全網通版" "NX513H" "nubia My 布拉格 雙 4G 版" @@ -2267,8 +2349,10 @@ "Z2459" "nubia V70" "Z2458" "nubia V70 Design" "Z2467" "nubia V70 Max" +"A403ZT" "nubia S 5G SoftBank" "LPD-20W" "nubia Pad 3D" "NP02J" "nubia Pad 3D II" +"K99J" "nubia Pad SE" "NX609J" "紅魔電競遊戲手機" "NX619J" "紅魔 Mars 電競手機" "NX629J" "紅魔 3" @@ -2285,6 +2369,7 @@ "NX729S" "紅魔 8S Pro / 紅魔 8S Pro+" "NX769J" "紅魔 9 Pro / 紅魔 9 Pro+" "NX789J" "紅魔 10 Pro / 紅魔 10 Pro+" +"NX779J" "紅魔 10 Air" "NP01J" "紅魔電競平板 5G" "NP03J" "紅魔電競平板 Pro" "ONE A0001" "OnePlus One 全網通版 / 移動版 / 國際版" @@ -2391,8 +2476,16 @@ "PJF110" "OnePlus Ace 3V 國行版" "PJX110" "OnePlus Ace 3 Pro 國行版" "PJZ110" "OnePlus 13 國行版" +"CPH2649" "OnePlus 13 印度版" +"CPH2653" "OnePlus 13 歐洲版 / 國際版" +"CPH2655" "OnePlus 13 北美版" "PKG110" "OnePlus Ace 5 國行版" +"CPH2645" "OnePlus 13R 歐洲版 / 國際版" +"CPH2647" "OnePlus 13R 北美版" +"CPH2691" "OnePlus 13R 印度版" "PKR110" "OnePlus Ace 5 Pro 國行版" +"PKX110" "OnePlus 13T 國行版" +"CPH2723" "OnePlus 13T 國際版" "AC2001" "OnePlus Nord 印度版" "AC2003" "OnePlus Nord 歐洲版 / 國際版" "DN2101" "OnePlus Nord 2 印度版" @@ -2430,26 +2523,29 @@ "DE2118" "OnePlus Nord N200 T-Mobile 版" "CPH2389" "OnePlus Nord N300" "CPH2551" "OnePlus Open" -"OPD2203" "OnePlus Pad (國際)" +"OPD2203" "OnePlus Pad (2023)" "OPD2304" "OnePlus Pad Go LTE" "OPD2305" "OnePlus Pad Go Wi-Fi" -"OPD2407" "OnePlus Pad (國行)" +"OPD2407" "OnePlus Pad (2024)" "OPD2404" "OnePlus Pad Pro" "OPD2403" "OnePlus Pad 2" "W101IN" "OnePlus Band 印度版" "OPBBE221" "OnePlus Nord Watch " "W301CN" "OnePlus Watch 國行版 / Cyberpunk 2077 限定版" "W501CN" "OnePlus Watch 鈷合金限定版 (國行)" -"W301GB" "OnePlus Watch 國際版 / 鈷合金限定版 (國際)" +"W301GB" "OnePlus Watch 國際版 / 鈷合金限定版 (國際) / 哈利波特限定版" "OPWW234" "OnePlus Watch 2 (國行)" "OPWWE234" "OnePlus Watch 2R" -"OPWWE231" "OnePlus Watch 2" +"OPWWE231" "OnePlus Watch 2 (國際)" +"OPWW251" "OnePlus Watch 3 (國行)~" +"OPWWE251" "OnePlus Watch 3 (國際)" "E6683" "Xperia Z5 dual" "E6883" "Xperia Z5 Premium" "F8332" "Xperia XZ" "G8142" "Xperia XZ Premium" "G8232" "Xperia XZs" "G8342" "Xperia XZ1" +"G8441" "Xperia XZ1c" "H4233" "Xperia XA2 Ultra" "H8296" "Xperia XZ2" "H8166" "Xperia XZ2 Premium" @@ -2467,6 +2563,9 @@ "XQ-CQ72" "Xperia 5 IV" "XQ-DQ72" "Xperia 1 V" "XQ-DE72" "Xperia 5 V" +"XQ-DC72" "Xperia 10 V" +"XQ-EC72" "Xperia 1 VI" +"XQ-ES72" "Xperia 10 VI" "RMX1901" "真我 X" "RMX1851" "真我 X 青春版" "RMX1991" "真我 X2" @@ -2492,7 +2591,9 @@ "RMX3823" "真我 GT5 240W" "RMX3888" "真我 GT5 Pro" "RMX3800" "真我 GT6" +"RMX6688" "真我 GT7" "RMX5010" "真我 GT7 Pro" +"RMX5090" "真我 GT7 Pro 競速版" "RMX3031" "真我 GT Neo 5G" "RMX3350" "真我 GT Neo 閃速版" "RMX3370" "真我 GT Neo2" @@ -2505,6 +2606,8 @@ "RMX3852" "真我 GT Neo6" "RMX3850" "真我 GT Neo6 SE" "RMX5060" "真我 Neo7" +"RMX5080" "真我 Neo7 SE" +"RMX5071" "真我 Neo7x" "RMX1971" "真我 Q" "RMX2117" "真我 Q2 5G" "RMX2173" "真我 Q2 Pro 5G" @@ -2534,6 +2637,9 @@ "RMX5002" "真我 13 Pro" "RMX3989" "真我 13 Pro 至尊版" "RMX3920" "真我 13 Pro+" +"RMX5075" "真我 14" +"RMX5055" "真我 14 Pro" +"RMX5050" "真我 14 Pro+" "RMX2201" "真我 V3 5G 運營商定制版" "RMX2111" "真我 V5 5G 全網通版" "RMX2112" "真我 V5 5G 運營商定制版" @@ -2555,6 +2661,8 @@ "RMX3995" "真我 V60" "RMX3996" "真我 V60s" "RMX3953" "真我 V60 Pro" +"RMX3946" "真我 V70" +"RMX3948" "真我 V70s" "RMP2108" "真我平板 X" "CPH1861" "realme 1" "RMX1805" "realme 2" @@ -2608,9 +2716,12 @@ "RMX3840" "realme 12 Pro+ 5G" "RMX3951" "realme 13 5G" "RMX5000" "realme 13+ 5G" -"RMX3990" "realme 13 Pro 5G" +"RMX3990" "realme 13 Pro 5G / realme 14 Pro Lite 5G" "RMX3921" "realme 13 Pro+ 5G" +"RMX5070" "realme 14 5G" "RMX3940" "realme 14x 5G" +"RMX5056" "realme 14 Pro 5G" +"RMX5051" "realme 14 Pro+ 5G" "RMX1921" "realme XT Global" "RMX1922" "realme XT India" "RMX1992" "realme X2 India" @@ -2668,11 +2779,15 @@ "RMX3782" "realme C67 5G" "RMX3941" "realme C75" "RMX3834" "realme Note 50" +"RMX3938" "realme Note 60x" "RMX1833" "realme U1" "RMX3870" "realme P1 5G" "RMX3844" "realme P1 Pro 5G" "RMX5004" "realme P1 Speed 5G" "RMX3987" "realme P2 Pro 5G" +"RMX3944" "realme P3x 5G" +"RMX5032" "realme P3 Pro 5G" +"RMX5030" "realme P3 Ultra 5G" "RMX2020" "realme Narzo 10A India" "RMX2191" "realme Narzo 20 Global" "RMX2161" "realme Narzo 20 Pro India" @@ -2694,6 +2809,7 @@ "RMX3869" "realme NARZO 70 5G" "RMX3868" "realme NARZO 70 Pro 5G" "RMX5003" "realme NARZO 70 Turbo 5G" +"RMX5033" "realme NARZO 80 Pro 5G" "RMP2102" "realme Pad LTE" "RMP2103" "realme Pad Wi-Fi" "RMP2105" "realme Pad mini LTE" @@ -2701,6 +2817,7 @@ "RMP2107" "realme Pad X 5G" "RMP2204" "realme Pad 2 LTE" "RMP2205" "realme Pad 2 Wi-Fi" +"RMP2402" "realme Pad 2 Lite" "V1821A" "vivo NEX 雙屏版 全網通版" "V1821T" "vivo NEX 雙屏版 移動全網通版" "V1923A" "vivo NEX 3 全網通版" @@ -2761,6 +2878,9 @@ "V2405A" "vivo X200 Pro" "V2405DA" "vivo X200 Pro 衛星通信版" "V2419A" "vivo X200 Pro mini" +"V2458A" "vivo X200s" +"V2454A" "vivo X200 Ultra" +"V2454DA" "vivo X200 Ultra 衛星通信版" "V1831A" "vivo S1 全網通版" "V1831T" "vivo S1 移動全網通版" "V1832A" "vivo S1 Pro 全網通版" @@ -2859,10 +2979,14 @@ "V2313A" "vivo Y100 5G" "V2314DA" "vivo Y100t 5G" "V2343A" "vivo Y200 5G" -"V2361GA" "vivo Y200 GT 5G" +"V2361GA" "vivo Y200 GT 5G / vivo Y200 Pro 企業定制版" "V2353DA" "vivo Y200t 5G" "V2435A" "vivo Y300 5G" "V2410A" "vivo Y300 Pro 5G" +"V2456A" "vivo Y300 Pro+ 5G" +"V2444A" "vivo Y300i 5G" +"V2445EA" "vivo Y300t 5G" +"V2452GA" "vivo Y300 GT 5G" "V2115A" "vivo T1" "V2188A" "vivo T2x" "V1801A0" "vivo Z1" @@ -2945,6 +3069,10 @@ "V2352GA" "iQOO Z9 Turbo 長續航版" "V2417A" "iQOO Z9 Turbo+" "V2353A" "iQOO Z9x" +"V2436A" "iQOO Z10" +"V2452A" "iQOO Z10 Turbo" +"V2453A" "iQOO Z10 Turbo Pro" +"V2445A" "iQOO Z10x" "V2023A" "iQOO U1" "V2065A" "iQOO U1x" "V2061A" "iQOO U3 5G" @@ -2958,6 +3086,8 @@ "PA2353" "vivo Pad Air" "PA2455" "vivo Pad3" "PA2473" "vivo Pad3 Pro" +"PA2573" "vivo Pad5 Pro" +"PA2511" "vivo Pad SE" "iPA2375" "iQOO Pad" "iPA2451" "iQOO Pad Air" "iPA2453" "iQOO Pad2" @@ -2965,6 +3095,7 @@ "vivo 2005" "vivo X50" "V2006" "vivo X50 Pro" "V1930" "vivo X50e 5G" +"V1937" "vivo X50 Lite" "V2045" "vivo X60" "V2046" "vivo X60 Pro" "V2047" "vivo X60 Pro+" @@ -2988,8 +3119,7 @@ "vivo 2018" "vivo V20 Pro" "V2023" "vivo V20 SE" "V2040" "vivo V20 2021" -"V2066" "vivo V21" -"V2050" "vivo V21 5G" +"V2108" "vivo V21 5G" "V2061" "vivo V21e" "V2055" "vivo V21e 5G" "V2130" "vivo V23 5G" @@ -3004,24 +3134,29 @@ "V2237" "vivo V27e" "V2250" "vivo V29" "V2251" "vivo V29 Pro" -"V2317" "vivo V29e 5G" +"V2317" "vivo V29e 5G Global" +"V2303" "vivo V29e 5G India" "V2244" "vivo V29 Lite 5G" "V2318" "vivo V30" "V2319" "vivo Y30 Pro" "V2340" "vivo V30e" "V2342" "vivo V30 Lite" -"V2327" "vivo V30 Lite 5G" +"V2314" "vivo V30 Lite 5G Global" +"V2327" "vivo V30 Lite 5G (ME)" "V2349" "vivo V30 SE" "V2348" "vivo V40" "V2347" "vivo V40 Pro" "V2403" "vivo V40e" -"V2424" "vivo V40 Lite" -"V2418" "vivo V40 Lite 5G" +"V2424" "vivo V40 Lite Indonesia" +"V2341" "vivo V40 Lite 5G Global" +"V2418" "vivo V40 Lite 5G Indonesia" "V2337" "vivo V40 SE 5G" -"V2427" "vivo V50" +"V2451" "vivo V50" +"V2504" "vivo V50 Pro" "V2428" "vivo V50e" -"V2440" "vivo V50 Lite" -"V1937" "vivo S1 Prime" +"V2441" "vivo V50 Lite" +"V2453" "vivo V50 Lite 5G" +"V2440" "Jovi V50 Lite" "vivo 1920_20" "vivo S1 Pro" "V2168" "vivo T1" "V2157" "vivo T1 5G" @@ -3036,6 +3171,8 @@ "V2404" "vivo T3 Pro 5G" "V2356" "vivo T3 Lite 5G" "V2426" "vivo T3 Ultra 5G" +"V2502" "vivo T4 5G" +"V2437" "vivo T4x 5G" "vivo 2015_21" "vivo Y1s" "V2044" "vivo Y3s" "vivo 1902" "vivo Y5" @@ -3047,10 +3184,12 @@ "V2325" "vivo Y02t" "V2406" "vivo Y03" "V2409" "vivo Y03t" +"V2438" "vivo Y04" "V2028" "vivo Y11s" "vivo 1904" "vivo Y12" "V2026" "vivo Y12A" "V2048" "vivo Y12D" +"V2026_21" "vivo Y12s" "V2042" "vivo Y12s" "vivo 1901" "vivo Y15" "V2134" "vivo Y15A" @@ -3064,7 +3203,10 @@ "V2350" "vivo Y18e" "V2414" "vivo Y18i" "vivo 1915" "vivo Y19" -"V2419" "vivo Y19s" +"V2423" "vivo Y19s" +"V2454" "Jovi Y19s" +"V2519" "vivo Y19s Pro" +"V2431" "vivo Y19e" "V2027" "vivo Y20" "V2037" "vivo Y20G" "V2032" "vivo Y20i" @@ -3072,7 +3214,7 @@ "V2038" "vivo Y20s [G]" "V2129" "vivo Y20T" "V2043_21" "vivo Y20 2021" -"V2065" "vivo Y20g 2021" +"V2065" "vivo Y20G 2021" "V2111" "vivo Y21" "V2111-EG" "vivo Y21A" "V2140" "vivo Y21e" @@ -3089,7 +3231,10 @@ "V2315" "vivo Y28 5G" "V2351" "vivo Y28s 5G" "V2407" "vivo Y28e 5G" +"V2435" "vivo Y29" +"V2445" "Jovi Y29" "V2420" "vivo Y29 5G" +"V2446" "vivo Y29s 5G" "V2160" "vivo Y30 5G" "V2036_21" "vivo Y31" "V2057" "vivo Y33" @@ -3100,7 +3245,8 @@ "V2324" "vivo Y36" "V2248" "vivo Y36 5G" "V2343" "vivo Y38 5G" -"V2444" "vivo Y39 5G" +"V2447" "vivo Y39 5G" +"V2444" "Jovi Y39 5G" "V2035" "vivo Y51" "V2031_21" "vivo Y51s" "V2053" "vivo Y52 5G" @@ -3110,8 +3256,8 @@ "V2311" "vivo Y56 5G" "V2355" "vivo Y58 5G" "V2443" "vivo Y59 5G" -"V2041" "vivo Y72" -"V2060" "vivo Y72 5G" +"V2041" "vivo Y72 5G Global" +"V2060" "vivo Y72 5G India" "V2059-EG" "vivo Y73" "V2117" "vivo Y75" "V2142" "vivo Y75 5G" @@ -3119,6 +3265,7 @@ "V2169" "vivo Y77 5G" "V2412" "vivo Y100" "V2222" "vivo Y100A 5G" +"V2425" "vivo Y200" "V2307" "vivo Y200 5G" "V2401" "vivo Y200 Pro 5G" "V2336" "vivo Y200e 5G" @@ -3127,26 +3274,28 @@ "V2402" "vivo Y300 Pro 5G" "I1927" "iQOO 3 4G" "I1928" "iQOO 3 5G" -"I2012" "iQOO 7" +"I2009" "iQOO 7 Global" +"I2012" "iQOO 7 India" "I2017" "iQOO 9" -"I2201" "iQOO 9T" "I2022" "iQOO 9 Pro" "I2019" "iQOO 9 SE" +"I2201" "iQOO 9T" "I2212" "iQOO 11" "I2220" "iQOO 12" "I2401" "iQOO 13" "I2202" "iQOO Neo6" -"I2214" "iQOO Neo7 5G" -"I2217" "iQOO Neo7 Pro 5G" -"I2303" "iQOO Neo9" +"I2214" "iQOO Neo7" +"I2217" "iQOO Neo7 Pro" "I2304" "iQOO Neo9 Pro" +"I2221" "iQOO Neo10R" "I2011" "iQOO Z3 5G" "I2018" "iQOO Z5" -"I2206" "iQOO Z6" -"I2126" "iQOO Z6 Pro" +"I2127" "iQOO Z6 5G" +"I2206" "iQOO Z6 44W" +"I2126" "iQOO Z6 Pro 5G" "I2208" "iQOO Z6 Lite 5G" -"I2205" "iQOO Z6 Pro SE" -"I2213" "iQOO Z7 5G" +"I2213" "iQOO Z7 5G Global" +"I2207" "iQOO Z7 5G India" "I2223" "iQOO Z7s 5G" "I2216" "iQOO Z7x 5G" "I2301" "iQOO Z7 Pro 5G" @@ -3155,6 +3304,8 @@ "I2306" "iQOO Z9 Lite 5G" "I2403" "iQOO Z9s 5G" "I2305" "iQOO Z9s Pro 5G" +"I2407" "iQOO Z10 5G" +"I2404" "iQOO Z10x 5G" "PAFM00" "OPPO Find X 標準版 全網通版" "PAFT00" "OPPO Find X 標準版 移動版" "PAHM00" "OPPO Find X 超級閃充版/蘭博基尼版 全網通版" @@ -3175,11 +3326,17 @@ "PKB110" "OPPO Find X8" "PKC110" "OPPO Find X8 Pro" "PKC130" "OPPO Find X8 Pro 衛星通信版" +"PKT110" "OPPO Find X8s" +"PLB110" "OPPO Find X8s+" +"PKJ110" "OPPO Find X8 Ultra" +"PKU110" "OPPO Find X8 Ultra 衛星通信版" "PEUM00" "OPPO Find N" "PGU110" "OPPO Find N2" "PGT110" "OPPO Find N2 Flip" "PHN110" "OPPO Find N3 / OPPO Find N3 典藏版" "PHT110" "OPPO Find N3 Flip" +"PKH110" "OPPO Find N5" +"PKH120" "OPPO Find N5 衛星通信版" "PCAM00" "OPPO Reno 全網通版" "PCAT00" "OPPO Reno 移動版" "PCCM00" "OPPO Reno 10 倍變焦版 全網通版" @@ -3296,12 +3453,14 @@ "PJU110" "OPPO A1i / OPPO A2m" "PJS110" "OPPO A2x" "PJG110" "OPPO A2 Pro" -"PKA110" "OPPO A3 5G (2024)" +"PKA110" "OPPO A3 5G (2024) / OPPO A3i Plus" "PKD110" "OPPO A3 活力版" "PKD120" "OPPO A3m" "PKD130" "OPPO A3x" "PKL110" "OPPO A3i" "PJY110" "OPPO A3 Pro" +"PKQ110" "OPPO A5 5G (2025)" +"PKV110" "OPPO A5 活力版" "PKP110" "OPPO A5 Pro" "PBCM30" "OPPO K1" "PCGM00" "OPPO K3 全網通版" @@ -3321,12 +3480,14 @@ "PJR110" "OPPO K12" "PKS110" "OPPO K12 Plus" "PJT110" "OPPO K12x" +"PLD110" "OPPO K12s" "OPD2101" "OPPO Pad" "OPD2102" "OPPO Pad Air" "OPD2201" "OPPO Pad 2" "OPD2301" "OPPO Pad Air2" "OPD2405" "OPPO Pad 3" "OPD2401" "OPPO Pad 3 Pro" +"OPD2409" "OPPO Pad 4 Pro" "OB19B1" "OPPO Band 標準版 / 名偵探柯南限定版" "OB19B3" "OPPO Band NFC 版" "OB19O0" "OPPO Band 時尚版" @@ -3344,13 +3505,13 @@ "OW20W1" "OPPO Watch 2 46mm eSIM 版 / 李寧限定版" "OW20W2" "OPPO Watch 2 42mm eSIM 版 / 名偵探柯南限定版" "OW20W3" "OPPO Watch 2 46mm ECG" +"OWW213" "OPPO Watch SE" "OWW212" "OPPO Watch 3" "OWW211" "OPPO Watch 3 Pro" -"OWW213" "OPPO Watch SE" "OWW221" "OPPO Watch 4 Pro" "OWW231" "OPPO Watch X" -"OWW242" "OPPO Watch" -"OWW251" "OPPO Watch" +"OWW251" "OPPO Watch X2" +"OWW242" "OPPO Watch X2 Mini" "CPH1875" "OPPO Find X" "CPH2023" "OPPO Find X2" "CPH2025" "OPPO Find X2 Pro" @@ -3370,6 +3531,7 @@ "CPH2437" "OPPO Find N2 Flip" "CPH2499" "OPPO Find N3" "CPH2519" "OPPO Find N3 Flip" +"CPH2671" "OPPO Find N5" "CPH1917" "OPPO Reno" "CPH1921" "OPPO Reno 5G" "CPH1919" "OPPO Reno 10x Zoom" @@ -3424,6 +3586,10 @@ "CPH2625" "OPPO Reno12 5G" "CPH2629" "OPPO Reno12 Pro 5G" "CPH2637" "OPPO Reno12 F 5G / OPPO Reno12 FS 5G" +"CPH2689" "OPPO Reno13 5G" +"CPH2697" "OPPO Reno13 Pro 5G" +"CPH2701" "OPPO Reno13 F" +"CPH2699" "OPPO Reno13 F 5G" "CPH1821" "OPPO F7" "CPH1859" "OPPO F7 Youth" "CPH1881" "OPPO F9" @@ -3438,6 +3604,8 @@ "CPH2455" "OPPO F21s Pro 5G" "CPH2527" "OPPO F23 5G" "CPH2643" "OPPO F27 Pro+ 5G" +"CPH2721" "OPPO F29 5G" +"CPH2705" "OPPO F29 Pro 5G" "CPH1835" "OPPO R15" "CPH1833" "OPPO R15 Pro" "CPH1879" "OPPO R17" @@ -3451,12 +3619,15 @@ "CPH1805" "OPPO A3s" "CPH2641" "OPPO A3x" "CPH2681" "OPPO A3x 5G" -"CPH2667" "OPPO A3 Pro 5G" +"CPH2665" "OPPO A3 Pro 5G" "CPH1809" "OPPO A5" "CPH1912" "OPPO A5s" "CPH1851" "OPPO AX5" "CPH1920" "OPPO AX5s" "CPH1943" "OPPO A5 2020" +"CPH2773" "OPPO A5i" +"CPH2711" "OPPO A5 Pro" +"CPH2695" "OPPO A5 Pro 5G" "CPH1905" "OPPO A7" "CPH1903" "OPPO AX7" "CPH1938" "OPPO A9" @@ -3512,14 +3683,17 @@ "CPH2529" "OPPO A98 5G" "CPH1955" "OPPO K3" "CPH2373" "OPPO K10" +"CPH2667" "OPPO K12x 5G" "OPD2102A" "OPPO Pad Air" "OPD2202" "OPPO Pad 2" "OPD2302" "OPPO Pad Neo Wi-Fi" "OPD2303" "OPPO Pad Neo LTE" +"OPD2406" "OPPO Pad 3" "OPD2402" "OPPO Pad 3 Pro" "OBBE215" "OPPO Band 2 Japan" "OWWE201" "OPPO Watch Free" -"OW19W6" "OPPO Watch 41mm Wi-Fi" -"OW19W8" "OPPO Watch 46mm Wi-Fi" +"OW19W6" "OPPO Watch 41mm" +"OW19W8" "OPPO Watch 46mm" "OW19W12" "OPPO Watch 46mm LTE" "OWWE231" "OPPO Watch X" +"OWWE251" "OPPO Watch X2" diff --git a/tools/classes.dex b/tools/classes.dex index ef14b62..88385d8 100644 Binary files a/tools/classes.dex and b/tools/classes.dex differ diff --git a/tools/tools.sh b/tools/tools.sh index 887f62a..d7e423a 100644 --- a/tools/tools.sh +++ b/tools/tools.sh @@ -9,7 +9,7 @@ MODDIR="$MODDIR" MODDIR_NAME="${MODDIR##*/}" tools_path="$MODDIR/tools" script="${0##*/}" -backup_version="202412282251" +backup_version="202502272204" [[ $SHELL = *mt* ]] && echo "請勿使用MT管理器拓展包環境執行,請更換系統環境" && exit 2 update_backup_settings_conf() { echo "#0關閉音量鍵選擇 (如選項未設置,則強制使用音量鍵選擇) @@ -261,7 +261,7 @@ arm64*) exit 1 ;; esac -PATH="/sbin/.magisk/busybox:/sbin/.magisk:/sbin:/data/adb/ksu/bin:/system_ext/bin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin:/data/data/com.omarea.vtools/files/toolkit:/data/user/0/com.termux/files/usr/bin" +PATH="/data/adb/ksu/bin:/sbin/.magisk/busybox:/sbin/.magisk:/sbin:/data/adb/ksu/bin:/system_ext/bin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin:/data/data/com.omarea.vtools/files/toolkit:/data/user/0/com.termux/files/usr/bin" if [[ -d $(magisk --path 2>/dev/null) ]]; then PATH="$(magisk --path 2>/dev/null)/.magisk/busybox:$PATH" else @@ -340,7 +340,7 @@ while read -r file expected_hash; do done <<< "$(cat <0) | split(" ") | {(.[0]): (.[1:] | join(" "))}] | add')" - if [[ $Get_Permissions != "" ]]; then + if [[ $Get_Permissions != "" && ($Get_Permissions = *true* || $Get_Permissions = *false*) ]]; then if [[ $get_Permissions = "" ]]; then jq --arg packageName "$name1" --argjson permissions "$Get_Permissions" '.[$packageName].permissions |= $permissions' "$app_details" > temp.json && cp temp.json "$app_details" && rm -rf temp.json echo_log "備份權限" else - [[ $get_Permissions != $Get_Permissions ]] && jq --arg packageName "$name1" --argjson permissions "$Get_Permissions" '.[$packageName] |= . + {permissions: $permissions}' "$app_details" > temp.json && cp temp.json "$app_details" && rm -rf temp.json && echo_log "備份權限" "備份" + if [[ $get_Permissions != "" && ($get_Permissions == *true* || $get_Permissions == *false*) ]]; then + [[ $get_Permissions != $Get_Permissions ]] && jq --arg packageName "$name1" --argjson permissions "$Get_Permissions" '.[$packageName] |= . + {permissions: $permissions}' "$app_details" > temp.json && cp temp.json "$app_details" && rm -rf temp.json && echo_log "備份權限" "備份" + fi fi + else + echoRgb "備份權限失敗$(get_Permissions "$name2")" "0" fi } #檢測數據位置進行備份 @@ -1233,10 +1237,17 @@ Backup_data() { esac ;; *) - case $Compression_method in - tar | Tar | TAR) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/QQ" --exclude="${data_path##*/}/Telegram" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf "$Backup_folder/$1.tar" -C "${data_path%/*}" "${data_path##*/}" ;; - zstd | Zstd | ZSTD) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/QQ" --exclude="${data_path##*/}/Telegram" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf - -C "${data_path%/*}" "${data_path##*/}" | zstd --ultra -3 -T0 -q --priority=rt >"$Backup_folder/$1.tar.zst" ;; - esac + if [[ $ksu = "" ]]; then + case $Compression_method in + tar | Tar | TAR) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/QQ" --exclude="${data_path##*/}/Telegram" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf "$Backup_folder/$1.tar" -C "${data_path%/*}" "${data_path##*/}" ;; + zstd | Zstd | ZSTD) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/QQ" --exclude="${data_path##*/}/Telegram" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf - -C "${data_path%/*}" "${data_path##*/}" | zstd --ultra -3 -T0 -q --priority=rt >"$Backup_folder/$1.tar.zst" ;; + esac + else + case $Compression_method in + tar | Tar | TAR) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/QQ" --exclude="${data_path##*/}/Telegram" --exclude="${data_path##*/}/modules" --exclude="${data_path##*/}/modules_update" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf "$Backup_folder/$1.tar" -C "${data_path%/*}" "${data_path##*/}" ;; + zstd | Zstd | ZSTD) tar --checkpoint-action="ttyout=%T\r" --exclude="Backup_"* --exclude="${data_path##*/}/cache" --exclude="${data_path##*/}/QQ" --exclude="${data_path##*/}/Telegram" --exclude="${data_path##*/}/modules" --exclude="${data_path##*/}/modules_update" --exclude="${data_path##*/}"/.* --warning=no-file-changed -cpf - -C "${data_path%/*}" "${data_path##*/}" | zstd --ultra -3 -T0 -q --priority=rt >"$Backup_folder/$1.tar.zst" ;; + esac + fi ;; esac echo_log "備份$1數據" @@ -1348,12 +1359,12 @@ Release_data() { else Set_back_1 fi - echo_log "解壓縮${FILE_NAME##*.}" + echo_log "解壓縮$FILE_NAME" if [[ $result = 0 ]]; then case $FILE_NAME2 in user|data|obb|user_de) G="$(get_uid "$name2" 2>/dev/null)" - if [[ $G != "" ]]; then + if [[ $G = "" ]]; then G="$(dumpsys package "$name2" 2>/dev/null | awk -F'uid=' '{print $2}' | egrep -o '[0-9]+' | head -n 1)" [[ $(echo "$G" | egrep -o '[0-9]+') = "" ]] && G="$(pm list packages -U --user "$user" | egrep -w "$name2" | awk -F'uid:' '{print $2}' | awk '{print $1}' | head -n 1)" fi @@ -1722,11 +1733,11 @@ restore_permissions () { false_permissions="$(jq -r 'to_entries[] | select(.value.permissions != null) | .value.permissions | to_entries | map(select(.value | startswith("false")) | .key) | join(" ")' "$app_details")" Set_Ops_permissions="$(jq -r '.[] | select(.permissions != null).permissions | to_entries | map(.value | split(" ")) | map(select(.[1] != "-1")) | map(.[1:]) | flatten | join(" ")' "$app_details")" [[ $true_permissions != "" ]] && { - Set_true_Permissions "$name2" "$true_permissions" &>/dev/null + Set_true_Permissions "$name2" "$true_permissions" [[ $? != 0 ]] && echo_log "設置允許權限" } [[ $false_permissions != "" ]] && { - Set_false_Permissions "$name2" "$false_permissions" &>/dev/null + Set_false_Permissions "$name2" "$false_permissions" [[ $? != 0 ]] && echo_log "設置拒絕權限" } [[ $Set_Ops_permissions != "" ]] && { @@ -1995,7 +2006,7 @@ backup) #開始循環$txt內的資料進行備份 #記錄開始時間 en=118 - echo "$script">"$TMPDIR/scriptTMP" && echo "$script">"$TMPDIR/scriptTMP" + echo "$script">"$TMPDIR/scriptTMP" osn=0; osj=0; osk=0 #獲取已經開啟的無障礙 var="$(settings get secure enabled_accessibility_services 2>/dev/null)" @@ -2025,9 +2036,9 @@ backup) apk_path2="${apk_path2%/*}" if [[ -d $apk_path2 ]]; then echoRgb "備份第$i/$r個應用 剩下$((r - i))個" "3" - echoRgb "備份 $name1 \"$name2\"" "2" + echoRgb "備份 $name1" "2" notification "101" "備份第$i/$r個應用 剩下$((r - i))個 -備份 $name1 \"$name2\"" +備份 $name1" unset Backup_folder ChineseName PackageName nobackup No_backupdata result apk_version apk_version2 zsize zmediapath Size data_path Ssaid ssaid Permissions nobackup="false" Background_application_list @@ -2053,6 +2064,7 @@ backup) if [[ -f $app_details ]]; then PackageName="$(jq -r '.[] | select(.PackageName != null).PackageName' "$app_details")" [[ $PackageName != $name2 ]] && jq --arg name2 "$name2" 'walk(if type == "object" and .PackageName then .PackageName = $name2 else . end)' "$app_details" > temp.json && cp temp.json "$app_details" && rm -rf temp.json + echoRgb "上次備份時間$(jq -r --arg entry "Backup time" '.[$entry] | select(.date != null).date' "$app_details" 2>/dev/null)" fi [[ $hx = USB && $PT = "" ]] && echoRgb "隨身碟意外斷開 請檢查穩定性" "0" && exit 1 starttime2="$(date -u "+%s")" @@ -2149,9 +2161,6 @@ backup) if [[ $ksu != ksu ]]; then echoRgb "Magisk adb" Backup_data "${REPLY##*/}" "$REPLY" - else - echoRgb "KernelSU adb不支持備份" "0" - Set_back_0 fi else Backup_data "${REPLY##*/}" "$REPLY" @@ -2366,7 +2375,7 @@ Restore|Restore2) if [[ $operate = Restore ]]; then echoRgb "恢復第$i/$r個應用 剩下$((r - i))個" "3" notification "105" "恢復第$i/$r個應用 剩下$((r - i))個 -恢復 $name1 \"$name2\"" +恢復 $name1" if [[ ! -f $txt ]]; then [[ $(echo "$txt") != "" ]] && { name1="$(echo "$txt" | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $1}')" @@ -2392,7 +2401,7 @@ Restore|Restore2) [[ $name2 = "" ]] && echoRgb "應用包名獲取失敗" "0" && exit 1 fi if [[ -d $Backup_folder ]]; then - echoRgb "恢復$name1 ($name2)" "2" + echoRgb "恢復$name1" "2" Background_application_list restore="true" [[ $Backstage != "" && $(echo "$Backstage" | egrep -w "^$name2$") != "" ]] && echoRgb "$name1存在後台 忽略恢復" "0" && restore="false" @@ -2432,7 +2441,7 @@ Restore|Restore2) else echoRgb "$Backup_folder資料夾遺失,無法恢復" "0" fi - if [[ $i = $r && $operate != Restore2 ]]; then + if [[ $i = $r ]]; then endtime 1 "應用恢復" "2" [[ $SSAID_Package2 != "" ]] && { echoRgb "開始恢復saaid" "0" @@ -2456,6 +2465,7 @@ Restore|Restore2) notification "107" "SSAID恢復後必須重新開機套用,否則應用閃退,如果沒有應用恢復ssaid則無須重啟" } notification "105" "app恢復完成 $(endtime 1 "應用恢復" "2")" + [[ $operate != Restore2 ]] && { if [[ $media_recovery = true ]]; then starttime1="$(date -u "+%s")" app_details="$Backup_folder2/app_details.json" @@ -2484,13 +2494,13 @@ Restore|Restore2) starttime2="$(date -u "+%s")" echoRgb "刷入第$A/$B個模塊 剩下$((B - A))個" "3" echoRgb "刷入${REPLY##*/}" "2" - magisk --install-module "$REPLY" + [[ $ksu != ksu ]] && magisk --install-module "$REPLY" || ksud module install "$REPLY" endtime 2 "${REPLY##*/}刷入" "2" && echoRgb "完成$((A * 100 / B))%" "3" && echoRgb "____________________________________" && let A++ done endtime 1 "刷入模塊" "2" notification "108" "Module恢復完成 $(endtime 1 "Module恢復" "2")" - fi + } fi let i++ en++ nskg++ done @@ -2619,7 +2629,7 @@ Getlist) if [[ $(cat "$nametxt" | cut -f2 -d ' ' | egrep -w "^${app_1[1]}$") != ${app_1[1]} ]]; then [[ $REPLY2 = "" ]] && add_entry "${app_1[2]}" "${app_1[1]}" "$(cat "$nametxt" | grep -w "${app_1[2]}")" || add_entry "${app_1[2]}" "${app_1[1]}" "$REPLY2" case ${app_1[1]} in - *oneplus* | *miui* | *xiaomi* | *oppo* | *flyme* | *meizu* | com.android.soundrecorder | com.mfashiongallery.emag | com.mi.health | *coloros*) + *oneplus*|*miui*|*xiaomi*|*oppo*|*flyme*|*meizu*|com.android.soundrecorder|com.mfashiongallery.emag|com.mi.health|*coloros*|com.android.soundrecorder|com.duokan.phone.remotecontroller|com.android.calendar|com.android.deskclock|com.android.calendar|com.android.deskclock) if [[ $(echo "$xposed_name" | egrep -w "${app_1[1]}$") = ${app_1[1]} ]]; then echoRgb "$app_name為Xposed模塊 進行添加" "0" if [[ $REPLY2 = "" ]]; then @@ -2780,9 +2790,6 @@ backup_media) if [[ $ksu != ksu ]]; then echoRgb "Magisk adb" Backup_data "${REPLY##*/}" "$REPLY" - else - echoRgb "KernelSU adb不支持備份" "0" - Set_back_0 fi else Backup_data "${REPLY##*/}" "$REPLY"