温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android 浏览器的研究(六)--- ADT调试通过Intent启动的Activity

发布时间:2020-08-05 04:56:38 来源:网络 阅读:381 作者:孙洪波 栏目:移动开发

   今天遇到一个问题,在音乐应用里长按一个歌曲,在弹出菜单中选择搜索,在搜索选择框中选择浏览器。正常情况下应该打开浏览器并且使用默认的搜索引擎启动搜索,但是现在浏览器搜索界面并没有打开。首先想到的是打开浏览器工程,在相关位置设置断点,启动调试,发现一切处理正常,浏览器界面打开并正常启动了搜索过程。原来问题只发生在浏览器进程尚未启动,音乐应用使用Intent启动浏览器来进行搜索的情况下。这里分享一下这种情况下如何启动调试分析。

   首先,该应用是其他应用通过Intent启动的,而我们需要调试它。在C/C++的程序调试的时候,遇到这种情况我们一般将调试器是attach到给定的进程号上实现调试的,实际上ADT也是支持这种场景的:打开浏览器APK工程,打开DDMSPerspective, 如果当前浏览器已经运行,在Devices视图里点击你的应用,这个时候Devices视图里的绿色的小虫子按钮就会变成Active 状态,点击它就可以Attach 到该进程进行调试,如图:

Android 浏览器的研究(六)--- ADT调试通过Intent启动的Activity

其次,你的应用可能在启动后很快结束,你还没来得及Attach到它(在attach到它之前你的断点不起作用)。你需要你的应用等你一下,让你来得及attach到它。最简单的办法就是在你的断点前Sleep一下,或者使用其它合适的同步方案(传统应用里我们通常是通过读一个键盘输入来同步)。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI