致Nokia手機用戶 – 請刪除「小鴨幹線」,用返「小熊來電」(下)

以下內容涉及暴力殺 App 及不當系統行為,敬請留意。

上回,用 Nokia 品牌的 HMD Android 9 手機,預裝 Evenwell 的殺 App 程式,粗略看過其源碼,發覺似乎無時無刻都在尋找殺戮對象,包括手機啟動,任何程序啟動,網絡環境變更等,都會檢查是否要大開殺戒。

基本上,所有背景啟動,都會即時考慮是否要立即殺死(不是禁止啟動,而是出世後觸發該程式,檢查是後才殺死), 但亦有不會殺死的種類或情況,包括 :

  • 最近曾開啟(在 Recent List 頭)的幾個 App
  • 預設的 SMS App (但沒有 Dialer App)
  • NFC 服務觸發的 App
  • 正在有來電響鈴時,不殺任何 App
  • 取得audio focus (正播放音樂) 的App
  • 正在用 network 的 App
  • Live wallpaper App
  • 有顯示 widget 的 App
  • 預設 launcher
  • 預先指定的內置白名單App
  • 進程(process)名稱包含冒號,即App的非主要進程

追查一下內置白名單有什麼(國際版),發覺有一系列的第三方 App (來源,源碼已被2月7日的 2 個 commit 移除,不過若懂git的話…):

ru.megafon.mlk
kz.beeline.odp
ru.tele2.mytele2
net.seddev.callerunknownlocation
com.app5.rakem.wahmi
com.KatlinDev.fblikes
com.nttdocomo.android.remotelock
jp.softbank.mb.tether
com.nexon.nxplay
com.opplysning180.no
no.intellicom.app1881
com.ms1881
com.hthk.ThreeShortCode
nl.addcomm.afvalwijzer
de.eplus.mappecc.client.android.alditalk
au.com.aldi.android
com.google.android.apps.messaging
com.anytag.android
com.azarlive.android
com.bbm
com.bell.ptt
com.turkcell.bip
com.touchtalent.bobbleapp
de.knabedesign.bosfrequenz
com.bt.voiceapps.homeaway
net.nanabit.callconfirm
com.studiokuma.callfilter
com.smartone.callguard
com.eyecon.global
com.vladlee.easyblacklist
com.eupheme.callrecorder
com.plugmind.cbtest
com.chaatz
hu.sanomabp.citromail
com.clanplay.clanchat
mobi.drupe.app
com.bluebeam
no.digipost.android
jp.co.nttdocomo.saigaiban
com.discord
com.dw.contacts.free
com.blogspot.acesandroiddevelopment.easywalkietalkie.free
com.threesixtyentertainment.nesn
com.modoohut.dialer.theme.dark
com.modoohut.dialer.plugin.geocoder
primiprog.waw
com.oakley.fon
com.fongo.dellvoice
fr.freemobile.android.vvm
com.freedompop.phone
pl.gadugadu
com.google.android.gm
com.jb.gosms.da
com.jb.gosms.it
com.jb.gosms
com.jb.gosms.pl
com.jb.gosms.sv
com.google.android.apps.fireball
com.android.chrome
com.google.android.apps.tachyon
appinventor.ai_appsgeniet.MessageGift
com.handcent.lang.nextsms.hu
com.google.android.talk
com.imo.android.imoimbeta
com.imo.android.imoim
com.androidintercom
org.woltage.irssiconnectbot
com.jio.join
com.pccw.mobile.sip02
net.fidanov.landroid
it.italiaonline.mail
jp.naver.line.android
com.uplus.lps.agent
pl.tmobile.miboa
de.telekom.android.customercenter
ru.mail.mailapp
com.orange.vvm
msgplus.jibe.sca
com.facebook.orca
com.facebook.mlite
es.ono.MiOno
com.movistar.android.mimovistar.es
es.vodafone.mobile.mivodafone
net.bfgnet.miandroigo
nl.simyo.mijnsimyo
com.nosnaj.missatsamtal
com.yogi.operadora
ru.beeline.services
com.putitonline.mmm
uk.co.o2.android.mynetwork
com.vodafone.android
ca.bell.selfserve.mybellmobile
com.ChinaMobile
com.conzebit.myplan
Uxpp.UC
pt.zon.fon
mobisocial.omlet
com.camerum.android.app.operadora
fi.mobilive.vayrynen
nu.firetech.android.pactrack
nl.politie.consumentenapp
com.motorola.ptt.prip.br
com.psiphon3
com.psiphon3.subscription
se.tactel.reach
com.ready.android
com.rediff.mail.and
com.rts.ic.ym
com.Rogers.phonebookrogers
com.sfr.android.sfrmail
com.sfr.android.vvm
org.mistergroup.muzutozvednout
org.thoughtcrime.securesms
com.skype.raider
net.daum.android.solmail
jp.co.nttdocomo.carriermail
com.surya.STDCodes
com.reyvilo.android.suiviconso
pl.netox.supersms
de.tubs.ibr.dtn.dtalkie
me.talkyou.app.im
nl.apps4us.nummerinfo
org.telegram.messenger
no.telenor.dekningskart
dk.shape.teliacontacts
com.hutchison3g.threeintouch
br.com.conception.timwidget.timmusic
com.tokensapp
com.truecaller
com.uplus.ipagent
com.motorola.visualvoicemail
com.viber.voip
ca.virginmobile.myaccount.virginmobile
com.vodafone.messaging
com.vodafone.mbb.wifimonitor
de.telekom.mds.mbp
ru.atrant.worldcallplaceandtime_db_russian
org.herrlado.websms.connector.arcor
com.tencent.mm
com.orderlysoftware
com.whatsapp
com.clone.multipleap
com.gregdev.whirldroid
com.whooming.WhoomingMobile
gogolook.callgogolook2
com.andr.evine.who
com.sourcebt.android.wifitalkie
com.mywispi.wispiapp
jp.co.yahoo.android.ymobile.mail
com.yahoo.mobile.client.android.mail
ru.yandex.mail
com.zing.zalo
com.microsoft.office.lync15
us.zoom.videomeetings
com.Slack
com.cisco.webex.meetings
com.microsoft.teams
com.afwsamples.testdpc

當中有即時通訊的 WhatsApp、Telegram、WeChat (com.tencent.mm) 、FB Messenger (com.facebook.orca) 、Line (jp.naver.line.android)、瀏覽器 Chrome,而攔截 App 則包括數碼通「來電管家」(com.smartone.callguard)、小熊來電 (com.studiokuma.callfilter)、Whoscall (gogolook.callgogolook2) ,也有 TrueCaller (com.truecaller)、Calls Blacklist (com.vladlee.easyblacklist)。其他主要是須在背景運作的通訊或VoIP等,主流的程式。

當然沒有「小鴨幹線」這類小開發者的程式

即是說,Nokia 已預先內訂保護「小熊來電」,「Whoscall」,「WhatsApp」之類主流程式,以及音樂播放,widget等種類的背景服務,在原生標準之上,限制用戶只能使用某種行為或名單指定的程式,而限制的條件毫不透明,這點和其他「深度訂製」大陸牌子機的所謂省電功能,並沒有分別。

而更甚者,用戶似乎無法簡單地關閉該功能,或自行將 App 加入白名單防止被殺,根據 Don’t kill my app 的 Nokia 分頁及其他地方的討論  (如這個),把 App 放入原生 Android 設定的 doze 白名單,是沒有用的。雖然該殺手程式源碼,看來似乎有自訂白名單機制,來讓用戶防止殺 App,但似乎沒有人提及設定方法,未知是否為保持近似原生的設定界面,而將之隱藏。

以上為根據 Don’t kill my app 在 Github 公開的源碼分析,不排除 Evenwell 更新該程式,以致現時或日後的效果有所不同。

對小鴨的影響

上述 Evenwell 殺 App 程式與以往其他同類 App killer不同之處,是既不等待一段較長時間才殺 App,又不一開始時便禁止啟動(或許是因為要視乎 App 行為而決定)。這種方式及 timing,恰恰使要在背景起動的 App,啟動了卻無法完成 Android 8 以上顯示 Icon 要求,而被系統報錯彈 App。

因此,HMD 用戶在升級 Android 9 後,會發覺開機後,WhatsApp 之類主流通訊程式,音樂播放程式,widget 等背景服務運作正常,而小鴨則在啟動後立即死掉或凍結,觸發了錯誤,系統更會耗用數據,向 Google 提交錯誤報告…

即使 HMD / Nokia 用戶屬少數,亦令小鴨自12月起,在Google Play Console 整體表現,ANR (當機彈App) 率大幅提升,已去到會被 Google 處罰的「Bad behaviour threshold」邊徘徊

 

所以,希望 小鴨用戶若用 HMD / Nokia 手機並使用 Android 9 ,為免耗用電力及數據,請刪除「小鴨幹線」,轉用上述「小熊來電」等,HMD / Evenwell 指定名單內的 App

小鴨已將部份 Nokia 機種列為不兼容,以反映事實。

順帶一提,起動失敗後,用戶若手動開啟小鴨 App 再關閉再重啟攔截,小鴨是會如常啟動及運作的,但這完全是幸運(?)的巧合,因為 (1) 前景 App 相關的運作不會被殺,因此開啟小鴨 App 再啟動攔動沒有問題,(2) 之後因為小鴨攔截服務的特別設計(使用了另一非主要進程 :resident 專負責攔截,減少平時佔用空間),也在殺手 App 的例外,所以服務候命時沒有問題,(3) 處理來電時會啟用主要進程,但殺手App 剛好不會在有來電時殺App,小鴨再避過一劫。

若小鴨沿用一般使用單一進程的設計,應會在一段時間後(如主程式關閉後一段時間)被清除。這也突顯這類 App 殺手準則的隨意性,若非查看源碼,完全不會知道為什麼某些 App 不能運作而其他類似 App 沒有問題的原因。

胡亂殺 App 或得不償失

一般來說,由於這類殺手 App 一直在背景運作,每當執行新程式或其他觸發其啟動的條件符合時,都會被啟動去檢查一次是否要殺 App,本身會耗用電力,因此在一般情況,省電效果成疑,在 Android 8 以上,系統本身已嚴格規管背景運作的前提下,只會防礙獲用戶同意的後台服務的運作,同時更可能耗用更多電力。

更何况,當一個品牌,以所謂「100%」、「原生」、「pure」Android 為賣點, 但消費者得到的,卻是在原生之上,特別加料的手機,令部份依足標準而製,在真 · 原生系統能運作無誤的 App,無法正常運作,更無法改變設定,變相限制用戶的選擇。用家若事先不知情,或難免有被商品說明誤導的感覺。

當然可能亦有用戶,喜歡原生介面,快人一步的更生速度,而使用 App 的習慣完全與殺手 App 的預設準則一致,又不介意日後 App 選擇被限制,這項「額外」功能,帶來了意想不到的驚喜 …  那麼,我真係恭喜你呀。

HMD「越獄」方法

警告 : 以下內容有危險動作,除非有專人指導、或本身是專人,否則切勿模倣

若使用 Android 9 的 HMD 手機,又希望突破限制,使用沒有在白名單的背景軟件,包括小鴨,在網上找到了方法,可以透過 adb 在自己 user 刪除該 App 殺手 :

pm uninstall --user 0 com.evenwell.powersaving.g3

這方法是不用root的,據悉不會影響 OTA (参考) ,但會不會影響保用便不得而知。

事實上,Evenwell 有大量其他 App 在 HMD 手機背景運作,負責追蹤使用情況及更新。有用戶試過以相同方法刪除了亦沒有問題,參見這頁

再戴一次頭盔,後果自負,若不熟悉 Android adb 及相關工具,請改用指定的背景 App

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *