编写一个Magisk模块可以冻结谷歌服务和谷歌服务框架,并在需要时自动解冻,APP关闭时自动冻结。以下是一个简单的示例模块的代码:

  1. 创建文件夹和文件结构: 在模块的根目录下,创建以下文件和文件夹:
  • module.prop:模块属性配置文件
  • system/文件夹:用于存放冻结和解冻脚本
  • system/etc/init.d/文件夹:用于存放自定义脚本
  1. 修改module.prop文件: 在module.prop文件中输入以下内容:
id=google_freeze
name=Google Freeze
version=1.0
versionCode=1
author=Your Name
description=Freeze Google Services and Google Services Framework
  1. 创建冻结和解冻脚本: 在system/文件夹下创建以下两个脚本文件:
  • system/google_freeze.sh:用于冻结谷歌服务和谷歌服务框架
#!/system/bin/sh

pm disable com.google.android.gms
pm disable com.google.android.gsf
  • system/google_unfreeze.sh:用于解冻谷歌服务和谷歌服务框架
#!/system/bin/sh

pm enable com.google.android.gms
pm enable com.google.android.gsf
  1. 创建自定义脚本: 在system/etc/init.d/文件夹下创建一个自定义脚本文件,命名为99google_freeze,用于在APP启动和退出时执行相应的操作:
#!/system/bin/sh

# 当APP启动时解冻
onappstart() {
  sh /system/google_unfreeze.sh
}

# 当APP退出时冻结
onappexit() {
  sh /system/google_freeze.sh
}

# 检查APP状态
checkapp() {
  local pkgname=$1
  local appstate=$(cmd package list packages -f | grep "/$pkgname=")
  if [ -n "$appstate" ]; then
    onappstart
  else
    onappexit
  fi
}

# 监听APP启动和退出事件
while true; do
  currentapps=$(dumpsys activity activities | grep "packageName=")
  
  # 检查需要冻结的APP列表
  checkapp com.example.app1
  checkapp com.example.app2
  
  sleep 3
done
  1. 打包模块: 将以上文件和文件夹打包为一个zip文件,命名为google_freeze.zip

  2. 安装和启用模块: 将打包好的google_freeze.zip模块通过Magisk Manager或Magisk Recovery进行安装并启用。

请注意,这只是一个简单的示例模块,可能需要根据具体的设备和系统进行适当的调整。在使用之前,请务必备份系统和数据,以防出现意外情况

写一个magisk模块冻结谷歌服务和谷歌服务框架当有APP需要时自动解冻APP退出自动冻结。

原文地址: https://www.cveoy.top/t/topic/h20C 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录