android - Android Addon.d 脚本无法正常运行
问题描述
我有一个addon.d 脚本,可以在每次更新后删除不需要的应用程序,这样它们就不会回来了,但似乎每当我更新我的设备时,负责它的代码都不会执行。是不是没有执行恢复功能,所以也没有执行恢复后功能?我不知道出了什么问题。
#!/sbin/sh
#
# /system/addon.d/74-brs.sh
#
. /tmp/backuptool.functions
list_files() {
cat <<EOF
EOF
}
case "$1" in
backup)
list_files | while read FILE DUMMY; do
backup_file $S/$FILE
done
;;
restore)
list_files | while read FILE REPLACEMENT; do
R=""
[ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
[ -f "$C/$S/$FILE" ] && restore_file $S/$FILE $R
done
;;
pre-backup)
# Stub
;;
post-backup)
# Stub
;;
pre-restore)
# Stub
;;
post-restore)
rm -rf /system/app/Calendar
rm -rf /system/app/Jelly
rm -rf /system/app/messaging
;;
esac
新的 :
#!/sbin/sh
. /tmp/backuptool.functions
list_files() {
cat <<EOF
/system/app/Calendar/Calendar.apk
/system/app/Jelly/Jelly.apk
/system/app/messaging/messaging.apk
EOF
}
case "$1" in
backup)
list_files | while read FILE DUMMY; do
backup_file $S/$FILE
done
;;
restore)
list_files | while read FILE REPLACEMENT; do
R=""
[ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
[ -f "$C/$S/$FILE" ] && restore_file $S/$FILE $R
done
;;
pre-backup)
# Stub
;;
post-backup)
# Stub
;;
pre-restore)
# Stub
;;
post-restore)
rm -rf /system/app/Calendar
rm -rf /system/app/Jelly
rm -rf /system/app/messaging
;;
esac
解决方案
虽然list_files()
不返回受影响文件的列表,但这不会按预期工作......
list_files() {
cat <<EOF
# add all the files into here, directories do not matter.
EOF
}
只是因为list_files | while read FILE DUMMY; do
而且
list_files | while read FILE REPLACEMENT; do
什么都不做。
为了获得相关的文件名,您可以使用ls
:
ls -la /system/app/Calendar
ls -la /system/app/Jelly
ls -la /system/app/messaging
另外,请确保已在read/write
模式下重新安装系统分区。
推荐阅读
- r - 如何在 R 中读取多个 GRIB 文件并取这些栅格的平均值?
- android-jetpack-navigation - Jetpack Compose - 我如何编程这个可组合来访问“列表”中的“url”
- flutter - Flutter缓慢滚动到动态Listview的底部
- php - 127.0.0.1 重定向你太多次
- angular - 类型“any [] | undefined”不能分配给类型“any []”
- h2 - 在 H2 数据库中插入行哈希
- javascript - 在 ImageBackground 中添加要要求的变量
- wireless - LAN 上的无线显示
- c# - C# .net core 3.1 访问 Json 元素
- java - 在不使用集合的情况下过滤 java 流以获取可根据属性区分的不同对象