Skip to content

Releases: anysoft/fcmfix

Auto Release 20240509_13f13a7

09 May 01:47
Compare
Choose a tag to compare
40-20240509_13f13a7

update gitflow

Auto Release 20240509_

09 May 03:50
Compare
Choose a tag to compare
40-20240509_

update gitflow

Auto Release 20231206-81ae050

06 Dec 05:57
Compare
Choose a tag to compare

v7

17 Jun 02:03
Compare
Choose a tag to compare
v7

Release description

v0.5.3-miui13

04 Oct 10:53
Compare
Choose a tag to compare

ChangeLog

同步kooritea的最新版0.5.3
具体参考历史版本 changelog 和 kooritea changelog

v0.4.4-fcmfix-whitelist
v0.4.8
v0.4.8-miui13
v0.5.0-miui13
v0.5.2-miui13

v0.5.2-miui13

29 Sep 09:41
Compare
Choose a tag to compare

ChangeLog

  • 同步kooritea的最新版0.5.2

具体参考历史版本 changelog 和 kooriteachangelog

v0.5.0-miui13

31 Aug 10:44
Compare
Choose a tag to compare

ChangeLog

参考kooritea/fcmfix
此仓库分支具体变动参考历史版本的changelog,无特殊改动,此处不再重复编撰。

fcmhost可以看参考来源

参考来源

v0.4.8-miui13

12 Jun 04:50
Compare
Choose a tag to compare

CHANGELOGS

  • 基于 kooritea/fcmfix V0.4.8
  • 新增对 电量和性能 的 hook(去除对gms限制)
  • 针对MIUI13 上再次优化 电量和性能。hook com.miui.powerkeeper.provider.SimpleSettings.Misc.getBoolean(),当获取 gms_control 默认值时返回true。
  • hook com.miui.powerkeeper.utils.GmsObserver的构造方法:defaultState=!Build.IS_INTERNATIONAL_BUILD=false

MIUI12.5.14 运行正常,MIUI13未测试

kooritea/fcmfix 已经是非常完善的了。只是我这边系统偶尔hook IS_INTERNATIONAL_BUILD失败,导致偶尔无法正常使用,所以继续针对电量和性能 hook。

hook点参考

欢迎大家交流指正!

  • com.miui.powerkeeper.utils.GmsObserver
    • GmsObserver
      • 构造方法执行后修改:defaultState=false=!Build.IS_INTERNATIONAL_BUILD
    • updateGmsState
    • updateGmsNetWork
    • stopGetFeedback
    • disableGms
    • isGmsAppInstalled
    • isGmsCoreAppEnabled
  • com.miui.powerkeeper.utils.GmsCoreUtils;
    • killGmsCoreProcess
  • com.miui.powerkeeper.millet.MilletPolicy
    • mSystemBlackList
    • mDataWhiteList
    • whiteApps
    • musicApp
    • pkgWhiteList
    • mUseDataWhiteList
    • pkgBlackList
    • mUseSystemBlackList
  • com.miui.powerkeeper.statemachine.ExtremePowerController
    • disableGmsCoreIfNecessary
    • disableNotificationOnLockScreen
  • com.miui.powerkeeper.utils.NetdExecutor
    • initGmsChain
    • setGmsChainState
    • setGmsDnsBlockerState
  • com.miui.powerkeeper.provider.SimpleSettings.Misc
    • getBoolean
      • gms_control 默认返回 true

更新FCM host

不清楚什么原因,之前的host失效了。更新下

FCMHostsForChina-0.3.zip 基于 magisk
app-release.apk 基于lsp/xposed

使用方式

参考:
https://github.com/anysoft/fcmfix/releases/tag/v0.4.4
https://github.com/kooritea/fcmfix

v0.4.8

11 Jun 11:43
Compare
Choose a tag to compare

changelog

!!!

  1. kooritea伪装国际版有时候不稳定会失效,所以我这边继续对电量和性能中gms的限制去除。
  2. 测试系统 MUI12.5

v0.4.4-fcmfix-whitelist

09 Mar 08:33
Compare
Choose a tag to compare
Pre-release

参考

@kooritea/fcmfix
@MinaMichita/miuifcmfix


注意

xp模块对系统的修改以及对电量和性能的修改(白名单和gms全量运行)必然导致某些情况下耗电更多。不喜可以关闭本插件!!!!


功能

修复MIUI的电量和性能(com.miui.powerkeeper)针对 fcm 的反向优化,和支持修改电量和性能的白名单功能.

  • 去除电量和性能 对com.google.android.gms的黑名单
  • 默认白名单维护。从白名单删除 "com.tencent.mobileqq"
  • 允许 锁屏通知 (hook disableNotificationOnLockScreen,并禁用该方法)
  • 禁止 强杀、禁用 GMS 服务
  • 禁止 对 GMS 添加DNS和IPTABLE规则

hook 模块

  • com.miui.powerkeeper.utils.GmsObserver

    • updateGmsState
    • updateGmsNetWork
    • stopGetFeedback
    • disableGms
  • com.miui.powerkeeper.utils.GmsCoreUtils;

    • killGmsCoreProcess
  • com.miui.powerkeeper.millet.MilletPolicy

    • mSystemBlackList
    • mDataWhiteList
    • whiteApps
    • musicApp
    • pkgWhiteList
    • mUseDataWhiteList
    • pkgBlackList
    • mUseSystemBlackList
  • com.miui.powerkeeper.statemachine.ExtremePowerController

    • disableGmsCoreIfNecessary
    • disableNotificationOnLockScreen
  • com.miui.powerkeeper.utils.NetdExecutor

    • initGmsChain
    • setGmsChainState
    • setGmsDnsBlockerState

LSPOSED

  • 必须把 电量和性能 添加到作用域
  • 必须把安卓系统添加到作用域
  • 必须把Google play服务添加到作用域
  • 必须把接收推送的应用添加到作用域(telegramx,teams)

测试环境

总结

目前测试fcm推送正常,锁屏teamstelegramx都能正常收到消息和电话/视频

遇到问题

  • 通知不弹出,不提示

    • Telegram X 、Teams 在miui必须把权限管理显示悬浮窗后台弹出界面锁屏显示打开
    • 必须把通知管理通知过滤规则 全部设为重要,其他单项规则按需求配置
  • teams能收到消息推送,但是无法接收通话/视频。一般是因为teams消息的ack落后了。

    • 我这边体现为,收到的最新推送比发送的消息始终落后两条
    • 我的处理方案是 清空Google play服务的全部数据,然后退出teams账号后重新登录账号(可以在设置--手机账户 中删除 microsoft账号),再重启手机。 只要ack恢复正常就能正常收到通话了。
  • fcm中显示no response

    • 是由于应用未响应fcm推送,虽然此时应用是后台存在进程,但是不处理推送消息,一般是因为应用被优化了,可以尝试后台无限制看看,或者灭霸调试要保活什么服务
  • fcm中显示failed to broadcast

    • 出现这个一个是因为应用进程被杀了,可以灭霸情景模式保活或者系统后台无限制,优化要不断地调试才能稳定
  • fcm中显示404 to broadcast

    • 这个官方说是由于token不一致导致的,这个我测试很奇怪,打开应用推送成功,应用切换到后台推送就是404,最后是应用退出登录,清理GMS和应用数据后恢复正常。