1). 参考前面一篇博文在win10中安装windows的 linux 子系统 (180M左右)
2). 在 linux 子系统中运行些指令
3). 修改一点点 andbug 源码(python)
安装 源码管理、编译器等相关的工具:
sudo su
apt-get install git
apt-get install gcc
apt-get install Python-dev python-pyrex
AndBug 源码下载:
git clone https://github.com/anbc/AndBug/
在 /AndBug/lib/andbug/config.py 中修正 monitor_fun.conf 路径
安装 AndBug:
python setup.py install
测试运行 andbug
./andbug
若有显示 andbug 的参数列表,说明安装成功
至于 adb , 一定要确保 windows 本身的adb版本, 跟 linux 子系统中的 adb 版本是一致,
才能在 linux 子系统中用adb连接上手机~
ADB 和 Fastboot for Windows
https://dl.google.com/android/repository/platform-tools-latest-windows.zip
ADB 和 Fastboot for Linux
https://dl.google.com/android/repository/platform-tools-latest-linux.zip
都是最新版的 adb 1.0.39
若有其它版本的 adb 在运行,可以:
adb kill-server #把它关掉
网上有人说 andbug 在 windows 下的 linux 环境中不可用。
这是因为 andbug 默认是使用 *nix localfilesystem 的方式来做 adb 端口转发,
而 windows 中根本没有办法支持这种试, 所以只要改一点点 andbug 代码,让其使用 tcp 端口来做转发就没问题了。。。
修改如下:
文件: E:\Bash\AndBug\lib\andbug\proto.py
将 forward 函数那一段改成下面的即可!
def forward(pid, dev=None):
'constructs an adb forward for the context to access the pid via jdwp'
if dev:
dev = andbug.util.find_dev(dev)
pid = andbug.util.find_pid(pid)
#temp = tempfile.mktemp() #创建一个临时文件
cmd = ('-s', dev) if dev else () #'-s', 'emulator-5554'
#cmd += ('forward', 'localfilesystem:' + temp, 'jdwp:%s' % pid) #'-s', 'emulator-5554', 'forward', 'localfilesystem:/tmp/tmpSSCNAl', 'jdwp:843')
cmd += ('forward', 'tcp:23946', 'jdwp:%s' % pid) #'-s', 'emulator-5554', 'forward', 'tcp:23946', 'jdwp:843')
andbug.util.adb(*cmd)
return 23946
修改完重新安装:
sudo ./setup.py clean
sudo ./setup.py install
andbug 使用:
# export PATH="$PATH:/mnt/e/Bash/AndBug"
ln -s /mnt/e/Bash/platform-tools/adb /usr/bin/adb
./andbug shell -p 7052
应用断住后查看变量:http://localhost:8080