第8章android动态调试
环境配置
1、 Ubuntu 15.10 系统IP:192.168.153.130
1、 andriod动态调试支持
1) 启动andriod虚拟机
2) 使用adb命令查看jdwp线程
root@strom-virtual-machine:~# adb shell getprop ro.debuggable
1
这里的“1”表示开启调试功能
2、 代码入注,吐出注册码
1) apktool 解包
root@strom-virtual-machine:~/apktool/app# apktool d -fapp-release.apk
2) 查看MainActivity$1.smali代码
3) 修改line42代码加入如下:
4) 进行重新打包apk
root@strom-virtual-machine:~/apktool/app# apktool b -f app-release
I: Using Apktool 2.0.3
I: Smaling smali folder into classes.dex...
I: Building resources...
I: Building apk file...
5) 安装apk包到andriod虚拟机中
root@strom-virtual-machine:~/apktool/app/app-release/dist#
adb install app-release_sign.apk
1603 KB/s (236634 bytes in 0.144s)
pkg: /data/local/tmp/app-release_sign.apk
Success
6) 执行安装完的程序
输入用户名“admin”和任意的注册码
7) 输入adb命令查看注册码的MD5加密信息
root@strom-virtual-machine:~/apktool/app/app-release/dist# adblogcat -s SN:v
--------- beginning of main
--------- beginning of system
03-18 05:39:08.297 2563 2563 V SN : 21232f297a57a5a743894a0e4a801fc3
3、 栈跟踪法
1) apktool 解包
root@strom-virtual-machine:~/apktool/app# apktool d -fstackTrace.apk
2) 查看smail文件
3) 修改smail文件
4) 重新打包
root@strom-virtual-machine:~/apktool/app#apktool b -f stackTrace
5) 安装打包签名后的apk程序
root@strom-virtual-machine:~/apktool/app# adb installstackTrace_sign.apk
1341 KB/s (159647 bytes in 0.116s)
pkg: /data/local/tmp/stackTrace_sign.apk
Success
6) 查看logcat信息
root@strom-virtual-machine:~#adb logcat -s System.err:V *:W
7) 查询smail 方法的onCreate 内容
4、 Method Profiling调试方法
1) 开启andriod虚拟机
2) 安装apk程序
root@strom-virtual-machine:~/AndroidStudioProjects/methodProfiling/app#adb install app-release.apk
adb server is out of date. killing...
* daemon started successfully *
1463 KB/s (236161 bytes in 0.157s)
pkg: /data/local/tmp/app-release.apk
Success
3) 使用MethodProfiling调试
4) 运行程序,程序运行完后“stopMethod prifiling”
5) 查看trace日志