安卓手机怎么打开adb调试,android debug调试
小工具和adb脚本改变手机调试模式。最近用ddms调试的时候,需要把手机换成调试模式。然后,在网上找了一些资料,不尽如人意。我东拼西凑,在论坛里弄了个看雪的小工具。然后我写了一个脚本,发现常用的终端命令有几个漏洞。这里有一张唱片。
Ddms调试在没有apk进程信息的情况下工作时,您需要使用DDMS或监视器来调试apk进程。用模拟器的时候还好,但是用真机调试的时候发现apk进程的信息很多情况下无法显示,如下图。
这个问题有两个解决方案。一种是修改apk,将其xml文件的一个属性更改为debug模式,这样就可以在ddms上看到它。很多人在开发Android的时候都会开启这个属性,方便调试。当然,开发之后,很多开发者出于安全考虑会关闭这个功能。所以有时候这种方式并不是万能的。当我们需要调试别人的apk时(有时候要用真机调试),要改变apk的这个属性并不容易。这个时候,我们需要第二种方法来解决这个问题。第二种方法是将手机改为调试模式,这样所有的进程信息都会显示出来。如何看手机是否处于调试模式?在adb下,输入以下命令查看移动电话的属性。如果值为1,则表示当前手机处于调试模式。
AdshellgetProp Ro。Debuggable修改了调试模式小工具,自己尝试了几种工具和方法。最后,我在看雪论坛的这个帖子上发现了一个非常有用的小工具。亲测有效。在下面的评论中写下如何使用它。需要的话自己下载就行了。使用工具后,使用getprop查看手机属性,已修改。
小提示:
1.修改手机调试属性后,有时需要再次拔掉或重启ddms才能显示所有apk进程;
2.手机关机重启后,调试性能失败,需要重新运行工具;
写python终端命令脚本,因为要实现傻逼操作,所以写了一个Python脚本。基本思想是封装终端中输入的各种命令。该脚本的基本框架如下:
#!/usr/healthy laver/env python #-*-编码:UTF-8-*-导入子进程导入OS导入sys #打印错误消息def printf _ error _ failed(message):failed= \ N \ N============shell=============\ N print(failed)print(原因是: message \n\ N) exit(-1)#终端输入命令def execute _ command(cmd string):build=sub process . popen(cmd string,shell=truePIPE ) (stdout,stderr)=build . communicate()build . wait()result=str(build . return code)if result!=0: printf_error_failed(错误:命令 cmdstring 失败!)返回stdoutif _ _ name _ _== _ _ main _ _ :print(======开始调试2phone!=======) #在这里输入你要实现的各种终端命令。使用了多个终端命令;单独execute _ command(你想要的外壳)print (=====debug2phone结束!=======)本来这个脚本经常直接用来在终端自动执行命令。结果这次这里出了问题。在这个修改debug的小工具中,需要输入adb shell命令,并输入后续操作的root权限(su)。但是,当使用python脚本执行时,它只能在adb shell命令完成并返回结果后执行下一个命令。那么问题就出来了。我们接下来的操作直到adb shell返回结果才执行,而是在adb shell中执行,所以这个脚本是无效的。
Python脚本实现adb等终端命令。查了一些资料,终于找到了解决问题的办法。很简单的操作。我们只需要把需要运行的终端命令写在任何文件里(我用的是txt文件),用enter把命令分开。然后,在执行python的脚本时,只需通过链接文件来运行脚本即可。如下图所示:
这是需要运行的终端命令文件,phone.txt
然后稍微修改一下上面的脚本,改成文件链接的形式,链接之前保存的phone.txt。
好吧!搞定了。下次写剧本可以试试:-)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。