1. 程式人生 > >android studio xposed教程(含jar下載地址)

android studio xposed教程(含jar下載地址)

0x01 什麼是xposed?

Xposed是一款可以在不修改APK的情況下影響程式執行的框架服務,基於Xposed能夠製作出許多功能強大的模組,且在功能不衝突的情況下同時運作。

xposed是一個框架,可以通過xposed installer安裝,具體安裝方法我就不在這裡詳述了,需要的同學請自行搜尋。這裡我們主要介紹其hook函式的方法。

其api jar包下載地址:api下載地址

0x02 使用api lib

在android studio最新版本中(目前2.1.2),將jar新增到專案中作為lib已經十分簡單了,不過這裡需要注意幾個細節。 
新建一個專案,可以沒有activity,如果有的話也不影響。

首先將下載jar包放入專案的/app/libs/裡邊,並在android studio中找到這個jar包,右鍵點選,選擇 add as library。

其次,在android studio中找到app/build.gradle,將裡邊的compile files(‘libs/XposedBridgeApi-XX.jar’) (此處的XX為版本號)的compile改為provided

注意,第二步如果不改會得到error,資訊為:IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation

0x03 更改manifest

在AndroidManfest裡邊,在項中新增如下項


其中Easy example為你自己的描述,可以自行根據內容更改,最後一個meta-data裡邊的54為最少需要xposed的版本,我之前下載的版本為54,所以我設定其為54,可以自行更改。

0x04 java程式碼

新建一個java class,可以隨意命名。(具體寫在註釋裡)


與afterHookedMethod對應,還有beforeHookedMethod,即在之前被呼叫。

0x05 新增assets/xposed_init

之前的許多教程也是說將xposed_init新增到assets資料夾中,但是android studio和eclipse的資料夾結構不盡相同,在這裡花費了一些時間。 
這裡是在/app/src/main/內新建一個資料夾,assets,然後在該資料夾中新建文字檔案,命名為xposed_init,在其中寫入完整的包名和用來hook的類名,本例中為com.example.root.hook_test.Test

0x06 安裝

將app安裝後,在xposed installer中新增上模組,重啟,就可以測試了。