This commit is contained in:
Yawasau
2025-01-11 22:21:10 +08:00
parent a8c26d334c
commit 979b828cd9
3 changed files with 42 additions and 13 deletions

View File

@@ -376,7 +376,10 @@
"2409BRN2CI" "Redmi 14C 印度版"
"2409BRN2CL" "Redmi 14C 拉美版 / 日韓版"
"2409BRN2CY" "Redmi 14C 國際版 (NFC)"
"2411DRN47C" "Redmi 14R 5G"
"2411DRN47G" "Redmi 14C 5G 國際版"
"2411DRN47R" "Redmi 14C 5G 日本版"
"2411DRN47C" "Redmi 14R 5G 國行版"
"2411DRN47I" "Redmi 14C 5G 印度版"
"2014018" "紅米 Note 聯通 3G 標準版"
"2013121" "紅米 Note 聯通 3G 增強版"
"2014017" "紅米 Note 移動 3G 標準版"
@@ -552,6 +555,7 @@
"M2004J7BC" "Redmi 10X Pro 5G"
"M2003J15SC" "Redmi 10X 4G"
"24069RA21C" "Redmi Turbo 3"
"24129RT7CC" "REDMI Turbo 4"
"M1903F10A" "Redmi K20 全網通版"
"M1903F10C" "Redmi K20 運營商全網通版"
"M1903F10I" "Redmi K20 印度版"
@@ -3010,8 +3014,13 @@
"V2349" "vivo V30 SE"
"V2348" "vivo V40"
"V2347" "vivo V40 Pro"
"V2418" "vivo V40e"
"V2341" "vivo V40 Lite"
"V2403" "vivo V40e"
"V2424" "vivo V40 Lite"
"V2418" "vivo V40 Lite 5G"
"V2337" "vivo V40 SE 5G"
"V2427" "vivo V50"
"V2428" "vivo V50e"
"V2440" "vivo V50 Lite"
"V1937" "vivo S1 Prime"
"vivo 1920_20" "vivo S1 Pro"
"V2168" "vivo T1"
@@ -3080,6 +3089,7 @@
"V2315" "vivo Y28 5G"
"V2351" "vivo Y28s 5G"
"V2407" "vivo Y28e 5G"
"V2420" "vivo Y29 5G"
"V2160" "vivo Y30 5G"
"V2036_21" "vivo Y31"
"V2057" "vivo Y33"
@@ -3090,6 +3100,7 @@
"V2324" "vivo Y36"
"V2248" "vivo Y36 5G"
"V2343" "vivo Y38 5G"
"V2444" "vivo Y39 5G"
"V2035" "vivo Y51"
"V2031_21" "vivo Y51s"
"V2053" "vivo Y52 5G"
@@ -3098,6 +3109,7 @@
"V2127" "vivo Y55 5G"
"V2311" "vivo Y56 5G"
"V2355" "vivo Y58 5G"
"V2443" "vivo Y59 5G"
"V2041" "vivo Y72"
"V2060" "vivo Y72 5G"
"V2059-EG" "vivo Y73"
@@ -3122,6 +3134,7 @@
"I2019" "iQOO 9 SE"
"I2212" "iQOO 11"
"I2220" "iQOO 12"
"I2401" "iQOO 13"
"I2202" "iQOO Neo6"
"I2214" "iQOO Neo7 5G"
"I2217" "iQOO Neo7 Pro 5G"
@@ -3336,6 +3349,8 @@
"OWW213" "OPPO Watch SE"
"OWW221" "OPPO Watch 4 Pro"
"OWW231" "OPPO Watch X"
"OWW242" "OPPO Watch"
"OWW251" "OPPO Watch"
"CPH1875" "OPPO Find X"
"CPH2023" "OPPO Find X2"
"CPH2025" "OPPO Find X2 Pro"

Binary file not shown.

View File

@@ -9,7 +9,7 @@ MODDIR="$MODDIR"
MODDIR_NAME="${MODDIR##*/}"
tools_path="$MODDIR/tools"
script="${0##*/}"
backup_version="202412282251"
backup_version="20241228225"
[[ $SHELL = *mt* ]] && echo "請勿使用MT管理器拓展包環境執行,請更換系統環境" && exit 2
update_backup_settings_conf() {
echo "#0關閉音量鍵選擇 (如選項未設置,則強制使用音量鍵選擇)
@@ -340,7 +340,7 @@ while read -r file expected_hash; do
done <<< "$(cat <<EOF
zstd 2388211eb3960070c6b4528f68f7129a9ef5d165a0fef0113ac59e723006f4ca
tar 3c605b1e9eb8283555225dcad4a3bf1777ae39c5f19a2c8b8943140fd7555814
classes.dex 38c0747425bfdd7c1846ad1767f7c8ebf96996df1db1cb00dbd08c8ed8028601
classes.dex d117c122547837d725886a7820df6a1cc998f19ad9a2f0a7831479aaa60bb102
bc b15d730591f6fb52af59284b87d939c5bea204f944405a3518224d8df788dc15
busybox 4d60ab3f5a59ebb2ca863f2f514e6924401b581e9b64f602665c008177626651
find 7fa812e58aafa29679cf8b50fc617ecf9fec2cfb2e06ea491e0a2d6bf79b903b
@@ -620,6 +620,7 @@ backup|Restore|Restore2|Getlist|backup_media)
zstd | Zstd | ZSTD) user="$(echo "${0%}" | sed 's/.*\/Backup_zstd_\([0-9]*\).*/\1/')" ;;
esac
fi
[[ $user != 0 ]] && am start-user "$user"
path="/data/media/$user/Android"
path2="/data/user/$user"
path3="/data/user_de/$user"
@@ -1186,6 +1187,12 @@ Backup_data() {
if [[ $Size != $Filesize ]]; then
case $1 in
user)
if [[ $(su "$(get_uid "$name2" 2>/dev/null)" -c keystore_cli_v2 list | wc -l) -ge 2 ]]; then
echoRgb "$name1包含keystore 恢復可能閃退" "0"
jq --arg entry "$name1" '.[$entry].keystore |= "true"' "$app_details" > temp.json && cp temp.json "$app_details" && rm -rf temp.json
else
jq --arg entry "$name1" '.[$entry].keystore |= "false"' "$app_details" > temp.json && cp temp.json "$app_details" && rm -rf temp.json
fi
Backup_ssaid
Backup_Permissions ;;
esac
@@ -1244,6 +1251,9 @@ Backup_data() {
\"$1\": {
\"path\": \"$2\",
\"Size\": \"$Filesize\"
},
\"Backup time\": {
\"date\": \"$(date "+%Y.%m.%d %H:%M:%S")\"
}
}"
jq --argjson new_content "$extra_content" '. += $new_content' "$app_details" > temp.json && cp temp.json "$app_details" && rm -rf temp.json
@@ -1251,6 +1261,9 @@ Backup_data() {
extra_content="{
\"$1\": {
\"Size\": \"$Filesize\"
},
\"Backup time\": {
\"date\": \"$(date "+%Y.%m.%d %H:%M:%S")\"
}
}"
jq --argjson new_content "$extra_content" '. += $new_content' "$app_details" > temp.json && cp temp.json "$app_details" && rm -rf temp.json
@@ -1284,6 +1297,7 @@ Release_data() {
case $FILE_NAME2 in
user)
if [[ -d $X ]]; then
[[ $(jq -r '.[] | select(.Ssaid != null).keystore' "$app_details") = true ]] && echoRgb "$name1存在keystore 恢復可能閃退" "0"
FILE_PATH="$path2"
Selinux_state="$(LS "$X" | awk 'NF>1{print $1}' | sed -e "s/system_data_file/app_data_file/g" 2>/dev/null)"
else
@@ -1332,13 +1346,10 @@ Release_data() {
if [[ $result = 0 ]]; then
case $FILE_NAME2 in
user|data|obb|user_de)
if [[ $G = "" ]]; then
if [[ $(get_uid "$name2" 2>/dev/null) != "" ]]; then
G="$(get_uid "$name2" 2>/dev/null)"
else
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
G="$(get_uid "$name2" 2>/dev/null)"
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
G="$(echo "$G" | egrep -o '[0-9]+')"
if [[ $G != "" ]]; then
@@ -1361,7 +1372,7 @@ Release_data() {
esac
if [[ $Validation_settings = true ]]; then
chown -hR "$uid" "$X/"
echo_log "設置用戶組"
echo_log "設置用戶組$uid"
chcon -hR "$Selinux_state" "$X/" 2>/dev/null
echo_log "selinux上下文設置"
else
@@ -1690,6 +1701,7 @@ Set_screen_pause_seconds () {
if [[ $Get_dark_screen_seconds != "" ]]; then
settings put system screen_off_timeout "$Get_dark_screen_seconds"
echo_log "設置無操作息屏時間為$Get_dark_screen_seconds"
input keyevent 224
fi
[[ $setDisplayPowerMode = true ]] && {
setDisplay 2
@@ -2149,6 +2161,7 @@ backup)
let i++ en++ nskg++
done
Set_screen_pause_seconds off
[[ $user != 0 ]] && am stop-user "$user"
rm -rf "$TMPDIR/scriptTMP"
Calculate_size "$Backup"
echoRgb "批量備份完成"
@@ -2458,6 +2471,7 @@ Restore|Restore2)
let i++ en++ nskg++
done
Set_screen_pause_seconds off
[[ $user != 0 ]] && am stop-user "$user"
starttime1="$TIME"
echoRgb "$DX完成" && endtime 1 "$DX開始到結束"
rm -rf "$TMPDIR"/*