在剛開始LSPosed模塊開發(fā)的時候難免會出現(xiàn)一下問題平道,這篇文章是記錄一下在搭建模塊開發(fā)的環(huán)境搭建(Android studio)
1.要想開發(fā)LSPosed,在手機或者模擬器上安裝LSPosed
? ? ? ? ? ? ? ? ? ? ? ? 看怎么安裝LSPosed可以看多開鴨 - 模擬器多開 - 專業(yè)模擬器多開網(wǎng)這網(wǎng)站對于怎么安裝Magisk和Lsposed講的很好可以查看一下(我的是在虛擬機上運行的)
2.下載xposed并配置
? ? 虛擬機上對于Lsposed上搭建完成后,在Android studio新建一個項目
? ? 建好后設(shè)置AndroidManifest.xml文件
在<application>中添加
下載xposedbridge.jar
方法一:直接在網(wǎng)上下載xposedbridge.jar捐凭,在導(dǎo)入Android studio中去?
xposedbridge.jar的鏈接鏈接:(如果實在做不到的話 去github找一下lsposed或者其他xposed的模塊淑廊,在模塊里面就有)
https://pan.baidu.com/s/1CduZDo_5PkYRFMqgPxMymg
提取碼:r8mr
不能implementation fileTree('lib/XposedBridgeAPI-82.jar') 會報錯
方法二:設(shè)置setting.gradle(建議不用這個)
????也可以設(shè)置多個鏡像
設(shè)置build.gradle
Using the Xposed Framework API · rovo89/XposedBridge Wiki (github.com)?這是官方文檔設(shè)置的build.gradle,在官方文檔中是以:
repositories {
? ? jcenter();
}
dependencies {
? ? provided 'de.robv.android.xposed:api:82'
}
但在現(xiàn)在中的android studio?repositories{ jcenter();}和provided已經(jīng)被替代
jcenter替代為maven(就是上面setting.gradle設(shè)置的)旧烧,而provided替代為compileOnly(如果可以用就以官方為標準)
????如果不是使用compileOnly而是根據(jù)maven官方的Maven Repository: de.robv.android.xposed ? api ? 82 (mvnrepository.com)? ? ?的 implementation group: 'de.robv.android.xposed', name: 'api', version: '82' 在Android studio中可以下載但LSP會報錯
? ? 報錯信息:
但我們先執(zhí)行implementationgroup:'de.robv.android.xposed',name:'api',version:'82' 后才繼續(xù)設(shè)置compileOnly 'de.robv.android.xposed:api:82'挪圾,原因后面有
因為在compileOnly 'de.robv.android.xposed:api:82'中不會依賴趾浅,只有在implementation group:'de.robv.android.xposed',name:'api',version:'82'才會依賴。但在implementation 依賴的xposed框架在lsp中識別不了,所以implementationg依賴后驻售,把implementationg替換成compileOnly lsposed就可以識別了(太麻煩了)最主要的是為什么compileOnly 'de.robv.android.xposed:api:82'在build.gradle依賴不了不太清楚(如果你的可以就不用這么麻煩) 在著compileOnly 的依賴是不會放入apk中的所以每次虛擬機重啟的時候都會消失,要重新上面一次操作托猩,先編譯implementationg的青抛,后刪掉implementationg,再編譯compileOnly匾鸥。
當你設(shè)置 xposed的build.gradle后下載可能會出現(xiàn)問題
這個可能就是Android studio代理的問題了
? ? 解決方法關(guān)掉代理
然后去C:\Users\Administrator\.gradle? 把gradle.properties里的
systemProp.http.proxyPort=80?
systemProp.https.proxyHost=mirrors.neusoft.edu.cn?
systemProp.https.proxyPort=80
這三個注釋掉
重啟Android studio 在繼續(xù)下載就可以了蜡塌,如果還是不行看看build.gradle文件中的jdk是不是1.8
上面完成后開始設(shè)置xposed的代碼:
于MainActivity同包新建一個類
然后在main里建一個assets包在assets包里設(shè)置xposed_init.txt文件
xposed_init.txt:?
設(shè)置你定義的Xposed類,這是lsposed進入程序口 運行這個app
在lsposed中激活他,并且選擇hook的程序勿负,準備好后重啟模擬器馏艾,重啟后可以點擊你的practicexposed應(yīng)用或者我選擇的cmdshell應(yīng)用,在Android studio 的logcat上看日記