1. 程式人生 > >Android應用分身的實現和解析

Android應用分身的實現和解析

1     背景

從去年下半年360奇酷手機發布後,國內的手機新品釋出,都會提到應用分身、微信雙開等類似概念,有一些第三方應用也以分身/雙開作為亮點搶佔市場,一時間分身類應用成為主流手機的一個必備功能。

在瞭解和比較了國內的分身類產品後,我將介紹目前市面上主流的分身類產品,及其使用場景、實現原理和存在的風險整理出來,分享給大家、也作為知識的總結積累。

2     分身類產品的使用場景

分身類產品能實現一部手機上安裝多個相同應用,實現多個帳號同時登入使用。

主要使用場景包括 社交帳號雙開,遊戲大小號雙開,無需帳號切換,從而省去頻繁登入的繁瑣,大大提升了特定需求使用者的體驗。

例如同一部手機上同時登入兩個QQ、兩個微信。。。


3     主流的分身類應用產品

目前市面上有如下“分身類”的產品:


有些是廠商開發,內置於手機內部,如小米、奇酷、VIVO,還有一些第三方應用單獨實現了此功能,如LBE平行空間、克隆大師等,並且不需要root。這幾個應用基本上都能滿足上述使用場景的要求,在實現細節跟互動上有一些區別。

3.1  小米應用分身

此功能在MIUI8.0上引入,可以在一臺手機上執行雙微信、雙QQ、雙遊戲,絕大多數應用均可雙開。


使用者可以隨意新增雙開應用,在桌面、工作管理員、呼叫應用時雙開應用都能共存顯示,完全當成兩個不同的應用了。


3.2  360奇酷手機微信雙開

早在功能機時代,酷派就有提出一機雙系統的類似雙開應用的功能。

去年由360和酷派合作推出的360奇酷手機,也實現了此項“黑科技”。在奇酷手機上,可以實現同時執行兩個微信,採用“空間隔離”技術,兩個微信是完全獨立存在的,完全可以用一個微信給另一個微信發信息。



3.3  LBE 平行空間(原雙開大師)

由LBE推出的第三方app,可以安裝在Android4.4之後的手機上。

LBE平行空間(原雙開大師)是一款黑科技產品,你可以在平行空間建立應用快捷方式,和原桌面空間的應用互不干涉。



3.4  360分身大師

一個單獨的第三方app,可以安裝在Android4.4之後的手機上。

此app由360官方打造的手機應用和遊戲雙開軟體,為使用者提供應用和遊戲雙開功能服務


3.5  克隆大師

也是一個第三方app。

克隆大師是專注於做Android平臺好用的應用雙開App,支援多款應用的雙開。


4     使用流程

上述幾款分身類應用,使用流程都大同小異,內建和第三方應用有些差異。

對於內建該功能的競品:


對於第三方應用:


5     實現方案

通過實際使用和對比,總結目前分身類應用技術實現方案如下:

1)     修改APK

反編譯APK,修改APK 包名、簽名,將APK偽裝成另外一個不同的APK,

但對於一些有加密的APK,可能沒辦法實現。

產品:克隆大師

2)     修改Framework

對於有系統修改許可權的廠商,可以修改Framework來實現雙開的目的

產品:小米應用分身、360奇酷手機、Nubia

3)     通過虛擬化技術實現

虛擬Framework層、虛擬檔案系統、模擬Android對元件的管理、虛擬應用程序管理 等一整套虛擬技術,將APK複製一份到虛擬空間中執行

產品:360分身大師,LBE平行空間, Graphite Software “SecureSpaces”

4)     以外掛機制執行

可以在無需安裝、修改的情況下執行APK檔案,利用反射替換,動態代理,hook了系統的大部分與system—server程序通訊的函式,以此作為“欺上瞞下”的目的,欺騙系統“以為”只有一個apk在執行,瞞過外掛讓其“認為”自己已經安裝。

產品:DroidPlugin

6     風險

雖然目前雙開應用很流行,

1)   資料安全隱患風險:

所有的分身雙開應用資料,都通過【應用分身】的過濾,資料不可避免地都要經過【應用分身】,萬一【應用分身】被掌握,或使用第三方【應用分身】類應用,資料會存在安全隱患。簡單粗暴的反編譯修改APK的方式也會存在類似的問題。

2)   Android政策風險:

【應用分身】功能實現的原理 實際上是通過監聽擷取程序訊息,替換反射,類似黑客的手段,可能Android會禁止該類應用。後續Android版本更新後有可能會被限制無法使用。

3)   卡頓、資源佔用問題:

【應用分身】無論採用系統層還是應用層的做法,都會佔用系統資源,如果分身過多,可能會造成系統卡頓。可以通過限制分身數量的方式來加以避免。

4)   3rd-party應用相容問題

²  類似Android政策風險,【應用分身】採用類似黑客手段,可能會遭到第三方應用如微信/QQ等的遮蔽

²  一些3rd party應用呼叫介面不標準,可能沒辦法被【應用分身】監聽和替換,會造成分身應用和本身應用表現不同的相容性異常。

7     結語

目前市面主流的分身類產品總結如下表:

形式

應用

實現技術

內建

小米應用分身

修改Framework?

360奇酷手機微信雙開

VIVO

Nubia

……

第三方應用

LBE平行空間

通過虛擬化技術實現

360分身大師

Graphite Software “Secure Spaces”

克隆大師

修改APK

……

分身類應用迎合了部分消費者的需求,可以看出國內手機廠商在本地化,在產品細節上越來越注重,在大的功能、大的創新目前較為難以捕捉的情況下,廠商間在ROM上將難以拉開質的差距。“微創新”將成為後續手機廠商的方向,更接地氣地滿足使用者需求將會是各個ROM/OS/UI的微弱優勢所在,這類接地氣的“微創新”應用也是目前Android對iOS的優勢所在,iOS在目前市場上的表現不佳也間接地印證了這一點。

END.

 此次轉載,僅供學習記錄使用,如有侵權,告知即刪;