问题标签 [edify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
179 浏览

android - 在 Android adb shell 中使用更新二进制函数

我在android.stackexchange上问了一些类似的问题,根据评论,它转向了编程;所以我在这里重申;

正如在原始问题的评论中提到的那样,Edify 脚本(以及解释器本身)的所有支持功能都在update-binary位于META-INF/com/google/android/可闪存 zip 文件内的文件中实现。当刷入 zip 文件时(在恢复环境中通过TWRPinstall的功能),Edify 脚本解释器执行位于相同路径的文件;(这个过程和这些flashable zips的结构在Android社区是众所周知的)updater-scriptupdate-binary

对于执行一般和常见的功能和操作,显然adb shellupdate-binary 可用的功能要强大得多。但我关心一些特定的功能。具体来说,实现了用于管理动态分区操作的功能(例如resize, remove, add_group...)。这些功能在(AFAIK)中不可用,adb shell目前,我使用它们的唯一方法是编写一个updater-script文件并将其放入可闪存的 zip 中,最后闪存 zip 文件。

有没有办法通过加载update-binary文件adb shell并使用它公开的功能?并最终能够实现这样的目标:adb shell update_dynamic_partitions resize system 2344250624adb shell executeEdifyScript script.file

更新 1

@osm0sis使用 shell 函数创建了一个Edify 脚本功能替换,但只有常用的 Edify 函数,并且缺少我上面提到的那个。

0 投票
0 回答
5 浏览

android - Android:Edify 脚本问题与闪烁解压缩的 tar.xz 内核文件 (img) - 文件无法闪烁 - 错过

我从 kernel.tar.xz 中提取我的 img 的 Android 设备内核时遇到问题。我用于解压和刷写 Edify - updater-script。

img 的文件在 /tmp/scripts 文件夹中被 phisicly 解压缩,但 package_extract_file 在同一目录中丢失。

我使用这样的命令:

run_program("/tmp/scripts/busybox", "tar", "-xvJf", "/tmp/scripts/kernel.tar.xz", "SMG988B-boot.img", "-C", "/tmp/脚本");

package_extract_file("/tmp/scripts/SMG988B-boot.img", "/dev/block/platform/13100000.ufs/by-name/boot");

甚至我只解压了完整的 kernel.tar.xz 并且我在 Aroma 安装程序日志中有 7 个带有 SMG988B-boot.img 的 img 文件被遗漏了。 在此处输入图像描述 在此处 输入图像描述

我试图再次设置权限,但这没有帮助。

如您所见:
检测到 G988B @G988B 检测到即将运行程序 [/tmp/scripts/busybox] 带有 8 个参数 SMG988B-boot.img package_extract_file: no tmp/scripts/SMG988B-boot.img in package

如果有人解决了这个问题并可以提供任何建议 - 谢谢。