利用shell命令实现Eeclipse对Android的远程调试

利用shell命令实现Eeclipse对Android的远程调试,第1张

这篇文章主要讲如何自己来做一个apk实现远程调试,也就是说我们先自己写一个apk来控制是否启用远程调试的功能,然后通过这个apk来启用远程调试,接着基于远程adb的方式来调试以后的程序。听起来真TM绕口。没关系,跟着看就行了。实现这个目标分为3步。

好吧,这个逼格的东西并不需要你多么的了解,我们只需要知道几条基本的命令。

设置adb的调试端口,当端口>-1的时候,adb是wifi调试,我们默认的一般将端口设置为5555

setprop service.adb.tcp.port 5555

对应的将端口设置为-1或者更小的数值,则将调试方式变为了usb调试

setprop service.adb.tcp.port -1

关闭adb

stop adbd

打开adb

start adbd

好了有了这几个命令的基础,就可以实现usb和wifi调试方式的转换了

怎么执行,鬼才管呢。我又不是搞底层的。对于执行shell命令,自有高手早已写好的工具类,这里将源码贴上

我们需要用到的方法是

解释下三个参数的意思

参数1:需要执行的命令数组

参数2:是否已经root过。oh天,忘了说,你的手机必须要先root才能来做这件事情,至于root的方式,太多了,什么root大师,xx大师。

参数3:是否需要返回结果,这个可有可无,如果你选择返回结果,我想多半是你想知道这些命令有没有执行成功,你只需要判断

CommandResult .result

的值是否为0,对的,linux就是这样,等于0就是成功了的意思

ok,剩下的活你应该会做了,写一个button控件,监听点击事件,在事件中调用这个方法。至于参数一怎么写,当需要打开wifi调试的时候就这样写

当需要关闭wifi调试的时候,只需要将5555改为-1就行

好的,现在你可以将apk编译到你的手机上,并且打开wifi调试,接着在如下目录

你可以通过 shift+右键 的方式有个“在此处打开命令行”。然后输入

adb connect xxxx

xxxx 是你的手机ip,端口不用输,默认就是5555,手机ip你可以在设置-关于手机-手机状态 中找到

于是“噌”的一下,你的eclipse里的device窗口就显示你的破手机已经连接上了,现在你可以丢掉数据线,静静的装逼了。真是有逼格的烧连啊。

断开连接,你可以在手机上断开,也可以在pc上通过

来断开,当然在手机上断开保险一点。

好的,有问题的同学可以留言,啊哈哈哈哈哈,这都不会,你好笨啊。

方法一:sh -x script.sh

-x选项会将运行到的脚本内容显示在屏幕上,前面有个+号。这样就知道哪句被执行到了。对调试很有帮助。

方法二:在脚本中使用debug开关

适用于只调试部分脚本的情况。

set -x

......(要调试的代码段)

set +x

然后sh script.sh运行脚本

方法三:在脚本中添加打印

比如搞个log输出函数,专门用于打印调试相关信息。

_log()

{

if [ "$_DEBUG" = "true" ]then

echo "调试信息"

fi

}

只要在外面控制$_DEBUG开关即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11639589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存