Android Studio 動態調試 apk 反編譯出的 smali 代碼

在smali動態調試的時候,Android Studio出現了connect reset的問題。查閱資料:www.cnblogs.com/yhjoker/p/8…html

一些可能錯誤java

  經過 Android Studio 的菜單欄 run -> debug "xxx" 啓動調試時,報錯"unable to open debugger port java.net.socketexception connection reset"android

  網上相關資料較少,但出現該問題時,須要注意是否待調試應用是處於可調試狀態的,對於以 adb shell am start -D 命令運行的應用,須要 ro.debuggable=1 或 android:debuggable=」true」,在不知足上述條件時,adb shell am start -D 命令不會報錯,可是經過 adb shell "ps -t | grep -A 8 package" 進行驗證時,會發現目標應用進程中不含有 JDWP 線程,此時不論如何進行設置,都沒法使得調試順序進行,Android Studio 中也會報上述錯誤。shell

  將移動設備的 ro.debuggable 設置爲 1 的方法,比較簡單的無需刷機的方法是安裝 xposed 框架( 須要 root 權限 ),以後經過已開發好的 xposed 模塊如 BuildProp Enhancer 設置 ro.debuggable 位,該方法一次重啓後便可生效,以後便可對應用進行調試。( 注意使用上述方法後,使用諸如 adb shell "getprop ro.debuggable"命令時,返回的結果仍爲0,可是全部的應用確實處於可調試狀態)框架

  xposed 框架的安裝能夠參考 xposed 中文網站和 xposed 英文論壇,也可參考網上資料。socket

相關文章
相關標籤/搜索