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



Logo

更多推荐