linusyang92 / mipay-extract

Extract Mi Pay from MIUI China Rom
408 stars 143 forks source link

miui_MI6_8.3.22 报 mv: cannot stat 'deodex/system/data-app/Weather/Weather.apk': No such file or directory错误 #2

Closed danbao closed 6 years ago

danbao commented 6 years ago

用miui_MI6_8.3.22 执行deploy脚本后,在Weather.apk上报错,但是可以正常生成两个zip包,但是用TWRP刷包后,miui系统直接没有掉了,启动直接进入TWRP,/data 显示没有format 错误日志

/tmp/mipay-extract(master*) # ./deploy.sh                                                                                                          root@jupiter
--> Downloading miui_MI6_8.3.22_1636f1f01d_8.0.zip

03/26 17:13:17 [NOTICE] Downloading 1 item(s)
[#826207 1.3GiB/1.3GiB(99%) CN:1 DL:31MiB]
03/26 17:13:43 [NOTICE] Download complete: /tmp/mipay-extract/miui_MI6_8.3.22_1636f1f01d_8.0.zip

Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
826207|OK  |    56MiB/s|/tmp/mipay-extract/miui_MI6_8.3.22_1636f1f01d_8.0.zip

Status Legend:
(OK):download completed.
--> rom: MI6 v8.3.22

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Xeon(R) CPU E3-1275 v5 @ 3.60GHz (506E3),ASM,AES-NI)

Scanning the drive for archives:
1 file, 1480679957 bytes (1413 MiB)

Extracting archive: ../miui_MI6_8.3.22_1636f1f01d_8.0.zip
--
Path = ../miui_MI6_8.3.22_1636f1f01d_8.0.zip
Type = zip
Physical Size = 1480679957
Comment = signed by SignApk

Everything is Ok

Files: 2
Size:       2877600182
Compressed: 1480679957
sdat2img binary - version: 1.0

Android Nougat 7.x / Oreo 8.x detected!

extracting |################################| 100%
Done! Output image: miui-MI6-8.3.22-system.img
--> image extracted: miui-MI6-8.3.22-system.img
--> copying apps
----> copying Mipay...
----> copying TSMClient...
----> copying UPTsmService...
--> framework arch: arm64
--> deodexing Mipay...
----> classes: /system/app/Mipay/Mipay.apk
 'system/app/Mipay/oat/arm64/classes.dex' as 'classes.dex'...
--> deodexing TSMClient...
----> classes: /system/app/TSMClient/TSMClient.apk
 'system/app/TSMClient/oat/arm64/classes.dex' as 'classes.dex'...
----> copy native library libuptsmaddon.so
--> already deodexed UPTsmService
----> extract native library...
--> packaging flashable zip
--> done
--> all done
--> Downloading xiaomi.eu_multi_MI6_8.3.22_v9-8.0.zip

03/26 17:15:23 [NOTICE] Downloading 1 item(s)
 *** Download Progress Summary as of Mon Mar 26 17:16:24 2018 ***
===============================================================================================================================================================
[#a298b2 1.3GiB/1.3GiB(98%) CN:3 DL:16MiB]
FILE: /tmp/mipay-extract/xiaomi.eu_multi_MI6_8.3.22_v9-8.0.zip
---------------------------------------------------------------------------------------------------------------------------------------------------------------

[#a298b2 1.3GiB/1.3GiB(99%) CN:1 DL:9.9MiB]
03/26 17:16:28 [NOTICE] Download complete: /tmp/mipay-extract/xiaomi.eu_multi_MI6_8.3.22_v9-8.0.zip

Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
a298b2|OK  |    21MiB/s|/tmp/mipay-extract/xiaomi.eu_multi_MI6_8.3.22_v9-8.0.zip

Status Legend:
(OK):download completed.
--> rom: MI6 v8.3.22

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Xeon(R) CPU E3-1275 v5 @ 3.60GHz (506E3),ASM,AES-NI)

Scanning the drive for archives:
1 file, 1419826980 bytes (1355 MiB)

Extracting archive: ../xiaomi.eu_multi_MI6_8.3.22_v9-8.0.zip
--
Path = ../xiaomi.eu_multi_MI6_8.3.22_v9-8.0.zip
Type = zip
Physical Size = 1419826980
Comment = signed by SignApk

Everything is Ok

Files: 2
Size:       2587977023
Compressed: 1419826980
sdat2img binary - version: 1.0

Android Nougat 7.x / Oreo 8.x detected!

extracting |################################| 100%
Done! Output image: miuieu-MI6-8.3.22-system.img
--> image extracted: miuieu-MI6-8.3.22-system.img
--> copying apps
----> copying CleanMaster...
----> copying Calendar...
----> copying SecurityCenter...
--> decompiling CleanMaster...
 'system/priv-app/CleanMaster/classes.dex' as 'classes.dex'...
--> decompiling Calendar...
----> patched method: isGreaterChina => false
----> patched method: isMainlandChina => false
----> patched method: showsDayDiff => true
----> patched method: showsLunarDate => true
----> patched method: showsWidgetHoliday => true
----> patched method: showsWorkFreeDay => false
 'system/priv-app/Calendar/classes.dex' as 'classes.dex'...
--> decompiling SecurityCenter...
----> patched smali: SettingsActivity.smali
 'system/priv-app/SecurityCenter/classes.dex' as 'classes.dex'...
--> patching weather
cp: cannot stat 'deodex/system/data-app/Weather/Weather.apk': No such file or directory

ERROR: No more files
system/data-app

System ERROR:
No error information
mv: cannot stat 'deodex/system/data-app/Weather/Weather.apk': No such file or directory
--> packaging flashable zip
--> done
--> all done
------------------------------------------------------------
/tmp/mipay-extract(master*) #  

修改版本号后的deploy.sh

#!/bin/bash

declare -a urls=(

# Rom URLs
'http://bigota.d.miui.com/8.3.22/miui_MI6_8.3.22_1636f1f01d_8.0.zip'

)

EU_VER=8.3.22

declare -a eu_urls=(

# EU Rom URLs
'https://jaist.dl.sourceforge.net/project/xiaomi-eu-multilang-miui-roms/xiaomi.eu/MIUI-WEEKLY-RELEASES/8.3.22/xiaomi.eu_multi_MI6_8.3.22_v9-8.0.zip'

)

command -v dirname >/dev/null 2>&1 && cd "$(dirname "$0")"
if [[ "$1" == "rom" ]]; then
    base_dir=/sdcard/TWRP
    [ -z "$2" ] && VER="$EU_VER" || VER=$2
    [ -d "$base_dir" ] || base_dir=.
    aria2c_opts="--check-certificate=false --file-allocation=trunc -s10 -x10 -j10 -c"
    aria2c="aria2c $aria2c_opts -d $base_dir/$VER"
    for i in "${eu_urls[@]}"
    do
        $aria2c ${i//$EU_VER/$VER}
    done
    base_url="https://github.com/linusyang92/mipay-extract/releases/download/$VER"
    $aria2c $base_url/eufix-MiMix2-$VER.zip
    $aria2c $base_url/mipay-MIMIX2-$VER.zip
    $aria2c $base_url/weather-MiMix2-$VER-mod.apk
    exit 0
fi
for i in "${urls[@]}"
do
   bash extract.sh "$i" || exit 1
done
[[ "$1" == "keep"  ]] || rm -rf miui-*/
for i in "${eu_urls[@]}"
do
   bash cleaner-fix.sh "$i" || exit 1
done
exit 0
danbao commented 6 years ago

solve this bug per this comment https://xiaomi.eu/community/threads/mi-mix-2-encryption-bug.42187/#post-406753