调试命令相关
ubuntu12.04 真机调试时无法找到
在 ubuntu12.04 上进行 android 程序调试时找不到 信息,可以采用以下方式解决此问题.
1)在命令行中输入 lsusb,查看 ID,截图如下:
我的 是 TCL,所以 ID 是:0451
2)cd etc/udev/rules.d/
然后修改文件,我的是 70-persistent-cd.rules,不同的 ubuntu 版本可能不同
sudo gedit 70-persistent-cd.rules,在文件末尾加上下面这句话:
SUBSYSTEM “usb”,SYSFS{"TCL"}=="0451",MODE="0666"
保存 ,接下来修改文件权限:
sudo chmod 777 /etc/udev/rules.d/70-persistent-cd.rules
3)sudo service udev restart
然后切换到 adb 所在目录执行如下命令:
adb kill-server
adb start-server
此时,输入 adb devices 应该可以看到 信息了:
如果还是不行的话,重新插一次 应该就 OK 了。
备注:修改有些地方需要用 root 权限。
真机调试及一些 adb 常用命令
真机动态调试的步骤:
1.保证 Root;
2.数据线将电脑和 连接,并在 的开发选项里打开调试模式;
3.将 系统数据(在Root 下 用RE 查看)根目录下的 p 文件中的内容修改为
ro.secure=1
ro.adb.secure=1
ro.debuggable=1
运行 adb devices ,查看是否能够识别成功,成功的标识为:
C:\Users\Administrator>adb devices
List of devices attached
305e97ad device
这样就可以在DDMS 中看到连接的真机。
IDA调试真机的步骤:
1.先将 IDA的Android 调试服务相关的文件 android_server (在IDA的根目录下)移动到 路径 /data/local/tmp/ 文件夹
下;
2.运行命令 adb shell ,若 屏幕上权限获取的提醒 则允许,即赋予 shell Root 权限;
3.要想 IDA 需要继续进行以下操作。
修改文件权限:adb shell chmod 755 /data/local/tmp/android_server
获取 su 权限:su
映射到 IDA服务路径:cd /data/local/tmp
打开 IDA服务:./android_server
所以操作正确时 CMD 窗口应该显示为:
C:\Users\Administrator>adb shell
shell@android:/ $ su
su
shell@android:/ # cd /data/local/tmp
cd /data/local/tmp
shell@android:/data/local/tmp # ./android_server
./android_server
IDA Android 32-bit remote debug server(ST) v1.14. Hex-Rays (c) 2004-2011
Host (04): Listening on port #23946...
然后在打开一个 CMD 窗口,输入:
adb forward tcp:23946 tcp:23946
进行端口转发。到这里 我们环境配置就完成了。
打开 IDA,Debugger-->Attach-->Remote ARMlinux/Android debugger,然后在设置中填写:
Hostname:localhost
Port:23946
点击“ok”,加载完成之后就会跳出铺满真机中已运行程序的窗口。
adb 的一些常用命令
Android 调试桥(adb)是多种用途的工具,该工具可以帮助你管理设备或者模拟机的状态。它是一个 端-服务端器程序,其中
端是你用来操作的电脑, 端是Android 设备。可以通过下列几种方法加入adb:
·在设备上运行shell 命令;
·通过端口转发来管理模拟器或者设备;
·从模拟器或者设备上拷贝来或拷贝走文件