??? 由于項目要求脱柱,最近學(xué)習(xí)了一個被稱為 “Android第一神器” 的東西——Xposed,我們看下百度介紹:Xposed框架是一款可以在不修改apk的情況下影響程序運行(修改系統(tǒng))的框架服務(wù)豁陆,基于它可以制作出許多功能強大的模塊帅刀,且在功能不沖突的情況下同時運作。
1.安裝框架
??? 安裝Xposed框架首先需要 Root權(quán)限肾砂,所以要刷成開發(fā)版啦列赎,這個沒什么好講的,按照自己手機品牌镐确、型號自己刷去吧粥谬。
???? 然后就是安裝Xposed安裝器(先是安裝Xposed安裝器,在安裝框架)辫塌,我的手機是小米所以我在小米社區(qū)里下載的 MIUI專版漏策,別的品牌手機可以去官網(wǎng)下載
官網(wǎng)鏈接:點擊
MIUI安裝教程:點擊
? ? 安裝好安裝器之后會出現(xiàn)如下圖一的(我這是安裝好Xposed框架的,所以狀態(tài)是已安裝)????????????????????? 安裝好后會出現(xiàn)圖二的界面(當(dāng)然你剛開始也是未激活)臼氨,小米手機選擇MIUI專版安裝(圖三)掺喻。????????????????????????????????
鄭重提示:Xposed框架可能會使手機無法正常啟動,如果你之前沒聽過【軟變磚】、【無限重啟】感耙,又不知道在這種情況下如何恢復(fù)褂乍,請不要安裝Xposed,所以請先備份
給它root權(quán)限后安裝即硼,并重啟逃片, 之后就可以選擇 你的xposed模塊 或 下載xposed模塊了(圖四),里面有很多很有用的模塊(例如:修改Bilibili的主題顏色只酥、微信主題顏色褥实、QQ微信搶紅包、防回撤消息等等)
2.學(xué)習(xí)編寫Xposed模塊
? ? 新建項目裂允,導(dǎo)入jia 包 jar下載鏈接 损离,導(dǎo)入后修改build.gradle, 把? compile files('libs/XposedBridgeApi-54.jar')? 改為? provided files('libs/XposedBridgeApi-54.jar')
? ? 之后在manifest 里添加?
<meta-data? android:name="xposedmodule"
? ? ? ? ? ? ? ? ? ? android:value="true"/>??? 作為xposed模塊
<meta-data? android:name="xposeddescription"
???????????????????? android:value="Simple Xposed Test"/>???? 模塊描述
<meta-data? android:name="xposedminversion"
??????????????????? android:value="54"/> ? ?? 最低版本號
? ? 然后新建一個Test類绝编,實現(xiàn)IXposedHookLoadPackage僻澎, 實現(xiàn)它的方法 ??
//獲取手機中所有應(yīng)用的包名?? ?????????????????????????????????????????????????????????????????????????????????????? XposedBridge.log("loadpackage name : "+ loadPackageParam.packageName);
//測試Hook靜態(tài)變量,修改手機機型和廠商XposedHelpers.setStaticObjectField(android.os.Build.class,"MANUFACTURER","leon");//廠商XposedHelpers.setStaticObjectField(android.os.Build.class,"MODEL","made in leon");//機型
在里面我寫了一個log打印所有包名,? 還有一個 修改手機廠商 和 手機機型
最后在main 文件夾下新建文件 assets十饥, 在新建文本 xposed_init, 在里面寫上 你的包名 + 剛剛寫的類名? com.example.administrator.xposeddemo2.Test窟勃, 編譯程序,? 編譯完成后再 (如圖四)xposed框架的? 模塊中找到你的應(yīng)用 選中逗堵, 這是應(yīng)用會提示你重啟手機(沒提示也無所謂)拳恋,對,沒錯就是重啟(每編譯一次就要重啟一次砸捏,很麻煩)谬运,重啟后就能看到如下圖圖五: 我的手機型號改為(made in leon)了,廠商我沒找到在哪垦藏。梆暖。。
圖六是包名log掂骏,在xposed的日志中可以看到轰驳, AS上也可以看到。
以上就我目前所了解的Xposed開發(fā)弟灼,還很淺薄级解,我會繼續(xù)學(xué)習(xí),做出更好的Xposed模塊應(yīng)用田绑。