Android 在更新程序脚本中删除带有通配符的文件
我可以使用更新程序脚本删除/system:Android 在更新程序脚本中删除带有通配符的文件,android,edify,Android,Edify,我可以使用更新程序脚本删除/system:中的文件 delete("/system/app/YouTube.apk"); 但是,我无法执行以下操作 delete("/system/app/*.odex"); 为什么不起作用?我认为命令是有限的。只有指定文件的全名和路径,才能删除文件。 不过,您可以编写一个sh脚本来完成这项工作,并从更新程序脚本执行它 例如,使用以下代码创建一个sh文件,并将其放在zip的根目录中: #!/sbin/sh rm -rf /system/app/*.odex
中的文件
delete("/system/app/YouTube.apk");
但是,我无法执行以下操作delete("/system/app/*.odex");
为什么不起作用?我认为命令是有限的。只有指定文件的全名和路径,才能删除文件。 不过,您可以编写一个sh脚本来完成这项工作,并从更新程序脚本执行它 例如,使用以下代码创建一个sh文件,并将其放在zip的根目录中:
#!/sbin/sh
rm -rf /system/app/*.odex
并从更新程序脚本执行它
package_extract_file("rmodex.sh", "/tmp/rmodex.sh");
set_perm(0, 0, 0777, "/tmp/rmodex.sh");
run_program("/tmp/rmodex.sh", "");
delete("/tmp/rmodex.sh");
其中rmodex.sh是您创建的文件。
还有一件事,要小心,因为
rm-rf/system/app/*.odex
还会删除所有带有*.odex名称的文件夹。非常感谢。我将在我的下一个updater-script上尝试此解决方案。请注意,试图使用通配符删除目录中的每个文件的人:可以使用delete_recursive命令删除目录及其所有内容。正如@raulx222所说的,这些命令是有限的,我认为您也不能按文件类型过滤这个命令。