这部分主要涉及到dalvik虚拟机,自己编写的jni及so库,系统的Bionic库,系统的External软件。
一. dalvik虚拟机单步调试
1. 首先编译好dalvik
2. 在用gdb启动dalvik时,创建了一个脚本来进行环境配置,脚本名grund.sh,放于Android源码根目录。下面为脚本内容:注意必须包含下述几个jar包: core ext dexopt framework android.policy services 编译后可能会在target那个目录下,复制过去即可
#!/bin/sh
base='/home/czwcarelife/code' //自己根据本地目录设定
root=$base/out/host/linux-x86 //不同得android源码,编译时候方法不同,导致这个可能也需要改变
export ANDROID_ROOT=$root
bootpath=$root/famework
export BOOTCLASSPATH=$bootpath/core.jar:$bootpath/ext.jar:$bootpath/framework.jar:$bootpath/android.police.jar
export ANDROID_DATA=/tmp/dalvik_test
mkdir -p $ANDROID_DATA/dalvik-cache
exec gdb $root/bin/dalvikvm //同第二点
- 3.开始调试
- 准备一个hello.java,编译后将hello.jar拷贝至Android 源码根目录。