1. 程式人生 > >外掛化開發整體流程

外掛化開發整體流程

<一> 四大元件(Activity)

1.將宿主APk的dex和外掛APK的dex數組合並

2.將啟動的Activity(Intent) 替換成佔坑的Activity,繞過檢測。反射獲取AMS的代理的startActivity方法

3.將佔坑的Activity替換成目標Activity,通過Handler的CallBack,在ActivityThread裡面的傳送訊息的Handler沒有設定CallBack。通過它可以攔截訊息處理髮送過來的訊息。

<二>資源的整合

1.建立外掛資源的Resource

2.給外掛apk設定資源的回撥,在宿主的Application中重寫getResource和getAssert,getTheme

3.在外掛資源的activity中,呼叫宿主apk 的資源回撥,重寫Activity的getResourcesgetAssetsgetTheme