Smali动态调试方法
16lz
2021-01-26
准备工具:
apktool
eclipse
调试步骤:
1.对apk使用apktool反编译出可调试的smali代码到testout文件夹
apktoold的-dtest.apk-otestout注意-d参数是生成可调试代码2,在AndroidManifest.xml中,设置application为可调试:android:debuggable="true"3,找到Lancher入口4,在入口类的OnCreate方法中,在第一句前插入invoke-static{},Landroid/os/Debug;->waitForDebugger()V记得添加a=0;以上2-4步也可以用shell命令:amstart-D-n包名/类名进入调试等待5,重新打包,记得仍然用-d参数apktooldb-dtestout-odebug.apk6,重签名7,安装apk,并启动,此时程序触发调试点8,打开eclipse,导入smali工程1)File->New->Project->JavaProject->Next2)ProjectName随便起,Usedefaultlocation选项去掉,Location选择out文件夹,然后Next3)把smali文件夹设为SourceFolder,然后Finish9,下断点10,打开DDMS,查看待调试程序的端口,860011,回到eclipse,配置远程调试1)菜单Run->Debug->DebugConfigurations2)双击RemoteJavaApplication,Host处默认localhost就行,Port填第10步得到的8600,然后Apply->Debug。
更多相关文章
- 在vs2012中用C#开发Android应用Xamarin环境搭建
- Android调试.so库常用工具
- andriod ADT环境安装 could find 盘符:\android_sdk\tools\ad
- Android(安卓)通过wifi调试程序
- Android(安卓)Studio真机调试方法
- 模拟器上调试android launcher---android launcher移植之(三)
- Android(安卓)wpa_cli 调试方法(adb shell 命令)
- Eclipse中跟踪调试Android源代码
- FAQ_11_解决ADT的Logcat罢工问题