Xposed模組開發教程(一) 瞭解並使用Xposed
1.前言:
前幾年 由XDA大神們開發的Xposed模組誕生,並開始逐漸佔據整個玩機市場,出現大量基於Xposed開發的模組 這個玩意可以堪稱 目前Android歷史上最強大的神級軟體, 我們都知道java反射 ,Xposed的Api劫持卻比java反射強大多了, 在安卓系統上 除了無法hook 介面、抽象類和native方法 其他的通殺。
它對外支援模組式開發 使我們開發者可以基於這個Xposed環境進行模組開發,下面將會有多個系列的開發教程,讓大家一起去開發這種Xposed模組神器
如果你還不知道Xposed是幹什麼的,請看一下下面這些比較有意思的神器,全是基於Xposed開發基於Xposed開發 QQ微信自動搶紅包 QQ防止別人撤回 榨乾電池 (欺騙系統電量為0時不關機) XHaloFloatingWindow (讓應用縮小並懸浮起來) Wifi偽裝3G網 ,3G偽裝成Wifi 網路 (有些遊戲要求Wifi下才能玩,用它解決) GPS地理位置偽裝 (欺騙GPS,模擬自定義的經緯度) IMEI、手機型號、本機號碼修改等 2.準備環境:
在開發模組之前,我們需要安裝Xposed模組環境 這個安裝環境有兩種方式
1.直接下載Xposed Installer.apk 安裝到你的手機上,執行點選安裝
2.從第三方recovery刷入因為涉及如何刷入第三方recovery,再從第三方recovery刷入Xposed的問題 ,對手機相容性有不同的教程 , 具體請自行百度 ”你的機型(安卓系統版本) 刷入Xposed教程 ” , apk版本也跟著系統的版本相容性不同 所以我沒貼下載地址 以免盲目安裝錯誤的版本搞壞你的手機
注意: 不要盲目從網上隨便找一個安裝 否則可能會損壞你的手機 (特別是MIUI Flyme等被修改過的系統)安裝Xposed成功後 介面應該是這樣的 沒有任何錯誤提示 (有錯誤請百度 ,這裡只討論如何開發模組)
如圖 我的Xposed是85版本 我的手機的小米, 刷的系統是 原生Android 6.0.1
然後去百度上下載一些你喜歡的xposed應用(你要寫xposed模組應用 首先得了解下)
例如我就隨便安裝了這些 (不是我的應用,我不是打廣告…)
右邊的勾上和不勾上意味著是否啟用使用該模組
注意:每啟動一個模組 不是立刻生效的 要重啟手機
我們開發模組的時候就是要不斷的重啟手機來啟用使用模組, 原因看下面
3.原理:
安裝好的Xposed在重啟手機過程中 通過替換/system/bin/app_process的程式 控制zygote程序,同時在app_process啟動過程中會載入XposedBridge.jar這個包 (裡面是後面說到的xposed api程式碼), 讓基於Xposed開發的模組app們 都能使用XposedBridge.jar裡的api (像android.jar那樣, 後面會說到如何使用),然後對Zygote程序和Dalvik虛擬機器進行劫持。這樣就相當於我們可以對安卓系統進行… 額, 想幹嘛就能幹嘛
安卓開發者交流群歡迎您加入
418263790