AndroidStudio 動(dòng)態(tài)調(diào)試

上篇文章簡(jiǎn)單介紹了apktool的使用
方法,本片文章主要介紹無(wú)源碼動(dòng)態(tài)調(diào)試。

為何要使用無(wú)源碼動(dòng)態(tài)調(diào)試

目前很多app都針對(duì)反編譯及二次打包做了處理,想要使用源碼進(jìn)行調(diào)試需要花費(fèi)很多時(shí)間,需要反編譯app,設(shè)置為可調(diào)試狀態(tài),重新打包。而使用動(dòng)態(tài)調(diào)試,只需要smali文件及原始app即可,雖然smali文件的可讀性較差些,需要對(duì)比源碼來(lái)進(jìn)行。

準(zhǔn)備工作:

1.apktool 反編譯出的smali文件
2.jadx 查看源代碼
3.root 手機(jī)
4.Android Studio

前兩步比較簡(jiǎn)單,上篇文章已經(jīng)介紹過(guò)了,動(dòng)態(tài)調(diào)試需要運(yùn)行app,我選擇的是模擬器,國(guó)內(nèi)的很多模擬器做的比官方的還要好......,基本自帶root,只要將設(shè)備的secure 關(guān)閉即可。

手機(jī) root

我使用的是setprops,按照文檔操作生成setprops,并拷貝到手機(jī)的data/local/tmp/ 目錄下,然后關(guān)閉secure ./setprops ro.secure 0 打開(kāi)debugable 即可。

接下來(lái)以debug模式運(yùn)行你要調(diào)試的app

adb shell am start -D -n com.xxx/.modules.main.SplashActivity

查找應(yīng)用進(jìn)程的端口并進(jìn)行轉(zhuǎn)發(fā) adb forward tcp:8700 jdwp:3296

修改系統(tǒng)屬性的方式,每次重啟都會(huì)失效,不過(guò)操作很簡(jiǎn)單,修改鏡像的方式可以一勞永逸但是較為麻煩。

AndroidStudio導(dǎo)入工程

首先創(chuàng)建一個(gè)目錄 DebugApp,并創(chuàng)建src 子目錄,將你反編譯后的工程復(fù)制到src目錄下。

studio 導(dǎo)入


image.png

一路next。

src 目錄右鍵

image.png

設(shè)置為source root,我這里已經(jīng)設(shè)置了,所以沒(méi)有這個(gè)選項(xiàng)。

然后設(shè)置sdk


image.png

之后配置調(diào)試


image.png
image.png

添加一個(gè)remote 并設(shè)置端口。

準(zhǔn)備工作完成,在需要調(diào)試的smali代碼里打斷點(diǎn),然后 run->debug即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容