2015-04-01 30 views
2

我可以使用删除更新脚本中删除一个文件/系统:
在更新脚本通配符删除文件

delete("/system/app/YouTube.apk"); 

但是,我不能做以下

delete("/system/app/*.odex"); 

它为什么不起作用?

+0

注意尝试使用通配符删除目录中的每个文件的人:可以使用delete_recursive命令删除目录及其中的所有内容。正如@ raulx222所述,命令是有限的,我不认为你可以通过文件类型来过滤这个命令。 – user1007074 2018-02-16 15:15:06

回答

1

我认为这些命令是有限的..你只能删除一个文件,如果你指定了它的全名和路径。 但是,您可以编写一个sh脚本来执行该操作,并从updater-script执行它。

例如创建一个文件的sh用下面的代码,并将其放置在您的邮递根:

#!/sbin/sh 

rm -rf /system/app/*.odex 

和地点rmodex.sh是从更新脚本

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"); 

执行它你制作的文件。 还有一件事要小心,因为rm -rf /system/app/*.odex也会删除所有带* .odex名称的文件夹。

+0

非常感谢。我将在我的下一个更新程序脚本上尝试此解决方案。 – RanSh 2015-04-27 08:08:05