V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sadfQED2
V2EX  ›  Android

目前 android11 如何给应用保活呢?

  •  2
     
  •   sadfQED2 · 2022-02-07 10:23:51 +08:00 · 18703 次点击
    这是一个创建于 1049 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先,我不是应用的开发者。这个应用是我们公司内部用的 IM 软件,没有外部用户使用。在我手机上面只要一切到后台,十多分钟后就被杀了,然后我就收不到同事的消息了。头大

    手机:oneplus 7 pro 系统: OxygenOS 11

    解了 BL 锁

    第 1 条附言  ·  2022-02-07 16:18:11 +08:00
    Tips:

    1 、手机 /system/app 分区的空间只剩 30MB ,所以没办法把 app 转成系统应用
    2 、我不是程序的开发人员,我只是一个用户
    3 、手机有 xp 框架,有 root ,有 magisk ,我知道安卓有冰箱,黑域这类东西,那么有没有反向操作的黑科技呢?
    69 条回复    2022-02-16 09:13:02 +08:00
    heyufei1996
        1
    heyufei1996  
       2022-02-07 10:32:42 +08:00
    OxygenOS 不是可以给应用加锁么, 也没用么?
    chtcrack
        2
    chtcrack  
       2022-02-07 10:33:06 +08:00
    多任务栏中锁定,然后电池优化那里选择不优化,即可保活.
    Cheons
        3
    Cheons  
       2022-02-07 10:35:01 +08:00 via Android
    和开发老哥商量加入 oplus🤣
    Maskeney
        4
    Maskeney  
       2022-02-07 10:44:51 +08:00
    2L 说的对,其实不用加锁也可以,加锁只是为了一键关闭所有最近任务的时候保留,要是没有这习惯只要电池优化那里设置好就行
    sadfQED2
        5
    sadfQED2  
    OP
       2022-02-07 10:44:58 +08:00
    @chtcrack #2 已经选择不优化了,没用
    wsseo
        6
    wsseo  
       2022-02-07 10:45:26 +08:00
    很多 IM 都有这个问题。。。
    sadfQED2
        7
    sadfQED2  
    OP
       2022-02-07 10:45:57 +08:00
    @heyufei1996 #1 没用,只要锁屏十多分钟后就收不到消息了
    villivateur
        8
    villivateur  
       2022-02-07 10:50:27 +08:00 via Android   ❤️ 1
    @sadfQED2 收不到消息,为什么不考虑一下接入各大厂商的推送系统?
    WildCat
        9
    WildCat  
       2022-02-07 10:54:44 +08:00
    公司内部用的 IM 软件可不可以用 GCM 推送?
    NexTooo
        10
    NexTooo  
       2022-02-07 10:55:05 +08:00
    最近我的微信不切回去都要过几分钟才能收到消息…不知道是微信的问题还是鸿蒙限制了它
    3dwelcome
        11
    3dwelcome  
       2022-02-07 10:58:37 +08:00
    锁屏十多分钟后就收不到消息,应该是网络连接被强制断开了。

    这情况必须加电源锁,可是 IM 软件上电源锁,就意味着手机 wifi 永远不能真正休眠,会超级费电。
    chtcrack
        12
    chtcrack  
       2022-02-07 11:00:10 +08:00   ❤️ 1
    帮你搜索了一下,还不行就叫开发 app 的加个前台 service
    Android 8.0 之后-常用的保活方案

    1.开启一个前台 Service(可以加上,单独启用的话无法满足保活需求)
    2.Android 6.0+ 忽略电池优化开关(稍后会有代码)
    3.无障碍服务(只针对有用这个功能的 app ,如支付宝语音增强提醒用了它)
    4.应用自启动权限(最简单的方案是针对不同系统提供教程图片-让用户自己去打开)
    5.多任务列表窗口加锁(提供 GIF 教程图片-让用户自己去打开)
    6.多任务列表窗口隐藏 App(仅针对有这方面需求的 App)
    7.应用后台高耗电(仅针对 Vivo 手机)
    flyz
        13
    flyz  
       2022-02-07 11:05:43 +08:00
    @WildCat 你在想什么,这是在中国!
    mxT52CRuqR6o5
        14
    mxT52CRuqR6o5  
       2022-02-07 11:06:50 +08:00
    vmos 有个超级保活的功能,用 vpn 去保活的
    ww940521
        15
    ww940521  
       2022-02-07 11:07:14 +08:00
    为什么不遵守开发规范用推送呢?
    HankAviator
        16
    HankAviator  
       2022-02-07 11:09:50 +08:00 via Android
    解了 bl 锁不如就转成系统应用试试
    sadfQED2
        17
    sadfQED2  
    OP
       2022-02-07 11:14:57 +08:00
    @villivateur #8 我又不是研发,我咋知道为啥不接入啊

    @chtcrack #12 我也是 Android 开发,我知道各种保活骚操作,也知道为啥会收不到消息,但是我不是这个程序的开发啊

    @ww940521 #15 因为是不是开发

    @HankAviator #16 我试试看
    UserNameisNull
        18
    UserNameisNull  
       2022-02-07 11:15:03 +08:00
    @villivateur 最优解了,但是需要给公司 IM 的开发提需求。
    shyrock
        19
    shyrock  
       2022-02-07 11:16:46 +08:00   ❤️ 4
    明明是和则两利的事情,非得搞对抗。app 绞尽脑汁违背用户意愿非要一直占用资源,系统费心尽力违背 app 意愿强行杀灭 app 。。。为啥不用消息推送?
    mercury233
        20
    mercury233  
       2022-02-07 11:24:33 +08:00
    @shyrock 自己的命脉(实时推送)岂能握在他人(推送联盟 /魔改系统)手中,毕竟反不正当竞争难以落实
    sadfQED2
        21
    sadfQED2  
    OP
       2022-02-07 11:29:02 +08:00
    sadfQED2
        22
    sadfQED2  
    OP
       2022-02-07 11:29:40 +08:00
    @sadfQED2 #21

    @shyrock @villivateur 我盲猜肯定是接入了推送的,但是我用的海外版系统,消息推送没有覆盖
    ysc3839
        23
    ysc3839  
       2022-02-07 11:30:19 +08:00 via Android
    顺带提一下,MIUI 国内版,不管你怎么设置,在最近任务中划掉应用必杀后台,包括“前台服务”也会杀死。除非这个应用在白名单内(比如微信),此时只有关掉自启动后划掉才会被杀。
    但是如果开启了自启动,应用可以在被杀之后重新启动,即便是没有通知的后台服务也可以。典型案例有 Telegram 和小米穿戴。前者在开启了 Keep-Alive Service 选项后,被杀死之后会重新启动后台服务。后者在被杀死之后会重新启动前台服务,可以看到划掉后前台服务的通知消失,很快又显示出来了。可以考虑使用这种方案,让用户打开自启动开关,就能保活。
    但一加是否能使用这种方法我不知道。
    chanssl
        24
    chanssl  
       2022-02-07 11:40:36 +08:00
    1. 任务管理锁后台
    chanssl
        25
    chanssl  
       2022-02-07 11:41:16 +08:00
    2. 电量管理里面允许高耗电
    3. 启动管理允许自启动 /关联启动
    CharmingCheung
        26
    CharmingCheung  
       2022-02-07 11:47:12 +08:00
    用消息推送。国内就比较蛋疼,要接多家厂商(小米华为 ov 魅族),并且类似 vivo 有些 ROM 是默认没开通知权限的,要手动开。
    一加国内用 oppo 的 push ,国外版估计还是 gms 。
    保活要搭配互拉才有用,进程再怎么保活也有挂掉的时候,不拉起的话,该收不到还是收不到。
    Daming
        27
    Daming  
       2022-02-07 12:02:44 +08:00
    问题是推送,这不是保活干的事
    BeautifulSoap
        28
    BeautifulSoap  
       2022-02-07 12:03:50 +08:00   ❤️ 2
    LZ 你都解了 BL 了可以直接刷个 pixel experience 或 lineageos ,一劳永逸。一加氧 OS 虽然类原生,但杀后台杀到起飞。如果觉得刷机 app 重装麻烦的话,反正都解锁了,root 之后用 swift backup 备份所有 app 和 app 的数据,刷机后恢复下就行,效果比 IOS 还完美。

    https://download.pixelexperience.org/guacamole
    https://download.lineageos.org/guacamole
    sadfQED2
        29
    sadfQED2  
    OP
       2022-02-07 12:06:58 +08:00 via Android
    @CharmingCheung 是的,目测我们只接了国内的几家推送,我用的国外系统,所以没有接入,这时只要程序后台被杀就收不到消息了
    blueboyggh
        30
    blueboyggh  
       2022-02-07 12:07:44 +08:00 via Android
    我也有公司内部 im ,miui ,多任务界面锁定,自启动打开,省电优化改成无限制,实测可以实时收到通知
    sadfQED2
        31
    sadfQED2  
    OP
       2022-02-07 12:08:15 +08:00 via Android
    @BeautifulSoap 过了折腾的年纪了,还是官方系统稳定
    southsala
        32
    southsala  
       2022-02-07 13:15:05 +08:00
    必须接入厂商推送,否则无解,友盟极光之类的也要配置厂商推送。加了厂商推送,把应用各种权限打开,能做到微信的各种效果,但是微信和厂商有合作,安装后默认就开的各种权限
    ccloudk
        33
    ccloudk  
       2022-02-07 13:59:32 +08:00
    clf
        34
    clf  
       2022-02-07 14:09:36 +08:00
    如果已经 root 了,有一个模块叫做进程锁。强悍到你锁定某个 app 后,只要你打开在用,比如 QQ 音乐在放歌,你把 app 卸载了,也照样还在放歌,除非你解锁了。
    66beta
        35
    66beta  
       2022-02-07 14:42:50 +08:00
    一般来说电量优化选“不优化”就完事了

    大氢赶紧亡了吧,QQ 音乐都保不住后台,最密集的时候是连续 5 首歌都放不完整,怀疑人生
    shiganwuguo
        36
    shiganwuguo  
       2022-02-07 14:56:20 +08:00 via Android
    不用折腾了 没戏。 前人把韭菜都割死了,现在新入场的想收广播难如登天。
    Codelike
        37
    Codelike  
       2022-02-07 14:58:04 +08:00
    搞个通知栏
    daliusu
        38
    daliusu  
       2022-02-07 15:39:37 +08:00
    @66beta 不行的,游戏这种电源设置不优化+多任务上锁,该杀依旧杀,但是只要插根电源线就不杀了,感觉那设置就是个摆设
    kaedea
        39
    kaedea  
       2022-02-07 15:58:57 +08:00 via Android
    退后台后播放空音频保持前台优先级
    sadfQED2
        40
    sadfQED2  
    OP
       2022-02-07 16:19:05 +08:00
    @HankAviator #16 失败,手机厂商给 /system 分区只留了 30 多 M 的空间,不够放新应用进去了
    xuanbg
        41
    xuanbg  
       2022-02-07 16:45:13 +08:00
    息屏收不到消息的解决办法不是保活,你看下微信怎么做的就明白了。
    sadfQED2
        42
    sadfQED2  
    OP
       2022-02-07 16:49:48 +08:00
    @ccloudk #33 apk 装上了,但是应用不会注册 mipush ,项目 wiki 里面说要装 magiks 或者 xp 框架伪装成 MIUI ,然鹅 xp 和 magisk 项目看了下原理,瞎 jb 改系统变量总感觉可能把系统搞崩溃,老了,不想瞎折腾了,刷机挺累的
    sadfQED2
        43
    sadfQED2  
    OP
       2022-02-07 16:53:49 +08:00
    @clf #34 是 xp 模块吧,我装上了,看描述完美符合我的需求,就是不知道效果如何了,用一段时间试试
    Tuuure
        44
    Tuuure  
       2022-02-07 17:27:52 +08:00
    westlinkin
        45
    westlinkin  
       2022-02-07 17:32:53 +08:00
    按照这里的设置一下 https://dontkillmyapp.com/
    sinyu1012
        46
    sinyu1012  
       2022-02-07 17:39:05 +08:00   ❤️ 1
    https://github.com/sinyu1012/AndroidKeepAlive

    之前写过的一些 Android 保活实践
    qwq11
        47
    qwq11  
       2022-02-07 17:45:50 +08:00 via Android
    @ysc3839 小米穿戴划掉了就挂了手表收不到任何消息通知。我的方法是锁上,然后在 thanox 里设置打开“在最近任务里强制隐藏”
    Jxh
        48
    Jxh  
       2022-02-07 20:02:46 +08:00
    oppo 这个系统接入推送得软著+上架 oppo 商店。我公司内部的 IM 也没推送。有机会让开发搞点奇淫巧计保活吧。
    abc612008
        49
    abc612008  
       2022-02-07 20:17:50 +08:00
    @ww940521
    @shyrock
    因为 FCM 被 ban 了,国内也没有通用的推送平台。某些推送联盟也一样的毒瘤。
    对了,国内绝大多数的应用商店都要求软件著作权证书,部分还要求必须有营业执照。
    humbass
        50
    humbass  
       2022-02-07 21:08:24 +08:00
    不怕耗电的话,直接挂前台应用不就可以了。
    springz
        51
    springz  
       2022-02-07 21:26:52 +08:00
    问问同事的小米有没有问题,如果没有问题,直接安装 MiPushFramework 。一般情况下 App 开发者都会添加 MIUI 的系统级推送。
    silymore
        52
    silymore  
       2022-02-07 21:57:50 +08:00 via iPhone
    换 ios
    socradi
        53
    socradi  
       2022-02-07 22:57:14 +08:00 via Android
    有 xp 的话就好办,写个模块,在其他进程检测你的 app 服务,不在运行,就把它启动
    kokutou
        54
    kokutou  
       2022-02-07 23:27:54 +08:00 via Android
    解锁刷个系统。。。
    国内系统杀后台很严重的。
    Tink
        55
    Tink  
       2022-02-07 23:39:32 +08:00 via Android
    不优化还不能保活?
    learningman
        56
    learningman  
       2022-02-07 23:55:16 +08:00
    你都有 magisk 了,做个 magisk 模块不就好。。。
    felixwang
        57
    felixwang  
       2022-02-08 10:24:27 +08:00
    同 2 楼
    sadfQED2
        58
    sadfQED2  
    OP
       2022-02-08 11:00:14 +08:00
    @springz #51
    @ccloudk #33 研究了好久,装上 mipush 后程序并不会注册 mipush ,然后又装了 mipush 的 xp fake 插件,但是依旧不注册,又尝试装 magisk 的 fake 插件,发现根本装不上。看了一下项目提交时间,xp 插件和 magisk 插件都已经 2 年多没更新了,感觉在最新的 android 11 上面已经没用了
    Rsplwe
        59
    Rsplwe  
       2022-02-08 17:10:34 +08:00
    MiPushFramework 的伪装机型可以用 MagiskHideConfig 修改,

    增加 /修改 几项 Prop 值:

    ro.miui.ui.version.name = V125
    ro.miui.ui.version.code = 12
    ro.miui.version.code_time = 1616601600
    ro.product.manufacturer = Xiaomi
    ro.product.brand = Xiaomi
    ro.product.name = Xiaomi
    mostkia
        60
    mostkia  
       2022-02-08 19:27:44 +08:00
    现在的手机连 10 年前的 wm 系统都不如,人家至少可以多线程,甚至还有任务管理器,不是说谷歌的系统差,而是国内的人太”聪明“了,什么东西本土化了都能玩出花来,吧潜在价值榨的干干净净,各种后台驻留,窃听隐私推送广告甚至卖钱,以至于现在的手机厂商居然把杀后台作为卖点,很难想象一台手机现在动不动 8g 内存,连一个后台都不能保活,不知道的我还以为我在用功能机
    bclerdx
        61
    bclerdx  
       2022-02-12 15:00:16 +08:00
    @flyz 中国怎么了?全球主流国家都可用 GCM ,难道就中国非要自己另造轮子么?
    bclerdx
        62
    bclerdx  
       2022-02-12 15:02:59 +08:00
    @mercury233 为何难以落实反不正当竞争?为了一己之私还是假惺惺?究其根本仍是思想问题?利益问题?
    bclerdx
        63
    bclerdx  
       2022-02-12 15:04:35 +08:00
    @shyrock 同意+1 ,App 就应该遵守操作系统的设计规范。不遵守系统的操作规范,被团灭也属正常。
    bclerdx
        64
    bclerdx  
       2022-02-12 15:06:49 +08:00
    @ysc3839 一加的 Colors 也有自启动选项设置的。
    FATEQiang
        65
    FATEQiang  
       2022-02-15 11:43:00 +08:00
    @sadfQED2 双进程机制:一个核心应用放在这个 30M 空间中,做成系统应用,提高应用进程优先权,功能做只需要保活的核心功能,如推送的连接之类的;然后需要做其他业务的,拉起非系统应用的业务应用(广播可能无法做静态广播,所以拉不起来,那就尝试是否可以通过 startActivity 打开暴露的组件,从而拉起应用)
    FATEQiang
        66
    FATEQiang  
       2022-02-15 11:44:08 +08:00
    @FATEQiang 两个 app ,一个系统(保活业务),一个非系统(普通业务)
    sadfQED2
        67
    sadfQED2  
    OP
       2022-02-15 11:54:31 +08:00 via Android
    @FATEQiang 大哥,注意审题啊,不是应用的研发
    FATEQiang
        68
    FATEQiang  
       2022-02-16 09:11:09 +08:00
    @sadfQED2 你看懂上面的意思了?“这个应用是我们公司内部用的 IM 软件,没有外部用户使用。在我手机上面只要一切到后台,十多分钟后就被杀了,然后我就收不到同事的消息了”
    FATEQiang
        69
    FATEQiang  
       2022-02-16 09:13:02 +08:00
    算了,当我没有评论吧,很遗憾,v2 没有删除评论的功能,以后还是少评论了,不然就变成微博了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2871 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:17 · PVG 22:17 · LAX 06:17 · JFK 09:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.