无法在恢复中执行更新二进制文件

问题描述 投票:1回答:0

这是我的第一个问题,希望我能阐明我的问题。
我试图第一次制作一个可刷新的zip,其中包含一个Shell脚本TweakV4AndVol.sh ,我希望该脚本可以恢复运行。 updater-script如下所示:

ui_print("ViPER4Android and VolumeBooster Tweak");
ui_print("Mounting System partition...");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("shell", "/tmp");
set_perm(0, 0, 0777, "/tmp/TweakV4AndVol.sh");
ui_print("Applying tweak...");
run_program("/tmp/TweakV4AndVol.sh");
run_program("/sbin/busybox", "umount", "/system"); 
ui_print("Completed!");

TweakV4AndVol.sh是这样的:

#!/sbin/sh
sed -i.bak 's%<ctl name="DEC4 Volume" value="84" />%<ctl name="DEC4 Volume" value="100" />%' /system/etc/mixer_paths.xml
sed -i.bak '/deep_buffer {/ , /}/ d' /system/etc/audio_policy.conf

然后,我手动创建了路径: META-INF > com > google > android > update-binary updater-scriptshell > TweakV4AndVol.sh 。 从我的设备的最新CyanogenMOD每晚ROM中获取了update-binary。
接下来,我使用WinRAR(存储压缩)创建了一个zip文件。 我没有对Flashable签名,因为我没有打开TWRP(2.8.7.0)的签名检查。
然后,我得到了以下错误消息:
E: Error executing updater binary in zip '/data/media/0//CyanDelta/v4voltweak.zip'
E: Error installing zip file '/data/media/0//CyanDelta/v4voltweak.zip'

我已经用Google搜索了更新二进制文件,并尝试了多种方法,包括我的CM Nightlies中的一种方法,Xposed Framework,甚至尝试了SuperSU替代方法(使用updater-script作为虚拟文件),但是我都想给我同样的错误问题应该在更新二进制文件中的某个地方,但是搜索数小时没有好处。 我的朋友也不知道发生了什么,因为他们告诉我档案看起来对他们来说很好。 任何想法都欢迎。 谢谢。


更新:在进行以下修改后,Flashable终于可以工作了:
1.变更

sed -i.bak '/deep_buffer {/ , /}/ d' /system/etc/audio_policy.conf

sed -i.bak '/deep_buffer {/,/}/ d' /system/etc/audio_policy.conf

并将第一行更改为

#!/system/bin/sh

(删除空格)。 这导致bash中出现“不受支持的命令”错误。 至于第二个变化...我不知道为什么,但这就是我所做的。
我还修改了UltraEdit上的默认环境,从DOS到UNIX。 以及从UTF到ANSI的编码。 尽管脚本未成功进行更改,但现在确实会闪烁,但是这样会更加简单。 谢谢。

android bash shell recovery
© www.soinside.com 2019 - 2024. All rights reserved.